summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Conole <aconole@redhat.com>2019-08-02 17:25:52 -0400
committerThomas Monjalon <thomas@monjalon.net>2019-08-02 23:54:44 +0200
commitad2b2cfb1ea352972deada8a8d2e9ba20102e2ae (patch)
tree6ae62dee083cfd020f761a4540a3659037ea9e3e
parent9b1c025cfe0a0bbae62bcda867e1ad6ccdf9cd39 (diff)
downloaddpdk-ad2b2cfb1ea3.zip
dpdk-ad2b2cfb1ea3.tar.gz
dpdk-ad2b2cfb1ea3.tar.xz
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 <aconole@redhat.com> Acked-by: Michael Santana <msantana@redhat.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
-rwxr-xr-x.ci/linux-build.sh8
-rwxr-xr-x.ci/linux-setup.sh8
-rw-r--r--.travis.yml9
3 files changed, 23 insertions, 2 deletions
diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index d5783c1..d5ad919 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 acdf9f3..a40e62e 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 7b167fa..781f9f6 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: