From ad2b2cfb1ea352972deada8a8d2e9ba20102e2ae Mon Sep 17 00:00:00 2001 From: Aaron Conole Date: Fri, 2 Aug 2019 17:25:52 -0400 Subject: [PATCH] ci: enable unit tests with Travis When building under Travis (or another linux CI service), enable running the fast-tests when the RUN_TESTS environment variable is set. For the Travis service, introduce two new shared builds, since the shared builds are the ones passing. Builds that are statically linked still show some issues in some of the eal_flags tests. We make new builds for this, rather than piggybacking, because 'at a glance' it is difficult to determine why a build fails, and if tests were enabled for all builds, then looking at the logs for any build would take a significant amount of time. Finally, 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 Acked-by: Michael Santana Reviewed-by: David Marchand --- .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 d5783c1a42..d5ad919d14 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 [ "$BUILD_DOCS" = "1" ]; then + ninja -C build doc +fi + +if [ "$RUN_TESTS" = "1" ]; then + sudo meson test -C build --suite fast-tests -t 3 +fi diff --git a/.ci/linux-setup.sh b/.ci/linux-setup.sh index acdf9f370e..a40e62eaa0 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 diff --git a/.travis.yml b/.travis.yml index 7b167fa645..781f9f666a 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 BUILD_DOCS=1 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 BUILD_DOCS=1 compiler: gcc addons: apt: @@ -81,6 +82,12 @@ matrix: apt: packages: - *extra_packages + - env: DEF_LIB="shared" EXTRA_PACKAGES=1 RUN_TESTS=1 BUILD_DOCS=1 + compiler: clang + addons: + apt: + packages: + - *extra_packages - env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1 compiler: clang addons: