zoukankan      html  css  js  c++  java
  • LwIP的编译记录

    1.准备好文件
    [plh@localhost LwIP_v2]$ ls
    contrib-2.1.0.zip lwip-2.1.2.zip
    [plh@localhost LwIP_v2]$ unzip contrib-2.1.0.zip
    [plh@localhost LwIP_v2]$ unzip lwip-2.1.2.zip
    [plh@localhost LwIP_v2]$ mv lwip-2.1.2 lwip

    2 调整好部分目录

    2.1 创建LwIP测试例程的编译目录

    1 [plh@localhost LwIP_v2]$ mkdir lwip_test_compile

    2.2 [复制LwIP测试例程到目标目录]

    1 [plh@localhost LwIP_v2]$ cp -r lwip/test/unit/ lwip_test_compile/

    2.3[重命名无关的目录]

    1 [plh@localhost LwIP_v2]$ mv lwip_test_compile/unit/arch/ lwip_test_compile/unit/arch.backup

    3.修改相关的文件

    3.1 修改 contrib-2.1.0/ports/unix/example_app/../../../examples/example_app/lwipopts.h

    1 [修改 contrib-2.1.0/ports/unix/example_app/../../../examples/example_app/lwipopts.h]
    2 #define PPP_SUPPORT             0  // 以前是1
    3 #define NO_SYS                  1  // 以前是0

    3.2 修改 lwip/src/include/lwip/snmp.h

    1 [修改 lwip/src/include/lwip/snmp.h 以解决 sys_now() 未定义的声明 错误]
    2 #ifndef MIB2_COPY_SYSUPTIME_TO
    3 #if NO_SYS /*New Line*/
    4 #define MIB2_COPY_SYSUPTIME_TO(ptrToVal) (*(ptrToVal) = (1 / 10)) /*New Line*/
    5 #else /*New Line*/
    6 #define MIB2_COPY_SYSUPTIME_TO(ptrToVal) (*(ptrToVal) = (sys_now() / 10))
    7 #endif /*New Line*/
    8 #endif

    3.3 修改 lwip/src/core/timeouts.c

    1 [修改 lwip/src/core/timeouts.c 以解决 sys_now() 未定义的声明 错误]
    2 #if NO_SYS /*New Line*/
    3 u32_t sys_now(void){ /*New Line*/
    4     return 1; /*New Line*/
    5 } /*New Line*/
    6 #endif /*New Line*/

    3.4 [修改lwip_test_compile/unit/lwip_check.h中关于tcase_add_named_test的定义]

    1 /* Modified function from check.h, supplying function name */
    2 /*
    3 #define tcase_add_named_test(tc,tf) 
    4    _tcase_add_test((tc),(tf).func,(tf).name,0, 0, 0, 1)
    5 */
    6 #define tcase_add_named_test(tc,tf)    // New Line
    7    _tcase_add_test((tc),(tf).func,0, 0, 0, 1) // New Line

    3.5 [修改lwip_test_compile/unit/lwip_check.h 增加如下行]

    1 extern unsigned int lwip_sys_now;

    3.6 [修改lwip_test_compile/unit/lwip_unittests.c 增加如下行]

    1 unsigned int lwip_sys_now = 0;

    3.7 [修改lwip_test_compile/unit/lwip_unittests.c, 屏蔽掉如下功能测试]

     1 suite_getter_fn* suites[] = {
     2 //  ip4_suite,
     3 //  ip6_suite,
     4     udp_suite,
     5 //  tcp_suite,
     6     tcp_oos_suite,
     7     def_suite,
     8 //  mem_suite,
     9     netif_suite,
    10 //  pbuf_suite,
    11 //  timers_suite,
    12 //  etharp_suite,
    13     dhcp_suite,
    14     mdns_suite
    15 //  mqtt_suite,
    16 //  sockets_suite
    17 };
    18  

    3.8 [修改 lwip_test_compile/unit/lwip_unittests.c ]

     1 void lwip_check_ensure_no_alloc(unsigned int skip)
     2 {
     3 #if 0 /*New Line*/
     4   int i;
     5   unsigned int mask;
     6 
     7   if (!(skip & SKIP_HEAP)) {
     8     fail_unless(lwip_stats.mem.used == 0);
     9   }
    10   for (i = 0, mask = 1; i < MEMP_MAX; i++, mask <<= 1) {
    11     if (!(skip & mask)) {
    12       fail_unless(lwip_stats.memp[i]->used == 0);
    13     }
    14   }
    15 #endif /*New Line*/
    16 }

    4. [重新编译lwip的静态库文件]

     1 /*屏蔽*/
     2 [plh@localhost LwIP_v2]$ vi contrib-2.1.0/ports/CMakeCommon.cmake
     3 ./ports/CMakeCommon.cmake:30:    -Werror 
     4 ./ports/CMakeCommon.cmake:48:    -Wlogical-not-parentheses 
     5 ./ports/CMakeCommon.cmake:65:    -Wc90-c99-compat 
     6 /*解决httpc_state_t的重定义问题*/
     7 [plh@localhost LwIP_v2]$ vi lwip/src/apps/http/http_client.c
     8 [plh@localhost LwIP_v2]$ vi lwip/src/include/lwip/apps/http_client.h
     9 /*解决找不到头文件"lwipcfg.h"的问题*/
    10 [plh@localhost LwIP_v2]$ mv contrib-2.1.0/examples/example_app/lwipcfg.h.example contrib-2.1.0/examples/example_app/lwipcfg.h
    11 /*开始编译*/
    12 [plh@localhost LwIP_v2]$ mkdir contrib-2.1.0/ports/unix/example_app/build
    13 [plh@localhost LwIP_v2]$ cd contrib-2.1.0/ports/unix/example_app/build
    14 [plh@localhost build]$ cmake ..
    15 [plh@localhost build]$ make
    16 /*编译成功后的输出文件*/
    17 [plh@localhost build]$ ls -al lib*
    18 -rw-rw-r--. 1 plh plh  771470 12月 23 19:16 liblwipallapps.a
    19 -rw-rw-r--. 1 plh plh   17648 12月 23 19:16 liblwipcontribaddons.a
    20 -rw-rw-r--. 1 plh plh   73976 12月 23 19:16 liblwipcontribapps.a
    21 -rw-rw-r--. 1 plh plh   75650 12月 23 19:16 liblwipcontribexamples.a
    22 -rw-rw-r--. 1 plh plh   68446 12月 23 19:16 liblwipcontribportunix.a
    23 -rw-rw-r--. 1 plh plh 1414320 12月 23 19:15 liblwipcore.a
    24 [plh@localhost build]$ ls -al example_app
    25 -rwxrwxr-x. 1 plh plh 523376 12月 23 19:16 example_app
    26 [plh@localhost build]$ ls -al makefsdata
    27 -rwxrwxr-x. 1 plh plh 58208 12月 23 19:16 makefsdata
    LwIP的静态库编译

    5. [创建好如下结构的目录 ]

    1 [plh@localhost LwIP_v2]$ cd lwip_test_compile
    2 [plh@localhost lwip_test_compile]$ mkdir lib
    3 [plh@localhost lwip_test_compile]$ mkdir objs
    4 [plh@localhost lwip_test_compile]$ touch Makefile

    6. [把编译好的check头文件和库 lwip静态库复制到lib目录]

     1 [plh@localhost lwip_test_compile]$ ls -al lib/
     2 总用量 2760
     3 drwxrwxr-x. 2 plh plh    4096 12月 23 19:28 .
     4 drwxrwxr-x. 5 plh plh      57 12月 23 19:36 ..
     5 -rw-rw-r--. 1 plh plh   72791 12月 23 19:27 check.h
     6 -rw-rw-r--. 1 plh plh    1400 12月 23 19:27 check_stdint.h
     7 -rw-rw-r--. 1 plh plh   11048 12月 23 19:27 config.h
     8 -rw-rw-r--. 1 plh plh  181276 12月 23 19:27 libcheck.a
     9 lrwxrwxrwx. 1 plh plh      18 12月 23 19:28 libcheck.so -> libcheck.so.0.15.2
    10 lrwxrwxrwx. 1 plh plh      18 12月 23 19:28 libcheck.so.0 -> libcheck.so.0.15.2
    11 -rwxrwxr-x. 1 plh plh  107792 12月 23 19:27 libcheck.so.0.15.2
    12 -rw-rw-r--. 1 plh plh  771470 12月 23 19:28 liblwipallapps.a
    13 -rw-rw-r--. 1 plh plh   17648 12月 23 19:28 liblwipcontribaddons.a
    14 -rw-rw-r--. 1 plh plh   73976 12月 23 19:28 liblwipcontribapps.a
    15 -rw-rw-r--. 1 plh plh   75650 12月 23 19:28 liblwipcontribexamples.a
    16 -rw-rw-r--. 1 plh plh   68446 12月 23 19:28 liblwipcontribportunix.a
    17 -rw-rw-r--. 1 plh plh 1414320 12月 23 19:28 liblwipcore.a
    lwIP静态库和check静态库

    7. [编译]

    1 [plh@localhost lwip_test_compile]$ make

    8. [编译成功后的输出文件是]

     1 [plh@localhost lwip_test_compile]$ ls -al bin
     2 -rwxrwxr-x. 1 plh plh 723136 12月 23 19:38 bin
     3 [plh@localhost lwip_test_compile]$ sudo ./bin
     4 Running suite(s): UDP
     5  TCP_OOS
     6  DEF
     7  NETIF
     8  DHCP
     9 Assertion "overload in file/sname" failed at line 1617 in /tmp/LwIP_v2/lwip/src/core/ipv4/dhcp.c
    10  MDNS
    11 95%: Checks: 60, Failures: 2, Errors: 1
    12 /tmp/LwIP_v2/lwip_test_compile/unit/tcp/test_tcp_oos.c:506:F:TCP_OOS:test_tcp_recv_ooseq_overrun_rxwin:0: Assertion 'count == k+1' failed
    13 /tmp/LwIP_v2/lwip_test_compile/unit/tcp/test_tcp_oos.c:593:F:TCP_OOS:test_tcp_recv_ooseq_overrun_rxwin_edge:0: Assertion 'count == k+1' failed
    14 /tmp/LwIP_v2/lwip_test_compile/unit/dhcp/test_dhcp.c:159:E:DHCP:test_dhcp_invalid_overload:0: (after this point) Received signal 6 (Aborted)
    15 [plh@localhost lwip_test_compile]$ ls -al lwip_unittests.xml
    16 -rw-r--r--. 1 root root 19205 12月 23 19:39 lwip_unittests.xml
    编译成功后的输出文件

    9.记录编译过程中自编写的其他文件

    9.1.Makefile

     1 CC = /usr/bin/cc 
     2 FLAGS = -DLWIP_DEBUG 
     3 DIR = /tmp/LwIP_v2
     4 
     5 LWIP_TESTDIR = $(DIR)/lwip_test_compile/unit
     6 L_DIR = $(LWIP_TESTDIR)/../lib
     7 O_DIR = $(LWIP_TESTDIR)/../objs
     8 
     9 
    10 H += -I$(DIR)/contrib-2.1.0/ports/unix/example_app/../../../../lwip/src/include 
    11 H += -I$(DIR)/contrib-2.1.0/ports/unix/example_app/../../..
    12 H += -I$(DIR)/contrib-2.1.0/ports/unix/example_app/../../../ports/unix/port/include 
    13 H += -I$(DIR)/contrib-2.1.0/ports/unix/example_app/../../../examples/example_app  
    14 H += -I$(L_DIR)
    15 
    16 
    17 L += $(L_DIR)/liblwipcontribexamples.a 
    18 L += $(L_DIR)/liblwipcontribapps.a 
    19 L += $(L_DIR)/liblwipcontribaddons.a 
    20 L += $(L_DIR)/liblwipallapps.a 
    21 L += $(L_DIR)/liblwipcontribportunix.a 
    22 L += $(L_DIR)/liblwipcore.a 
    23 L += $(L_DIR)/libcheck.a
    24 L += /usr/lib64/libutil.so 
    25 L += /usr/lib64/librt.so
    26 L += -lpthread 
    27 L += -lm
    28 
    29 OBJS += $(O_DIR)/lwip_unittests.o
    30 OBJS += $(O_DIR)/test_def.o
    31 OBJS += $(O_DIR)/test_netif.o 
    32 OBJS += $(O_DIR)/test_dhcp.o
    33 OBJS += $(O_DIR)/test_mdns.o
    34 OBJS += $(O_DIR)/tcp_helper.o
    35 OBJS += $(O_DIR)/test_tcp_oos.o
    36 OBJS += $(O_DIR)/test_udp.o 
    37 
    38 all: unit_objs
    39     $(CC) -o bin $(OBJS) $(L) 
    40 
    41 unit_objs:
    42     $(CC) $(H) $(FLAGS) -o $(O_DIR)/lwip_unittests.o -c $(LWIP_TESTDIR)/lwip_unittests.c
    43 #    $(CC) $(H) $(FLAGS) -o $(O_DIR)/test_sockets.o -c $(LWIP_TESTDIR)/api/test_sockets.c
    44 #    $(CC) $(H) $(FLAGS) -o $(O_DIR)/sys_arch.o -c $(LWIP_TESTDIR)/arch/sys_arch.c
    45     $(CC) $(H) $(FLAGS) -o $(O_DIR)/test_def.o -c $(LWIP_TESTDIR)/core/test_def.c
    46 #    $(CC) $(H) $(FLAGS) -o $(O_DIR)/test_mem.o -c $(LWIP_TESTDIR)/core/test_mem.c
    47     $(CC) $(H) $(FLAGS) -o $(O_DIR)/test_netif.o -c $(LWIP_TESTDIR)/core/test_netif.c
    48 #    $(CC) $(H) $(FLAGS) -o $(O_DIR)/test_pbuf.o -c $(LWIP_TESTDIR)/core/test_pbuf.c
    49 #    $(CC) $(H) $(FLAGS) -o $(O_DIR)/test_timers.o -c $(LWIP_TESTDIR)/core/test_timers.c
    50     $(CC) $(H) $(FLAGS) -o $(O_DIR)/test_dhcp.o -c $(LWIP_TESTDIR)/dhcp/test_dhcp.c
    51 #    $(CC) $(H) $(FLAGS) -o $(O_DIR)/test_etharp.o -c $(LWIP_TESTDIR)/etharp/test_etharp.c
    52 #    $(CC) $(H) $(FLAGS) -o $(O_DIR)/test_ip4.o -c $(LWIP_TESTDIR)/ip4/test_ip4.c
    53 #    $(CC) $(H) $(FLAGS) -o $(O_DIR)/test_ip6.o -c $(LWIP_TESTDIR)/ip6/test_ip6.c
    54     $(CC) $(H) $(FLAGS) -o $(O_DIR)/test_mdns.o -c $(LWIP_TESTDIR)/mdns/test_mdns.c
    55 #    $(CC) $(H) $(FLAGS) -o $(O_DIR)/test_mqtt.o -c $(LWIP_TESTDIR)/mqtt/test_mqtt.c
    56     $(CC) $(H) $(FLAGS) -o $(O_DIR)/tcp_helper.o -c $(LWIP_TESTDIR)/tcp/tcp_helper.c
    57     $(CC) $(H) $(FLAGS) -o $(O_DIR)/test_tcp_oos.o -c $(LWIP_TESTDIR)/tcp/test_tcp_oos.c
    58 #    $(CC) $(H) $(FLAGS) -o $(O_DIR)/test_tcp.o -c $(LWIP_TESTDIR)/tcp/test_tcp.c
    59     $(CC) $(H) $(FLAGS) -o $(O_DIR)/test_udp.o -c $(LWIP_TESTDIR)/udp/test_udp.c
    Makefile

    9.2.lwip_unittests.xml

      1 <?xml version="1.0"?>
      2 <?xml-stylesheet type="text/xsl" href="http://check.sourceforge.net/xml/check_unittest.xslt"?>
      3 <testsuites xmlns="http://check.sourceforge.net/ns">
      4   <datetime>2020-12-23 19:39:08</datetime>
      5   <suite>
      6     <title>UDP</title>
      7     <test result="success">
      8       <path>/tmp/LwIP_v2/lwip_test_compile/unit/udp</path>
      9       <fn>test_udp.c:147</fn>
     10       <id>test_udp_new_remove</id>
     11       <iteration>0</iteration>
     12       <duration>0.000058</duration>
     13       <description>UDP</description>
     14       <message>Passed</message>
     15     </test>
     16     <test result="success">
     17       <path>/tmp/LwIP_v2/lwip_test_compile/unit/udp</path>
     18       <fn>test_udp.c:330</fn>
     19       <id>test_udp_broadcast_rx_with_2_netifs</id>
     20       <iteration>0</iteration>
     21       <duration>0.000518</duration>
     22       <description>UDP</description>
     23       <message>Passed</message>
     24     </test>
     25   </suite>
     26   <suite>
     27     <title>TCP_OOS</title>
     28     <test result="success">
     29       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
     30       <fn>test_tcp_oos.c:282</fn>
     31       <id>test_tcp_recv_ooseq_FIN_OOSEQ</id>
     32       <iteration>0</iteration>
     33       <duration>0.000837</duration>
     34       <description>TCP_OOS</description>
     35       <message>Passed</message>
     36     </test>
     37     <test result="success">
     38       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
     39       <fn>test_tcp_oos.c:452</fn>
     40       <id>test_tcp_recv_ooseq_FIN_INSEQ</id>
     41       <iteration>0</iteration>
     42       <duration>0.000953</duration>
     43       <description>TCP_OOS</description>
     44       <message>Passed</message>
     45     </test>
     46     <test result="failure">
     47       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
     48       <fn>test_tcp_oos.c:506</fn>
     49       <id>test_tcp_recv_ooseq_overrun_rxwin</id>
     50       <iteration>0</iteration>
     51       <duration>-1.000000</duration>
     52       <description>TCP_OOS</description>
     53       <message>Assertion &apos;count == k+1&apos; failed</message>
     54     </test>
     55     <test result="failure">
     56       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
     57       <fn>test_tcp_oos.c:593</fn>
     58       <id>test_tcp_recv_ooseq_overrun_rxwin_edge</id>
     59       <iteration>0</iteration>
     60       <duration>-1.000000</duration>
     61       <description>TCP_OOS</description>
     62       <message>Assertion &apos;count == k+1&apos; failed</message>
     63     </test>
     64     <test result="success">
     65       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
     66       <fn>test_tcp_oos.c:633</fn>
     67       <id>test_tcp_recv_ooseq_max_bytes</id>
     68       <iteration>0</iteration>
     69       <duration>0.000021</duration>
     70       <description>TCP_OOS</description>
     71       <message>Passed</message>
     72     </test>
     73     <test result="success">
     74       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
     75       <fn>test_tcp_oos.c:708</fn>
     76       <id>test_tcp_recv_ooseq_max_pbufs</id>
     77       <iteration>0</iteration>
     78       <duration>0.000021</duration>
     79       <description>TCP_OOS</description>
     80       <message>Passed</message>
     81     </test>
     82     <test result="success">
     83       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
     84       <fn>test_tcp_oos.c:959</fn>
     85       <id>test_tcp_recv_ooseq_double_FIN_0</id>
     86       <iteration>0</iteration>
     87       <duration>0.006774</duration>
     88       <description>TCP_OOS</description>
     89       <message>Passed</message>
     90     </test>
     91     <test result="success">
     92       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
     93       <fn>test_tcp_oos.c:959</fn>
     94       <id>test_tcp_recv_ooseq_double_FIN_1</id>
     95       <iteration>0</iteration>
     96       <duration>0.007141</duration>
     97       <description>TCP_OOS</description>
     98       <message>Passed</message>
     99     </test>
    100     <test result="success">
    101       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
    102       <fn>test_tcp_oos.c:959</fn>
    103       <id>test_tcp_recv_ooseq_double_FIN_2</id>
    104       <iteration>0</iteration>
    105       <duration>0.007740</duration>
    106       <description>TCP_OOS</description>
    107       <message>Passed</message>
    108     </test>
    109     <test result="success">
    110       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
    111       <fn>test_tcp_oos.c:959</fn>
    112       <id>test_tcp_recv_ooseq_double_FIN_3</id>
    113       <iteration>0</iteration>
    114       <duration>0.007709</duration>
    115       <description>TCP_OOS</description>
    116       <message>Passed</message>
    117     </test>
    118     <test result="success">
    119       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
    120       <fn>test_tcp_oos.c:959</fn>
    121       <id>test_tcp_recv_ooseq_double_FIN_4</id>
    122       <iteration>0</iteration>
    123       <duration>0.006549</duration>
    124       <description>TCP_OOS</description>
    125       <message>Passed</message>
    126     </test>
    127     <test result="success">
    128       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
    129       <fn>test_tcp_oos.c:959</fn>
    130       <id>test_tcp_recv_ooseq_double_FIN_5</id>
    131       <iteration>0</iteration>
    132       <duration>0.006794</duration>
    133       <description>TCP_OOS</description>
    134       <message>Passed</message>
    135     </test>
    136     <test result="success">
    137       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
    138       <fn>test_tcp_oos.c:959</fn>
    139       <id>test_tcp_recv_ooseq_double_FIN_6</id>
    140       <iteration>0</iteration>
    141       <duration>0.006962</duration>
    142       <description>TCP_OOS</description>
    143       <message>Passed</message>
    144     </test>
    145     <test result="success">
    146       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
    147       <fn>test_tcp_oos.c:959</fn>
    148       <id>test_tcp_recv_ooseq_double_FIN_7</id>
    149       <iteration>0</iteration>
    150       <duration>0.007116</duration>
    151       <description>TCP_OOS</description>
    152       <message>Passed</message>
    153     </test>
    154     <test result="success">
    155       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
    156       <fn>test_tcp_oos.c:959</fn>
    157       <id>test_tcp_recv_ooseq_double_FIN_8</id>
    158       <iteration>0</iteration>
    159       <duration>0.006401</duration>
    160       <description>TCP_OOS</description>
    161       <message>Passed</message>
    162     </test>
    163     <test result="success">
    164       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
    165       <fn>test_tcp_oos.c:959</fn>
    166       <id>test_tcp_recv_ooseq_double_FIN_9</id>
    167       <iteration>0</iteration>
    168       <duration>0.006557</duration>
    169       <description>TCP_OOS</description>
    170       <message>Passed</message>
    171     </test>
    172     <test result="success">
    173       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
    174       <fn>test_tcp_oos.c:959</fn>
    175       <id>test_tcp_recv_ooseq_double_FIN_10</id>
    176       <iteration>0</iteration>
    177       <duration>0.006361</duration>
    178       <description>TCP_OOS</description>
    179       <message>Passed</message>
    180     </test>
    181     <test result="success">
    182       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
    183       <fn>test_tcp_oos.c:959</fn>
    184       <id>test_tcp_recv_ooseq_double_FIN_11</id>
    185       <iteration>0</iteration>
    186       <duration>0.006632</duration>
    187       <description>TCP_OOS</description>
    188       <message>Passed</message>
    189     </test>
    190     <test result="success">
    191       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
    192       <fn>test_tcp_oos.c:959</fn>
    193       <id>test_tcp_recv_ooseq_double_FIN_12</id>
    194       <iteration>0</iteration>
    195       <duration>0.006357</duration>
    196       <description>TCP_OOS</description>
    197       <message>Passed</message>
    198     </test>
    199     <test result="success">
    200       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
    201       <fn>test_tcp_oos.c:959</fn>
    202       <id>test_tcp_recv_ooseq_double_FIN_13</id>
    203       <iteration>0</iteration>
    204       <duration>0.007017</duration>
    205       <description>TCP_OOS</description>
    206       <message>Passed</message>
    207     </test>
    208     <test result="success">
    209       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
    210       <fn>test_tcp_oos.c:959</fn>
    211       <id>test_tcp_recv_ooseq_double_FIN_14</id>
    212       <iteration>0</iteration>
    213       <duration>0.007085</duration>
    214       <description>TCP_OOS</description>
    215       <message>Passed</message>
    216     </test>
    217     <test result="success">
    218       <path>/tmp/LwIP_v2/lwip_test_compile/unit/tcp</path>
    219       <fn>test_tcp_oos.c:959</fn>
    220       <id>test_tcp_recv_ooseq_double_FIN_15</id>
    221       <iteration>0</iteration>
    222       <duration>0.007535</duration>
    223       <description>TCP_OOS</description>
    224       <message>Passed</message>
    225     </test>
    226   </suite>
    227   <suite>
    228     <title>DEF</title>
    229     <test result="success">
    230       <path>/tmp/LwIP_v2/lwip_test_compile/unit/core</path>
    231       <fn>test_def.c:27</fn>
    232       <id>test_def_lwip_itoa</id>
    233       <iteration>0</iteration>
    234       <duration>0.003787</duration>
    235       <description>DEF</description>
    236       <message>Passed</message>
    237     </test>
    238   </suite>
    239   <suite>
    240     <title>NETIF</title>
    241     <test result="success">
    242       <path>/tmp/LwIP_v2/lwip_test_compile/unit/core</path>
    243       <fn>test_netif.c:207</fn>
    244       <id>test_netif_extcallbacks</id>
    245       <iteration>0</iteration>
    246       <duration>0.000606</duration>
    247       <description>NETIF</description>
    248       <message>Passed</message>
    249     </test>
    250   </suite>
    251   <suite>
    252     <title>DHCP</title>
    253     <test result="success">
    254       <path>/tmp/LwIP_v2/lwip_test_compile/unit/dhcp</path>
    255       <fn>test_dhcp.c:243</fn>
    256       <id>test_dhcp</id>
    257       <iteration>0</iteration>
    258       <duration>0.001045</duration>
    259       <description>DHCP</description>
    260       <message>Passed</message>
    261     </test>
    262     <test result="success">
    263       <path>/tmp/LwIP_v2/lwip_test_compile/unit/dhcp</path>
    264       <fn>test_dhcp.c:561</fn>
    265       <id>test_dhcp_nak</id>
    266       <iteration>0</iteration>
    267       <duration>0.001142</duration>
    268       <description>DHCP</description>
    269       <message>Passed</message>
    270     </test>
    271     <test result="success">
    272       <path>/tmp/LwIP_v2/lwip_test_compile/unit/dhcp</path>
    273       <fn>test_dhcp.c:243</fn>
    274       <id>test_dhcp_relayed</id>
    275       <iteration>0</iteration>
    276       <duration>0.006705</duration>
    277       <description>DHCP</description>
    278       <message>Passed</message>
    279     </test>
    280     <test result="success">
    281       <path>/tmp/LwIP_v2/lwip_test_compile/unit/dhcp</path>
    282       <fn>test_dhcp.c:926</fn>
    283       <id>test_dhcp_nak_no_endmarker</id>
    284       <iteration>0</iteration>
    285       <duration>0.000352</duration>
    286       <description>DHCP</description>
    287       <message>Passed</message>
    288     </test>
    289     <test result="error">
    290       <path>/tmp/LwIP_v2/lwip_test_compile/unit/dhcp</path>
    291       <fn>test_dhcp.c:159</fn>
    292       <id>test_dhcp_invalid_overload</id>
    293       <iteration>0</iteration>
    294       <duration>-1.000000</duration>
    295       <description>DHCP</description>
    296       <message>Received signal 6 (Aborted)</message>
    297     </test>
    298   </suite>
    299   <suite>
    300     <title>MDNS</title>
    301     <test result="success">
    302       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    303       <fn>test_mdns.c:54</fn>
    304       <id>readname_basic</id>
    305       <iteration>0</iteration>
    306       <duration>0.000147</duration>
    307       <description>MDNS</description>
    308       <message>Passed</message>
    309     </test>
    310     <test result="success">
    311       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    312       <fn>test_mdns.c:73</fn>
    313       <id>readname_anydata</id>
    314       <iteration>0</iteration>
    315       <duration>0.000143</duration>
    316       <description>MDNS</description>
    317       <message>Passed</message>
    318     </test>
    319     <test result="success">
    320       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    321       <fn>test_mdns.c:90</fn>
    322       <id>readname_short_buf</id>
    323       <iteration>0</iteration>
    324       <duration>0.000123</duration>
    325       <description>MDNS</description>
    326       <message>Passed</message>
    327     </test>
    328     <test result="success">
    329       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    330       <fn>test_mdns.c:115</fn>
    331       <id>readname_long_label</id>
    332       <iteration>0</iteration>
    333       <duration>0.000121</duration>
    334       <description>MDNS</description>
    335       <message>Passed</message>
    336     </test>
    337     <test result="success">
    338       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    339       <fn>test_mdns.c:171</fn>
    340       <id>readname_overflow</id>
    341       <iteration>0</iteration>
    342       <duration>0.000158</duration>
    343       <description>MDNS</description>
    344       <message>Passed</message>
    345     </test>
    346     <test result="success">
    347       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    348       <fn>test_mdns.c:199</fn>
    349       <id>readname_jump_earlier</id>
    350       <iteration>0</iteration>
    351       <duration>0.000245</duration>
    352       <description>MDNS</description>
    353       <message>Passed</message>
    354     </test>
    355     <test result="success">
    356       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    357       <fn>test_mdns.c:228</fn>
    358       <id>readname_jump_earlier_jump</id>
    359       <iteration>0</iteration>
    360       <duration>0.000216</duration>
    361       <description>MDNS</description>
    362       <message>Passed</message>
    363     </test>
    364     <test result="success">
    365       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    366       <fn>test_mdns.c:262</fn>
    367       <id>readname_jump_maxdepth</id>
    368       <iteration>0</iteration>
    369       <duration>0.000150</duration>
    370       <description>MDNS</description>
    371       <message>Passed</message>
    372     </test>
    373     <test result="success">
    374       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    375       <fn>test_mdns.c:288</fn>
    376       <id>readname_jump_later</id>
    377       <iteration>0</iteration>
    378       <duration>0.000144</duration>
    379       <description>MDNS</description>
    380       <message>Passed</message>
    381     </test>
    382     <test result="success">
    383       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    384       <fn>test_mdns.c:307</fn>
    385       <id>readname_half_jump</id>
    386       <iteration>0</iteration>
    387       <duration>0.000122</duration>
    388       <description>MDNS</description>
    389       <message>Passed</message>
    390     </test>
    391     <test result="success">
    392       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    393       <fn>test_mdns.c:326</fn>
    394       <id>readname_jump_toolong</id>
    395       <iteration>0</iteration>
    396       <duration>0.000121</duration>
    397       <description>MDNS</description>
    398       <message>Passed</message>
    399     </test>
    400     <test result="success">
    401       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    402       <fn>test_mdns.c:346</fn>
    403       <id>readname_jump_loop_label</id>
    404       <iteration>0</iteration>
    405       <duration>0.000129</duration>
    406       <description>MDNS</description>
    407       <message>Passed</message>
    408     </test>
    409     <test result="success">
    410       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    411       <fn>test_mdns.c:366</fn>
    412       <id>readname_jump_loop_jump</id>
    413       <iteration>0</iteration>
    414       <duration>0.000124</duration>
    415       <description>MDNS</description>
    416       <message>Passed</message>
    417     </test>
    418     <test result="success">
    419       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    420       <fn>test_mdns.c:385</fn>
    421       <id>add_label_basic</id>
    422       <iteration>0</iteration>
    423       <duration>0.000107</duration>
    424       <description>MDNS</description>
    425       <message>Passed</message>
    426     </test>
    427     <test result="success">
    428       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    429       <fn>test_mdns.c:400</fn>
    430       <id>add_label_long_label</id>
    431       <iteration>0</iteration>
    432       <duration>0.000129</duration>
    433       <description>MDNS</description>
    434       <message>Passed</message>
    435     </test>
    436     <test result="success">
    437       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    438       <fn>test_mdns.c:450</fn>
    439       <id>add_label_full</id>
    440       <iteration>0</iteration>
    441       <duration>0.000206</duration>
    442       <description>MDNS</description>
    443       <message>Passed</message>
    444     </test>
    445     <test result="success">
    446       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    447       <fn>test_mdns.c:480</fn>
    448       <id>domain_eq_basic</id>
    449       <iteration>0</iteration>
    450       <duration>0.000121</duration>
    451       <description>MDNS</description>
    452       <message>Passed</message>
    453     </test>
    454     <test result="success">
    455       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    456       <fn>test_mdns.c:506</fn>
    457       <id>domain_eq_diff</id>
    458       <iteration>0</iteration>
    459       <duration>0.000114</duration>
    460       <description>MDNS</description>
    461       <message>Passed</message>
    462     </test>
    463     <test result="success">
    464       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    465       <fn>test_mdns.c:532</fn>
    466       <id>domain_eq_case</id>
    467       <iteration>0</iteration>
    468       <duration>0.000107</duration>
    469       <description>MDNS</description>
    470       <message>Passed</message>
    471     </test>
    472     <test result="success">
    473       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    474       <fn>test_mdns.c:564</fn>
    475       <id>domain_eq_anydata</id>
    476       <iteration>0</iteration>
    477       <duration>0.000118</duration>
    478       <description>MDNS</description>
    479       <message>Passed</message>
    480     </test>
    481     <test result="success">
    482       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    483       <fn>test_mdns.c:588</fn>
    484       <id>domain_eq_length</id>
    485       <iteration>0</iteration>
    486       <duration>0.000309</duration>
    487       <description>MDNS</description>
    488       <message>Passed</message>
    489     </test>
    490     <test result="success">
    491       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    492       <fn>test_mdns.c:621</fn>
    493       <id>compress_full_match</id>
    494       <iteration>0</iteration>
    495       <duration>0.000155</duration>
    496       <description>MDNS</description>
    497       <message>Passed</message>
    498     </test>
    499     <test result="success">
    500       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    501       <fn>test_mdns.c:656</fn>
    502       <id>compress_full_match_subset</id>
    503       <iteration>0</iteration>
    504       <duration>0.000156</duration>
    505       <description>MDNS</description>
    506       <message>Passed</message>
    507     </test>
    508     <test result="success">
    509       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    510       <fn>test_mdns.c:693</fn>
    511       <id>compress_full_match_jump</id>
    512       <iteration>0</iteration>
    513       <duration>0.000170</duration>
    514       <description>MDNS</description>
    515       <message>Passed</message>
    516     </test>
    517     <test result="success">
    518       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    519       <fn>test_mdns.c:727</fn>
    520       <id>compress_no_match</id>
    521       <iteration>0</iteration>
    522       <duration>0.000150</duration>
    523       <description>MDNS</description>
    524       <message>Passed</message>
    525     </test>
    526     <test result="success">
    527       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    528       <fn>test_mdns.c:762</fn>
    529       <id>compress_2nd_label</id>
    530       <iteration>0</iteration>
    531       <duration>0.000153</duration>
    532       <description>MDNS</description>
    533       <message>Passed</message>
    534     </test>
    535     <test result="success">
    536       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    537       <fn>test_mdns.c:797</fn>
    538       <id>compress_2nd_label_short</id>
    539       <iteration>0</iteration>
    540       <duration>0.000192</duration>
    541       <description>MDNS</description>
    542       <message>Passed</message>
    543     </test>
    544     <test result="success">
    545       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    546       <fn>test_mdns.c:839</fn>
    547       <id>compress_jump_to_jump</id>
    548       <iteration>0</iteration>
    549       <duration>0.000167</duration>
    550       <description>MDNS</description>
    551       <message>Passed</message>
    552     </test>
    553     <test result="success">
    554       <path>/tmp/LwIP_v2/lwip_test_compile/unit/mdns</path>
    555       <fn>test_mdns.c:872</fn>
    556       <id>compress_long_match</id>
    557       <iteration>0</iteration>
    558       <duration>0.000162</duration>
    559       <description>MDNS</description>
    560       <message>Passed</message>
    561     </test>
    562   </suite>
    563   <duration>0.700371</duration>
    564 </testsuites>
    lwip_unittests.xml
  • 相关阅读:
    进程线程模型
    操作系统运行机制
    操作系统概论
    排序
    win32消息机制
    win32框架
    map
    deque & list
    vector内部实现2
    蓝桥杯 文化之旅 图论 待复习
  • 原文地址:https://www.cnblogs.com/aimmiao/p/14181033.html
Copyright © 2011-2022 走看看