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: - 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) --- Jie Zhou (13): lib: build libraries that some tests depend on mempool/stack: build 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 | 12 + app/test/has-hugepage.sh | 11 - app/test/has_hugepage.py | 25 ++ app/test/meson.build | 368 ++++++++++++++++-------------- 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, 302 insertions(+), 222 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