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

Michael Santana Francisco msantana at redhat.com
Wed Jul 31 22:54:46 CEST 2019


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.
>
>  matrix:
>    include:
> @@ -51,7 +52,7 @@ matrix:
>        apt:
>          packages:
>            - *extra_packages
> -  - env: DEF_LIB="shared" EXTRA_PACKAGES=1
> +  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 RUN_TESTS=1
>      compiler: gcc
>      addons:
>        apt:
> @@ -81,6 +82,12 @@ matrix:
>        apt:
>          packages:
>            - *extra_packages
> +  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 RUN_TESTS=1
> +    compiler: clang
> +    addons:
> +      apt:
> +        packages:
> +          - *extra_packages
>    - env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
>      compiler: clang
>      addons:
> --
> 2.21.0
>


More information about the dev mailing list