[dpdk-dev] [PATCH 2/2] ci: enable unit tests under travis-ci

Aaron Conole aconole at redhat.com
Fri Aug 2 15:34:46 CEST 2019


Michael Santana Francisco <msantana at redhat.com> writes:

> On Wed, Jul 31, 2019 at 10:50 AM Aaron Conole <aconole at redhat.com> wrote:
>>
>> When building under Travis (or another linux CI service), enable running the
>> fast-tests for selected builds.  Only the shared builds are enabled at this
>> point, since they are the ones passing.  Builds that are statically linked
>> still show some issues in some of the eal_flags tests.  Additionally,
>> the command to invoke fast tests includes a timeout multiplier, since
>> some CI environments don't have enough resources to complete the tests in
>> the default 10s timeout period.
>>
>> Signed-off-by: Aaron Conole <aconole at redhat.com>
>> ---
>>  .ci/linux-build.sh | 8 ++++++++
>>  .ci/linux-setup.sh | 8 +++++++-
>>  .travis.yml        | 9 ++++++++-
>>  3 files changed, 23 insertions(+), 2 deletions(-)
>>
>> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
>> index d5783c1a4..75f740648 100755
>> --- a/.ci/linux-build.sh
>> +++ b/.ci/linux-build.sh
>> @@ -22,3 +22,11 @@ fi
>>  OPTS="$OPTS --default-library=$DEF_LIB"
>>  meson build --werror -Dexamples=all $OPTS
>>  ninja -C build
>> +
>> +if [ "$RUN_TESTS" = "1" ]; then
>> +    # On the test build, also build the documentation, since it's expensive
>> +    # and we shouldn't need to build so much of it.
>> +    ninja -C build doc
>> +
>> +    sudo meson test -C build --suite fast-tests -t 3
>> +fi
>> diff --git a/.ci/linux-setup.sh b/.ci/linux-setup.sh
>> index acdf9f370..a40e62eaa 100755
>> --- a/.ci/linux-setup.sh
>> +++ b/.ci/linux-setup.sh
>> @@ -1,3 +1,9 @@
>>  #!/bin/sh
>>
>> -python3 -m pip install --upgrade meson --user
>> +# need to install as 'root' since some of the unit tests won't run without it
>> +sudo python3 -m pip install --upgrade meson
>> +
>> +# setup hugepages
>> +cat /proc/meminfo
>> +sudo sh -c 'echo 1024 > /proc/sys/vm/nr_hugepages'
>> +cat /proc/meminfo
> Can we drop cat /proc/meminfo?
>> diff --git a/.travis.yml b/.travis.yml
>> index 7b167fa64..c0c27bb7f 100644
>> --- a/.travis.yml
>> +++ b/.travis.yml
>> @@ -30,6 +30,7 @@ env:
>>    - DEF_LIB="shared"
>>    - DEF_LIB="static" OPTS="-Denable_kmods=false"
>>    - DEF_LIB="shared" OPTS="-Denable_kmods=false"
>> +  - DEF_LIB="shared" RUN_TESTS=1
> I don't agree with this. This is redundant. Why not put RUN_TESTS=1 on
> an already exiting builds instead of adding two new builds like you
> are doing here?
> A build without the tests takes ~7 minutes, with the tests it
> increases to ~9 minutes. These two new builds add ~18 minutes of build
> time to the entire travis build time. We could use this ~18 minutes
> instead to run the tests on 6 to 9 already existing builds since they
> take 2 to 3 extra minutes on each one.

Hi Michael,

The ovsrobot was off for a bit due to an internal issue.  Now that it's
back, a new build was generated.  Please have a look.  The time delta is
about 8-12 minutes (because builds are in parallel) for a complete run
(that's with all of the various jobs which make up a build).

Do you think it's unreasonable?

-Aaron


More information about the dev mailing list