diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2021-11-08 19:49:58 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2021-11-08 19:49:58 +0000 |
commit | 7458e1b6f3217189ee2f01b77dd39563a94cffdf (patch) | |
tree | 6a6e5517ab660e4412388b759c8c21b679be4c2e | |
parent | 2dbf4b83bbc8fb38f3261b8a8c428028b3b11aa3 (diff) | |
parent | 400387e6b0ee32544a3249df97cb58ca678f5d0c (diff) | |
download | slirp-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.yml | 33 |
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 |