[dpdk-dev] [PATCH v1] ci: add test suite run without hugepage

Aaron Conole aconole at redhat.com
Tue Feb 25 15:36:15 CET 2020


David Marchand <david.marchand at redhat.com> writes:

> On Tue, Feb 25, 2020 at 8:33 AM Ruifeng Wang <ruifeng.wang at arm.com> wrote:
>>
>> 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 <ruifeng.wang at arm.com>
>> Reviewed-by: Gavin Hu <gavin.hu at arm.com>
>
> Compilation time is what makes the most of a "tests" job in Travis.
> So I'd prefer we avoid adding more jobs for x86_64 (see below).
>
>
>> ---
>>  .ci/linux-build.sh   |  4 +++
>>  .travis.yml          | 12 +++++++
>>  app/test/meson.build | 75 ++++++++++++++++++++++++++++++++++++++++++++
>>  3 files changed, 91 insertions(+)
>>
>> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
>> index d500c4c00..39515d915 100755
>> --- a/.ci/linux-build.sh
>> +++ b/.ci/linux-build.sh
>> @@ -92,3 +92,7 @@ fi
>>  if [ "$RUN_TESTS" = "1" ]; then
>>      sudo meson test -C build --suite fast-tests -t 3
>>  fi
>> +
>> +if [ "$RUN_TESTS_NO_HUGE" = "1" ]; then
>> +    sudo meson test -C build --suite nohuge-tests -t 3
>> +fi
>
> You can replace the "boolean" RUN_TESTS with a TESTSUITES variable
> that contains a list of testsuites.
> Then this part becomes:
>
> for testsuite in ${TESTSUITES:-}; do
>    sudo meson test -C build --suite $testsuite -t 3
> done
>
> (I wonder if we reaaaally need to be root to run those tests w/ and
> w/o hugepages, Aaron?)

Last I tested, we didn't need root access when not using hugepages (at
least for core library functionality).  It's possible that the test
suites for PMDs might need that access, but we don't run them in the
travis environment.

>
>> diff --git a/.travis.yml b/.travis.yml
>> index b64a81bd0..0e07d52d0 100644
>> --- a/.travis.yml
>> +++ b/.travis.yml
>> @@ -43,6 +43,9 @@ jobs:
>>    - env: DEF_LIB="shared" RUN_TESTS=1
>>      arch: amd64
>>      compiler: gcc
>> +  - env: DEF_LIB="shared" RUN_TESTS_NO_HUGE=1
>> +    arch: amd64
>> +    compiler: gcc
>
> And then we only need to update the existing RUN_TESTS jobs for x86_64.

I like the suggestion.  But I guess we'd just make RUN_TESTS=1 set
TESTSUITES="..." and otherwise, we can have an ARM64 test to do all the
test suites.

Actually, the ideal would be for the tests to automatically SKIP when no
hugepages are enabled.

>
>>    - env: DEF_LIB="shared" BUILD_DOCS=1
>>      arch: amd64
>>      compiler: gcc
>> @@ -66,6 +69,9 @@ jobs:
>>    - env: DEF_LIB="shared" RUN_TESTS=1
>>      arch: amd64
>>      compiler: clang
>> +  - env: DEF_LIB="shared" RUN_TESTS_NO_HUGE=1
>> +    arch: amd64
>> +    compiler: clang
>>    - env: DEF_LIB="shared" BUILD_DOCS=1
>>      arch: amd64
>>      compiler: clang
>> @@ -101,6 +107,9 @@ jobs:
>>    - env: DEF_LIB="static"
>>      arch: arm64
>>      compiler: gcc
>> +  - env: DEF_LIB="shared" RUN_TESTS_NO_HUGE=1
>> +    arch: arm64
>> +    compiler: gcc
>>    - env: DEF_LIB="shared" BUILD_DOCS=1
>>      arch: arm64
>>      compiler: gcc
>> @@ -124,3 +133,6 @@ jobs:
>>    - env: DEF_LIB="shared"
>>      arch: arm64
>>      compiler: clang
>> +  - env: DEF_LIB="shared" RUN_TESTS_NO_HUGE=1
>> +    arch: arm64
>> +    compiler: clang
>
>
> --
> David Marchand



More information about the dev mailing list