aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2021-11-08 19:49:58 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2021-11-08 19:49:58 +0000
commit7458e1b6f3217189ee2f01b77dd39563a94cffdf (patch)
tree6a6e5517ab660e4412388b759c8c21b679be4c2e
parent2dbf4b83bbc8fb38f3261b8a8c428028b3b11aa3 (diff)
parent400387e6b0ee32544a3249df97cb58ca678f5d0c (diff)
downloadslirp-7458e1b6f3217189ee2f01b77dd39563a94cffdf.zip
slirp-7458e1b6f3217189ee2f01b77dd39563a94cffdf.tar.gz
slirp-7458e1b6f3217189ee2f01b77dd39563a94cffdf.tar.bz2
Merge branch 'ci-slirp4netns' into 'master'
CI: run integration tests with slirp4netns Closes #50 See merge request slirp/libslirp!107
-rw-r--r--.gitlab-ci.yml33
1 files changed, 33 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 46e58a9..2512ef1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -41,3 +41,36 @@ Coverity:
--form token=$COVERITY_SCAN_TOKEN --form email=$GITLAB_USER_EMAIL
--form file=@cov-int.tar.gz --form version="`git describe --tags`"
--form description="`git describe --tags` / $CI_COMMIT_TITLE / $CI_COMMIT_REF_NAME:$CI_PIPELINE_ID "
+
+integration-slirp4netns:
+ variables:
+ SLIRP4NETNS_VERSION: "v1.1.12"
+ # Consumed by `make benchmark`
+ BENCHMARK_IPERF3_DURATION: "10"
+ script:
+ # Install libslirp
+ - meson build
+ - ninja -C build install
+ # Register the path of libslirp.so.0
+ - echo /usr/local/lib64 >/etc/ld.so.conf.d/libslirp.conf
+ - ldconfig
+ # Install the dependencies of slirp4netns and its test suite
+ # TODO: install udhcpc for `slirp4netns/tests/test-slirp4netns-dhcp.sh` (currently skipped, due to lack of udhcpc)
+ - dnf install -y autoconf automake findutils iperf3 iproute iputils jq libcap-devel libseccomp-devel nmap-ncat util-linux
+ # Check whether the runner environment is configured correctly
+ - unshare -rn true || (echo Make sure you have relaxed seccomp and appamor && exit 1)
+ - unshare -rn ip tap add tap0 mode tap || (echo Make sure you have /dev/net/tun && exit 1)
+ # Install slirp4netns
+ - git clone https://github.com/rootless-containers/slirp4netns -b "${SLIRP4NETNS_VERSION}"
+ - cd slirp4netns
+ - ./autogen.sh
+ - ./configure
+ - make
+ - make install
+ - slirp4netns --version
+ # Run slirp4netns integration test
+ - make distcheck || (cat $(find . -name 'test-suite.log' ) && exit 1)
+ # Run benchmark test to ensure that libslirp can actually handle packets, with several MTU configurations
+ - make benchmark MTU=1500
+ - make benchmark MTU=512
+ - make benchmark MTU=65520