From patchwork Fri Feb 28 04:19:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ruifeng Wang X-Patchwork-Id: 66119 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 338DBA0564; Fri, 28 Feb 2020 05:19:34 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9DBBF1BFF0; Fri, 28 Feb 2020 05:19:31 +0100 (CET) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id 49B601BFE8 for ; Fri, 28 Feb 2020 05:19:29 +0100 (CET) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C139331B; Thu, 27 Feb 2020 20:19:28 -0800 (PST) Received: from net-arm-thunderx2-02.shanghai.arm.com (net-arm-thunderx2-02.shanghai.arm.com [10.169.40.171]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 7EDA53F73B; Thu, 27 Feb 2020 20:19:25 -0800 (PST) From: Ruifeng Wang To: aconole@redhat.com, maicolgabriel@hotmail.com, bruce.richardson@intel.com Cc: dev@dpdk.org, david.marchand@redhat.com, gavin.hu@arm.com, honnappa.nagarahalli@arm.com, juraj.linkes@pantheon.tech, nd@arm.com, Ruifeng Wang Date: Fri, 28 Feb 2020 12:19:03 +0800 Message-Id: <20200228041904.195597-2-ruifeng.wang@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200228041904.195597-1-ruifeng.wang@arm.com> References: <20200225073236.135581-1-ruifeng.wang@arm.com> <20200228041904.195597-1-ruifeng.wang@arm.com> Subject: [dpdk-dev] [PATCH v2 1/2] ci: allow multiple test suites to run in one job X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Run multiple test suites in a single Travis CI job helps to avoid job bloating and save build time. When RUN_TESTS is set, TEST_SUITES includes a list of suites that need to run in the job, otherwise fast-tests is run by default. Suggested-by: David Marchand Signed-off-by: Ruifeng Wang Reviewed-by: Gavin Hu --- .ci/linux-build.sh | 4 +++- .ci/linux-setup.sh | 16 +++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index d500c4c00..ddb925418 100755 --- a/.ci/linux-build.sh +++ b/.ci/linux-build.sh @@ -90,5 +90,7 @@ if [ "$ABI_CHECKS" = "1" ]; then fi if [ "$RUN_TESTS" = "1" ]; then - sudo meson test -C build --suite fast-tests -t 3 + for testsuite in ${TEST_SUITES:-fast-tests}; do + sudo meson test -C build --suite $testsuite -t 3 + done fi diff --git a/.ci/linux-setup.sh b/.ci/linux-setup.sh index 2b07d1e0b..4c5ddeb96 100755 --- a/.ci/linux-setup.sh +++ b/.ci/linux-setup.sh @@ -3,10 +3,16 @@ # need to install as 'root' since some of the unit tests won't run without it sudo python3 -m pip install --upgrade 'meson==0.47.1' -# skip hugepage settings if tests will not run +# set up hugepage if fast-tests suite (default) will run if [ "$RUN_TESTS" = "1" ]; then - # setup hugepages - cat /proc/meminfo - sudo sh -c 'echo 1024 > /proc/sys/vm/nr_hugepages' - cat /proc/meminfo + for testsuite in ${TEST_SUITES:-fast-tests}; do + if [ "$testsuite" = "fast-tests" ]; then + # setup hugepages + cat /proc/meminfo + sudo sh -c 'echo 1024 > /proc/sys/vm/nr_hugepages' + cat /proc/meminfo + + break + fi + done fi From patchwork Fri Feb 28 04:19:04 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ruifeng Wang X-Patchwork-Id: 66120 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id AD982A0564; Fri, 28 Feb 2020 05:19:41 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F09821BFE9; Fri, 28 Feb 2020 05:19:35 +0100 (CET) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id C87271BFF5 for ; Fri, 28 Feb 2020 05:19:34 +0100 (CET) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 366BE31B; Thu, 27 Feb 2020 20:19:34 -0800 (PST) Received: from net-arm-thunderx2-02.shanghai.arm.com (net-arm-thunderx2-02.shanghai.arm.com [10.169.40.171]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 0D9823F73B; Thu, 27 Feb 2020 20:19:30 -0800 (PST) From: Ruifeng Wang To: aconole@redhat.com, maicolgabriel@hotmail.com, bruce.richardson@intel.com Cc: dev@dpdk.org, david.marchand@redhat.com, gavin.hu@arm.com, honnappa.nagarahalli@arm.com, juraj.linkes@pantheon.tech, nd@arm.com, Ruifeng Wang Date: Fri, 28 Feb 2020 12:19:04 +0800 Message-Id: <20200228041904.195597-3-ruifeng.wang@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200228041904.195597-1-ruifeng.wang@arm.com> References: <20200225073236.135581-1-ruifeng.wang@arm.com> <20200228041904.195597-1-ruifeng.wang@arm.com> Subject: [dpdk-dev] [PATCH v2 2/2] ci: add test suite run without hugepage X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This test suite is derived from fast-tests suite. Cases in this suite are run with '--no-huge' flag. The suite aims to cover as many as possible test cases out of the fast-tests suites in the environments without huge pages support, like containers. Signed-off-by: Ruifeng Wang Reviewed-by: Gavin Hu --- .travis.yml | 10 +++++-- app/test/meson.build | 71 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index b64a81bd0..eed1d96db 100644 --- a/.travis.yml +++ b/.travis.yml @@ -40,7 +40,7 @@ jobs: - env: DEF_LIB="static" arch: amd64 compiler: gcc - - env: DEF_LIB="shared" RUN_TESTS=1 + - env: DEF_LIB="shared" RUN_TESTS=1 TEST_SUITES="fast-tests nohuge-tests" arch: amd64 compiler: gcc - env: DEF_LIB="shared" BUILD_DOCS=1 @@ -63,7 +63,7 @@ jobs: - env: DEF_LIB="static" arch: amd64 compiler: clang - - env: DEF_LIB="shared" RUN_TESTS=1 + - env: DEF_LIB="shared" RUN_TESTS=1 TEST_SUITES="fast-tests nohuge-tests" arch: amd64 compiler: clang - env: DEF_LIB="shared" BUILD_DOCS=1 @@ -101,6 +101,9 @@ jobs: - env: DEF_LIB="static" arch: arm64 compiler: gcc + - env: DEF_LIB="shared" RUN_TESTS=1 TEST_SUITES="nohuge-tests" + arch: arm64 + compiler: gcc - env: DEF_LIB="shared" BUILD_DOCS=1 arch: arm64 compiler: gcc @@ -124,3 +127,6 @@ jobs: - env: DEF_LIB="shared" arch: arm64 compiler: clang + - env: DEF_LIB="shared" RUN_TESTS=1 TEST_SUITES="nohuge-tests" + arch: arm64 + compiler: clang diff --git a/app/test/meson.build b/app/test/meson.build index 0a2ce710f..162a1a76f 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -237,6 +237,60 @@ fast_test_names = [ 'thash_autotest', ] +nohuge_test_names = [ + 'byteorder_autotest', + 'cmdline_autotest', + 'common_autotest', + 'cpuflags_autotest', + 'cycles_autotest', + 'debug_autotest', + 'eal_flags_n_opt_autotest', + 'eal_flags_no_huge_autotest', + 'eal_flags_vdev_opt_autotest', + 'eal_fs_autotest', + 'errno_autotest', + 'event_ring_autotest', + 'fib_autotest', + 'fib6_autotest', + 'interrupt_autotest', + 'logs_autotest', + 'lpm_autotest', + 'lpm6_autotest', + 'memcpy_autotest', + 'meter_autotest', + 'per_lcore_autotest', + 'prefetch_autotest', + 'rcu_qsbr_autotest', + 'red_autotest', + 'rib_autotest', + 'rib6_autotest', + 'ring_autotest', + 'rwlock_rda_autotest', + 'rwlock_rds_wrm_autotest', + 'rwlock_rde_wro_autotest', + 'sched_autotest', + 'spinlock_autotest', + 'string_autotest', + 'tailq_autotest', + 'user_delay_us', + 'version_autotest', + 'crc_autotest', + 'delay_us_sleep_autotest', + 'eventdev_common_autotest', + 'fbarray_autotest', + 'ipsec_autotest', + 'kni_autotest', + 'kvargs_autotest', + 'member_autotest', + 'metrics_autotest', + 'power_cpufreq_autotest', + 'power_autotest', + 'power_kvm_vm_autotest', + 'reorder_autotest', + 'service_autotest', + 'thash_autotest', +] + perf_test_names = [ 'ring_perf_autotest', 'mempool_perf_autotest', @@ -341,6 +395,10 @@ if dpdk_conf.has('RTE_LIBRTE_RING_PMD') fast_test_names += 'latencystats_autotest' driver_test_names += 'link_bonding_mode4_autotest' fast_test_names += 'pdump_autotest' + nohuge_test_names += 'ring_pmd_autotest' + nohuge_test_names += 'bitratestats_autotest' + nohuge_test_names += 'latencystats_autotest' + nohuge_test_names += 'pdump_autotest' endif if dpdk_conf.has('RTE_LIBRTE_POWER') @@ -430,6 +488,19 @@ foreach arg : fast_test_names endif endforeach +foreach arg : nohuge_test_names + if host_machine.system() == 'linux' + test(arg, dpdk_test, + env : ['DPDK_TEST=' + arg], + args : test_args + + ['--no-huge'] + ['-m 1024'] + + ['--file-prefix=@0@'.format(arg)], + timeout : timeout_seconds_fast, + is_parallel : false, + suite : 'nohuge-tests') + endif +endforeach + foreach arg : perf_test_names test(arg, dpdk_test, env : ['DPDK_TEST=' + arg],