ci: enable unit tests with Travis
authorAaron Conole <aconole@redhat.com>
Fri, 2 Aug 2019 21:25:52 +0000 (17:25 -0400)
committerThomas Monjalon <thomas@monjalon.net>
Fri, 2 Aug 2019 21:54:44 +0000 (23:54 +0200)
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 <aconole@redhat.com>
Acked-by: Michael Santana <msantana@redhat.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
.ci/linux-build.sh
.ci/linux-setup.sh
.travis.yml

index d5783c1..d5ad919 100755 (executable)
@@ -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
index acdf9f3..a40e62e 100755 (executable)
@@ -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
index 7b167fa..781f9f6 100644 (file)
@@ -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: