Message ID | 1638990000-3228-1-git-send-email-jizh@linux.microsoft.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A6099A00C2; Wed, 8 Dec 2021 20:00:14 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6B7B541C27; Wed, 8 Dec 2021 20:00:09 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 90C04410F3 for <dev@dpdk.org>; Wed, 8 Dec 2021 20:00:06 +0100 (CET) Received: from linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net (linux.microsoft.com [13.77.154.182]) by linux.microsoft.com (Postfix) with ESMTPSA id B6B1F20B7179; Wed, 8 Dec 2021 11:00:05 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com B6B1F20B7179 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1638990005; bh=GC/P+yfgzLQqPDyiBUhVmfM2HiNaxE6aQJsGtUL5S1U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oRJfboV7RHdBk85+u/LNFGEM9jeU7C+NFzwx/mHLmWTGRYB6Ay1Zii6j3MRy8TY3+ baeq7Ks9PyCLrUe5tKaM34E/ubSUVEOFMQ/LOtB2aaANGtWKSKtfpEtK9dhquQa/ML U9oxXFCyfiP9ixrKhm4rd0X8LAg+Z75VzT6sNFrM= From: Jie Zhou <jizh@linux.microsoft.com> To: dev@dpdk.org Cc: dmitry.kozliuk@gmail.com, bruce.richardson@intel.com, roretzla@microsoft.com, navasile@linux.microsoft.com, dmitrym@microsoft.com, pallavi.kadam@intel.com, talshn@nvidia.com, thomas@monjalon.net, aconole@redhat.com Subject: [PATCH v14 00/11] app/test: enable subset of tests on Windows Date: Wed, 8 Dec 2021 10:59:49 -0800 Message-Id: <1638990000-3228-1-git-send-email-jizh@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1638928262-13177-1-git-send-email-jizh@linux.microsoft.com> References: <1638928262-13177-1-git-send-email-jizh@linux.microsoft.com> X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org |
Series |
app/test: enable subset of tests on Windows
|
|
Message
Jie Zhou
Dec. 8, 2021, 6:59 p.m. UTC
The goal of this patchset is to enable unit tests in CI for Windows.
It mainly contains:
- Replace POSIX specific codes
- Fix some lib and tests per failures investigation
- Add test stubs for not yet supported ones on Windows
- Replace .sh script with .py script for meson.build
- Enable build and run subset of unit tests on Windows
Future work:
- Work with CI lab to onboard unit tests for Windows to catch regression
- Investigate issues hit at CI onboarding
- Enable more tests
---
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
---
V9 changes:
- Fix has_hugepage.py with adding failure handling on Linux, using
proper variable name to follow Python convention, and removing
unnecessary comment.
- Enable previously skipped test_cmdline_socket_fns test cases
- Revise title and message, and add Fixes info for current Patch#3
- Combine 2 patches (previous #2 and #3 in V8) into one and with
more detailed message
---
V10 changes:
- Fix indentation
---
V11 changes:
- Remove mandatory dependency on bitratestats, latencystats,
and metrics libs in test meson.build, which was reintroduced
at rebase in V9.
---
V12 changes:
- Remove unnecessary print of a null string
- Enable several previous disabled tests
- Split Patch#9 in V11 into two patches for better structure
- Reorder some of the patches for better structure
- Document more details in commit message for issue tracking
---
V13 changes:
- Fix misc coding style issue
- Fix build issue on Ubuntu 18.04
---
V14 changes:
- Explain the reason of skipping telemetry tests in commit log
Tested-by: Pallavi Kadam <pallavi.kadam@intel.com>
Jie Zhou (11):
eal/windows: return ENOTSUP for not supported API
app/test: remove POSIX-specific code
app/test: fix incorrect errno variable
app/test: skip interrupt tests on Windows
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: resolve name collision
app/test: add test stubs for not supported ones
app/test: replace .sh script with .py script
app/test: enable unit test on Windows
app/test/commands.c | 2 -
app/test/has-hugepage.sh | 11 ---
app/test/has_hugepage.py | 26 ++++++
app/test/meson.build | 113 ++++++++++++-----------
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_cmdline_ipaddr.c | 13 ++-
app/test/test_cmdline_lib.c | 13 ++-
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_eal_flags.c | 90 ++++++++++++++++++
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 | 28 ++++--
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 | 20 ++--
app/test/test_mbuf.c | 15 ++-
app/test/test_member.c | 16 +++-
app/test/test_member_perf.c | 16 +++-
app/test/test_memcpy_perf.c | 30 +++---
app/test/test_memory.c | 2 +-
app/test/test_mp_secondary.c | 12 +++
app/test/test_pie.c | 30 +++++-
app/test/test_pmd_perf.c | 6 +-
app/test/test_rawdev.c | 17 +++-
app/test/test_rcu_qsbr_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_impl.h | 2 +-
app/test/test_sched.c | 14 ++-
app/test/test_security.c | 4 +-
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 +-
84 files changed, 1058 insertions(+), 184 deletions(-)
delete mode 100755 app/test/has-hugepage.sh
create mode 100644 app/test/has_hugepage.py
Comments
On Wed, Dec 08, 2021 at 10:59:49AM -0800, Jie Zhou wrote: > The goal of this patchset is to enable unit tests in CI for Windows. > It mainly contains: > - Replace POSIX specific codes > - Fix some lib and tests per failures investigation > - Add test stubs for not yet supported ones on Windows > - Replace .sh script with .py script for meson.build > - Enable build and run subset of unit tests on Windows > > Future work: > - Work with CI lab to onboard unit tests for Windows to catch regression > - Investigate issues hit at CI onboarding > - Enable more tests > > --- > 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 > > --- > V9 changes: > - Fix has_hugepage.py with adding failure handling on Linux, using > proper variable name to follow Python convention, and removing > unnecessary comment. > - Enable previously skipped test_cmdline_socket_fns test cases > - Revise title and message, and add Fixes info for current Patch#3 > - Combine 2 patches (previous #2 and #3 in V8) into one and with > more detailed message > > --- > V10 changes: > - Fix indentation > > --- > V11 changes: > - Remove mandatory dependency on bitratestats, latencystats, > and metrics libs in test meson.build, which was reintroduced > at rebase in V9. > > --- > V12 changes: > - Remove unnecessary print of a null string > - Enable several previous disabled tests > - Split Patch#9 in V11 into two patches for better structure > - Reorder some of the patches for better structure > - Document more details in commit message for issue tracking > > --- > V13 changes: > - Fix misc coding style issue > - Fix build issue on Ubuntu 18.04 > > --- > V14 changes: > - Explain the reason of skipping telemetry tests in commit log > > Tested-by: Pallavi Kadam <pallavi.kadam@intel.com> > the set looks good to me, let's get it in and if we need to make further changes we can. integration of the set is blocking porting of other tests. Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>