[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