mbox series

[v8,00/11] app/test: enable subset of tests on Windows

Message ID 1635216361-23641-1-git-send-email-jizh@linux.microsoft.com (mailing list archive)
Headers show
Series app/test: enable subset of tests on Windows | expand

Message

Jie Zhou Oct. 26, 2021, 2:45 a.m. UTC
This patchset is to enable a subset of unit tests on windows. It mainly includes:
- Replace POSIX specific codes
- Fix some lib and tests per failures investigation
- Replace .sh script with .py script for meson.build
- Enable build and run subset of unit tests on Windows

Future work:
- Work with CI/CD lab to onboard unit tests on Windows to catch regression
- Onboard more tests when more libraries are enabled on Windows

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

---
V3 changes:
    - Fix a misc c coding style issue
    - Revise some commit title and message body
    - Fix violations of PEP8 in new added Python scripts
    - Add error handling in get_coremask.py
    - Fix has_hugepage.py to check system support of hugepages
      instead of checking privileges
    - Fix test meson.build to run Python scripts using py3
    - Consolidate lists of source files, test dep, etc. across all 
      platforms, with conditional extending on some platform(s)

---
V4 changes:
    - Remove building of ip_frag, rib, and reorder libraries on Windows.
      These three libs usually can be built on Windows without change.
      However, in between the time of V3 and V4, there is regression in
      upstream caused build failures of these three libs. Will separately
      investigate and enable these libraries.

    - Remove previous patch#2 (Enable mempool/stack on Windows) from this
      patchset as it was separated out and merged as patch-19314.

    - Consolidate the source files, deps, tests lists across platforms as
      much as possible.

---
V5 changes:
    - Remove a space between function name and open parenthesis '('
    - Add back a header mistakenly deleted

---
V6 changes:
   - Fix inconsistent static vs. non-static declarations

---
V7 changes:
   - Remove get_coremask.py as it is not needed any more in meson.build
   - Remove enablement of efd and lpm and their corresponding unit tests.
     The enablement of these two libs and their UTs will be in separate
     patches after this patch set.

V8 changes:
   - Fix coding style issue of using C99 // comments

Jie Zhou (11):
  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/has-hugepage.sh                 |  11 ---
 app/test/has_hugepage.py                 |  25 +++++
 app/test/meson.build                     | 116 ++++++++++++-----------
 app/test/packet_burst_generator.c        |   1 +
 app/test/process.h                       |   4 +-
 app/test/test.c                          |   5 +-
 app/test/test_acl.c                      |  12 +++
 app/test/test_alarm.c                    |   4 +
 app/test/test_bpf.c                      |  15 ++-
 app/test/test_byteorder.c                |   2 +-
 app/test/test_cksum.c                    |  12 +++
 app/test/test_cmdline.c                  |   2 +
 app/test/test_cmdline_ipaddr.c           |   5 +
 app/test/test_cmdline_lib.c              |   5 +-
 app/test/test_crc.c                      |   1 -
 app/test/test_cryptodev.c                |   4 +
 app/test/test_cryptodev_asym.c           |   4 +
 app/test/test_cryptodev_blockcipher.c    |   4 +
 app/test/test_cryptodev_security_ipsec.c |   4 +
 app/test/test_cryptodev_security_pdcp.c  |   4 +
 app/test/test_debug.c                    |  17 +++-
 app/test/test_distributor.c              |  13 +++
 app/test/test_distributor_perf.c         |  13 +++
 app/test/test_dmadev.c                   |  14 ++-
 app/test/test_dmadev_api.c               |   4 +
 app/test/test_eal_flags.c                |  97 +++++++++++++++++++
 app/test/test_eal_fs.c                   |  12 +++
 app/test/test_efd.c                      |  15 ++-
 app/test/test_efd_perf.c                 |  16 +++-
 app/test/test_errno.c                    |  12 ++-
 app/test/test_event_crypto_adapter.c     |  15 ++-
 app/test/test_event_eth_rx_adapter.c     |  25 ++++-
 app/test/test_event_eth_tx_adapter.c     |  12 +++
 app/test/test_event_ring.c               |  16 +++-
 app/test/test_event_timer_adapter.c      |  16 +++-
 app/test/test_eventdev.c                 |  20 +++-
 app/test/test_external_mem.c             |  18 +++-
 app/test/test_fib.c                      |  22 ++++-
 app/test/test_fib6.c                     |  24 ++++-
 app/test/test_fib6_perf.c                |  16 +++-
 app/test/test_fib_perf.c                 |  15 ++-
 app/test/test_flow_classify.c            |  13 +++
 app/test/test_func_reentrancy.c          |  12 +++
 app/test/test_graph.c                    |  18 +++-
 app/test/test_graph_perf.c               |  16 +++-
 app/test/test_hash_perf.c                |  12 +++
 app/test/test_interrupts.c               |  10 ++
 app/test/test_ipfrag.c                   |  16 +++-
 app/test/test_ipsec.c                    |  15 ++-
 app/test/test_ipsec_perf.c               |  15 ++-
 app/test/test_ipsec_sad.c                |  14 ++-
 app/test/test_kni.c                      |  10 +-
 app/test/test_lcores.c                   |  12 +++
 app/test/test_logs.c                     |   6 +-
 app/test/test_lpm.c                      |  14 ++-
 app/test/test_lpm6.c                     |  14 ++-
 app/test/test_lpm6_perf.c                |  14 ++-
 app/test/test_lpm_perf.c                 |  13 ++-
 app/test/test_malloc.c                   |  17 +++-
 app/test/test_mbuf.c                     |  13 ++-
 app/test/test_member.c                   |  16 +++-
 app/test/test_member_perf.c              |  16 +++-
 app/test/test_memcpy_perf.c              |  18 +++-
 app/test/test_memory.c                   |   3 +-
 app/test/test_mempool_perf.c             |  12 +++
 app/test/test_mp_secondary.c             |  13 +++
 app/test/test_pmd_perf.c                 |   6 +-
 app/test/test_rawdev.c                   |  17 +++-
 app/test/test_rcu_qsbr_perf.c            |  12 +++
 app/test/test_reciprocal_division.c      |  12 +++
 app/test/test_reciprocal_division_perf.c |  12 +++
 app/test/test_red.c                      |  29 +++++-
 app/test/test_reorder.c                  |  15 ++-
 app/test/test_rib.c                      |  22 ++++-
 app/test/test_rib6.c                     |  22 ++++-
 app/test/test_ring_stress.c              |   3 +-
 app/test/test_ring_stress_impl.h         |   2 +-
 app/test/test_sched.c                    |  14 ++-
 app/test/test_security.c                 |  16 +++-
 app/test/test_table.c                    |  13 +++
 app/test/test_table_acl.c                |   3 +
 app/test/test_table_combined.c           |   4 +
 app/test/test_table_pipeline.c           |   4 +
 app/test/test_table_ports.c              |   4 +
 app/test/test_table_tables.c             |   4 +
 app/test/test_telemetry_data.c           |   2 +
 app/test/test_timer_secondary.c          |  13 +++
 app/test/test_trace.c                    |  32 ++++++-
 lib/eal/common/eal_common_errno.c        |   4 +
 lib/eal/windows/eal_memalloc.c           |   6 +-
 91 files changed, 1105 insertions(+), 152 deletions(-)
 delete mode 100755 app/test/has-hugepage.sh
 create mode 100644 app/test/has_hugepage.py