[dpdk-dev] [PATCH v2 00/13] app/test: enable subset of tests on Windows

Jie Zhou jizh at linux.microsoft.com
Wed Aug 18 19:13:41 CEST 2021


This patchset is to enable a subset of unit tests on windows. It mainly includes:
- Enable building libraries on Windows that some tests depend on
- Replace POSIX specific codes
- Fix some lib and tests per failures investigation
- Replace .sh scripts with .py scripts for meson.build
- Enable build and run subset of unit tests on Windows

Future work:
- Continue investigate known failure to enable more tests
- Work with CI/CD lab to onboard unit tests on Windows to capture regression

---
V2 changes:
    - Fix compilation error on FreeBSD
    - Fix email mismatch issue
    - Add a missing space around "*"
---

Following are the unit tests on Windows baseline state:
(lab setup: a system with XL710, NetUIO and Virt2Phy installed, huge-page enabled)
c:\DPDKUpstream\dpdk\amd64\chk>meson test
ninja: Entering directory `c:\DPDKUpstream\dpdk\amd64\chk'
ninja: no work to do.
 1/60 DPDK:fast-tests / alarm_autotest                          OK               1.62s
 2/60 DPDK:fast-tests / bitops_autotest                         OK               1.58s
 3/60 DPDK:fast-tests / byteorder_autotest                      OK               1.58s
 4/60 DPDK:fast-tests / cmdline_autotest                        OK               1.58s
 5/60 DPDK:fast-tests / common_autotest                         OK               3.77s
 6/60 DPDK:fast-tests / cpuflags_autotest                       OK               1.58s
 7/60 DPDK:fast-tests / errno_autotest                          OK               1.59s
 8/60 DPDK:fast-tests / ethdev_link_status                      OK               1.58s
 9/60 DPDK:fast-tests / hash_autotest                           OK               2.26s
10/60 DPDK:fast-tests / interrupt_autotest                      SKIP             1.59s   exit status 77
11/60 DPDK:fast-tests / logs_autotest                           OK               1.58s
12/60 DPDK:fast-tests / lpm_autotest                            OK               3.78s
13/60 DPDK:fast-tests / mcslock_autotest                        OK               7.37s
14/60 DPDK:fast-tests / memory_autotest                         OK               1.62s
15/60 DPDK:fast-tests / mempool_autotest                        OK               2.23s
16/60 DPDK:fast-tests / memzone_autotest                        OK               1.62s
17/60 DPDK:fast-tests / meter_autotest                          OK               1.58s
18/60 DPDK:fast-tests / per_lcore_autotest                      OK               1.69s
19/60 DPDK:fast-tests / prefetch_autotest                       OK               1.58s
20/60 DPDK:fast-tests / rcu_qsbr_autotest                       OK               1.93s
21/60 DPDK:fast-tests / rib_autotest                            OK               6.97s
22/60 DPDK:fast-tests / rib6_autotest                           OK               6.98s
23/60 DPDK:fast-tests / ring_autotest                           OK               1.64s
24/60 DPDK:fast-tests / rwlock_test1_autotest                   OK               3.68s
25/60 DPDK:fast-tests / rwlock_rda_autotest                     OK               6.58s
26/60 DPDK:fast-tests / rwlock_rds_wrm_autotest                 OK               6.65s
27/60 DPDK:fast-tests / rwlock_rde_wro_autotest                 OK               6.59s
28/60 DPDK:fast-tests / spinlock_autotest                       OK               1.82s
29/60 DPDK:fast-tests / stack_autotest                          OK               3.56s
30/60 DPDK:fast-tests / stack_lf_autotest                       OK               5.84s
31/60 DPDK:fast-tests / string_autotest                         OK               1.59s
32/60 DPDK:fast-tests / tailq_autotest                          OK               1.58s
33/60 DPDK:fast-tests / ticketlock_autotest                     OK               1.84s
34/60 DPDK:fast-tests / user_delay_us                           OK               1.58s
35/60 DPDK:fast-tests / version_autotest                        OK               1.59s
36/60 DPDK:fast-tests / crc_autotest                            OK               1.58s
37/60 DPDK:fast-tests / fbarray_autotest                        OK               1.58s
38/60 DPDK:fast-tests / hash_readwrite_func_autotest            OK               4.01s
39/60 DPDK:fast-tests / kvargs_autotest                         OK               1.58s
40/60 DPDK:fast-tests / metrics_autotest                        OK               1.58s
41/60 DPDK:fast-tests / reorder_autotest                        OK               1.62s
42/60 DPDK:fast-tests / service_autotest                        OK               5.20s
43/60 DPDK:fast-tests / thash_autotest                          OK               1.58s
44/60 DPDK:perf-tests / atomic_autotest                         OK              35.04s
45/60 DPDK:perf-tests / memcpy_autotest                         OK              11.36s
46/60 DPDK:perf-tests / ring_perf_autotest                      OK              29.48s
47/60 DPDK:perf-tests / timer_autotest                          OK              13.02s
48/60 DPDK:perf-tests / timer_perf_autotest                     OK              13.81s
49/60 DPDK:perf-tests / rib_slow_autotest                       OK             135.43s
50/60 DPDK:perf-tests / barrier_autotest                        OK              66.77s
51/60 DPDK:perf-tests / hash_multiwriter_autotest               OK               8.16s
52/60 DPDK:perf-tests / timer_racecond_autotest                 OK               5.62s
53/60 DPDK:perf-tests / hash_functions_autotest                 OK              37.22s
54/60 DPDK:perf-tests / pmd_perf_autotest                       OK              27.82s
55/60 DPDK:perf-tests / stack_perf_autotest                     OK              42.71s
56/60 DPDK:perf-tests / stack_lf_perf_autotest                  OK              94.26s
57/60 DPDK:perf-tests / rand_perf_autotest                      OK              13.78s
58/60 DPDK:perf-tests / hash_readwrite_perf_autotest            OK              50.86s
59/60 DPDK:perf-tests / hash_readwrite_lf_perf_autotest         OK             145.72s
60/60 DPDK:perf-tests / trace_perf_autotest                     OK               2.29s


Ok:                 59
Expected Fail:      0
Fail:               0
Unexpected Pass:    0
Skipped:            1
Timeout:            0

Full log written to c:\DPDKUpstream\dpdk\amd64\chk\meson-logs\testlog.txt


Jie Zhou (13):
  lib: build libraries that some tests depend on
  driver/mempool: build mempool stack on Windows
  eal/windows: return ENOTSUP for not supported API
  app/test: remove unnecessary headers
  app/test: replace POSIX specific code
  app/test: exclude ENOTSUP as failure
  app/test: skip interrupt tests on Windows
  app/test: temporarily "skip" one cmdline test case
  app/test: skip two logs_autotest cases on Windows
  app/test: differentiate a strerror on different OS
  app/test: remove two alarm_autotest cases
  app/test: replace .sh scripts with .py scripts
  app/test: enable subset of unit tests on Windows

 app/test/commands.c               |   2 -
 app/test/get-coremask.sh          |  13 -
 app/test/get_coremask.py          |   8 +
 app/test/has-hugepage.sh          |  11 -
 app/test/has_hugepage.py          |  41 ++
 app/test/meson.build              | 866 ++++++++++++++++++------------
 app/test/packet_burst_generator.c |   1 +
 app/test/process.h                |   4 +-
 app/test/test.c                   |   5 +-
 app/test/test_alarm.c             |   4 +
 app/test/test_byteorder.c         |   2 +-
 app/test/test_cmdline.c           |   2 +
 app/test/test_cmdline_lib.c       |   5 +-
 app/test/test_crc.c               |   1 -
 app/test/test_errno.c             |  12 +-
 app/test/test_interrupts.c        |  10 +
 app/test/test_logs.c              |   6 +-
 app/test/test_memory.c            |   5 +-
 app/test/test_mp_secondary.c      |   2 +
 app/test/test_pmd_perf.c          |   6 +-
 app/test/test_ring_stress.c       |   3 +-
 app/test/test_ring_stress_impl.h  |   2 +-
 app/test/test_telemetry_data.c    |   2 +
 drivers/mempool/stack/meson.build |   5 -
 lib/eal/common/eal_common_errno.c |   4 +
 lib/eal/windows/eal_memalloc.c    |   6 +-
 lib/meson.build                   |   6 +
 27 files changed, 641 insertions(+), 393 deletions(-)
 delete mode 100755 app/test/get-coremask.sh
 create mode 100644 app/test/get_coremask.py
 delete mode 100755 app/test/has-hugepage.sh
 create mode 100644 app/test/has_hugepage.py

-- 
2.32.0.windows.2



More information about the dev mailing list