mirror of
https://github.com/stefanberger/swtpm.git
synced 2025-08-23 20:13:41 +00:00

It's not possible to recreate the issue with the failing test case locally on Xenial, so just disable the ASAN usage on swtpm by disabling the CFLAGS variable. The one failing test case show this. All other ones work. FAIL: test_parameters ===================== Test 0: SUCCESS with parameters ''. Test 1: SUCCESS with parameters '--createek'. Test 2: ==27310==ASan runtime does not come first in initial library list; you should either link runtime to your application or manually preload it with LD_PRELOAD. ERROR: Test with parameters '--take-ownership' failed. FAIL test_parameters (exit status: 1) Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
129 lines
5.3 KiB
YAML
129 lines
5.3 KiB
YAML
env:
|
|
global:
|
|
- secure: mcAXlw5k/1yOP2RMKWEtvU2SnsuHo5Idoi5zZ+hLj2CzdvT77Wh8HWQ7NRsiamL+3dMPxzzy60IYNZQ8F29y3rvN7gASVsYn31G5UkmfvpPLiucuPADM1rNm8FYNlia0GFW4keP+LwMrBo6KDK9k0T8w4lquXBwMmNzhvCYVwkBIM5YwhXW5nk1dOJtf6zAb6gDH/VNEYTXXRKjA5Jvln7+EVHY61pEx6rJGa2GU0A49ms5UMJVzv85FraiHwlCPnNhQWGJ6sStqxsd5i6VBTCrkwMqnnA+ZBosqIJkBXp4OkudfPWE9vsn7TtuYdbheOkUIv6GRPFJNG3Vm3Wh/IwvSOILS5xAmsB3MxyK3BlILOYcsywiSzV5J4+s5Vnih4FaRQ3xx46Fq2ldatuk7npIxfdd3Co5V1KZh1pq3ckAdKlY2PEsQc0Kh72Lxf2N0XVw4s0H7gzrFk4/ghIvoCmAWBRSrN+R7wleEcmxDRgUZHP6Qc2ZNP+kljhBLqzinW2jyxPAqQS17g5Tb01+WfqkG/T5jboyIIe/OEQ5XbQp3/d8rUA8STpJxD25lwKKqlIqU3ZFWYfRT+pA0x83AdiTm53CJSQqFyCLtZCqK0XSZbLfmFzjZJ7I8FQxZoF2o03DDkL1Xs0z0sj87i3UnsYzxGdSrcU2JDK7qRIn39sM=
|
|
sudo: required
|
|
language: c
|
|
dist: xenial
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- automake
|
|
- autoconf
|
|
- libtool
|
|
- libssl-dev
|
|
- sed
|
|
- make
|
|
- gawk
|
|
- sed
|
|
- bash
|
|
- dh-exec
|
|
- pylint3
|
|
- python3-cryptography
|
|
- python3-pip
|
|
- python3-setuptools
|
|
- python3-twisted
|
|
- libfuse-dev
|
|
- libglib2.0-dev
|
|
- libgmp-dev
|
|
- expect
|
|
- libtasn1-dev
|
|
- socat
|
|
- findutils
|
|
- gnutls-dev
|
|
- gnutls-bin
|
|
- libasan2
|
|
- softhsm2
|
|
- libseccomp-dev
|
|
coverity_scan:
|
|
project:
|
|
name: swtpm
|
|
description: Build submitted via Travis CI
|
|
notification_email: stefanb@linux.vnet.ibm.com
|
|
build_command_prepend: "git clone https://github.com/stefanberger/libtpms && cd libtpms && ./autogen.sh --with-openssl --prefix=/usr --with-tpm2 && make -j$(${NPROC:-nproc}) && sudo make install && cd .. && ./autogen.sh --with-openssl"
|
|
build_command: make -j$(${NPROC:-nproc})
|
|
branch_pattern: coverity_scan
|
|
before_install:
|
|
- test $TRAVIS_BRANCH != coverity_scan -o ${TRAVIS_JOB_NUMBER##*.} = 1 || exit 0
|
|
- | # We need trousers only for the tss user
|
|
if [ "$(uname -s)" = "Linux" ]; then
|
|
sudo rm -rf /dev/tpm* # This is a work-around for Bionic where trousers otherwise fails to install
|
|
sudo apt-get -y install trousers
|
|
fi
|
|
script:
|
|
- sudo pip3 install --upgrade pip==20.3.3
|
|
- sudo pip3 install --upgrade wheel
|
|
- sudo pip3 install --upgrade cryptography
|
|
- if [ ! -d libtpms ]; then git clone https://github.com/stefanberger/libtpms; fi
|
|
- cd libtpms
|
|
- if [ -n "${LIBTPMS_GIT_CHECKOUT}" ]; then
|
|
git checkout "${LIBTPMS_GIT_CHECKOUT}" -b testing;
|
|
fi
|
|
- CFLAGS="${LIBTPMS_CFLAGS:--g -O2}" LDFLAGS="${LIBTPMS_LDFLAGS}"
|
|
./autogen.sh --with-openssl --prefix=${LIBTPMS_PREFIX:-/usr} --with-tpm2 ${LIBTPMS_CONFIG}
|
|
&& make -j$(${NPROC:-nproc})
|
|
&& sudo make install
|
|
- cd ..
|
|
- ./autogen.sh ${CONFIG}
|
|
&& ${SUDO} make clean
|
|
&& export SWTPM_TEST_EXPENSIVE=${SWTPM_TEST_EXPENSIVE:-1}
|
|
&& export SWTPM_TEST_IBMTSS2=${SWTPM_TEST_IBMTSS2:-0}
|
|
&& ${SUDO} make -j$(${NPROC:-nproc}) ${CHECK} VERBOSE=1
|
|
- if [ -n "${RUN_TEST}" ]; then
|
|
sudo make install
|
|
&& sudo ${PREFIX}/bin/swtpm_setup
|
|
--tpmstate /tmp --create-ek-cert --create-platform-cert --tpm2
|
|
|| { exit 1; };
|
|
fi
|
|
after_failure:
|
|
- for f in tests/*.log; do echo ">>>>>>> $f <<<<<<<"; cat $f; done
|
|
matrix:
|
|
include:
|
|
- env: PREFIX="/usr"
|
|
CONFIG="--with-openssl --prefix=${PREFIX}"
|
|
CHECK="distcheck"
|
|
RUN_TEST="1"
|
|
- dist: bionic
|
|
env: PREFIX="/usr"
|
|
CONFIG="--with-openssl --prefix=/usr --enable-test-coverage"
|
|
SUDO="sudo"
|
|
CHECK="check"
|
|
SWTPM_TEST_IBMTSS2="1"
|
|
after_success:
|
|
- pylint3 --max-line-length=100 src/swtpm_setup/py_swtpm_setup/*.py || exit 1;
|
|
- pylint3 --max-line-length=100 samples/py_swtpm_localca/*.py || exit 1;
|
|
before_script:
|
|
- sudo apt-get -y install tss2
|
|
- sudo pip install cpp-coveralls
|
|
- p=$PWD; while [ "$PWD" != "/" ]; do chmod o+x . &>/dev/null ; cd .. ; done; cd $p
|
|
&& sudo mkdir src/swtpm/.libs
|
|
&& sudo chown nobody src/swtpm src/swtpm/.libs
|
|
after_success:
|
|
- uidgid="$(id -nu):$(id -ng)" &&
|
|
sudo chown -R ${uidgid} ./ &&
|
|
cpp-coveralls --gcov-options '\-lp' -e libtpms
|
|
- env: _CFLAGS="-fsanitize=address -g -fno-omit-frame-pointer -fno-sanitize-recover"
|
|
LIBTPMS_CFLAGS="-fsanitize=address -g -fno-omit-frame-pointer -fno-sanitize-recover"
|
|
LIBS="-lasan"
|
|
ASAN_OPTIONS="halt_on_error=1"
|
|
PREFIX="/usr"
|
|
CONFIG="--with-openssl --prefix=${PREFIX} --without-seccomp"
|
|
SUDO="sudo"
|
|
CHECK="check"
|
|
- env: _CFLAGS="-fsanitize=address -g -fno-omit-frame-pointer -fno-sanitize-recover"
|
|
LIBTPMS_CFLAGS="-fsanitize=address -g -fno-omit-frame-pointer -fno-sanitize-recover"
|
|
LIBTPMS_CONFIG="--disable-use-openssl-functions"
|
|
LIBS="-lasan"
|
|
ASAN_OPTIONS="halt_on_error=1"
|
|
PREFIX="/usr"
|
|
CONFIG="--with-openssl --prefix=${PREFIX} --without-seccomp"
|
|
SUDO="sudo"
|
|
CHECK="check"
|
|
- env: CFLAGS="-fsanitize=undefined -g -fno-omit-frame-pointer -fno-sanitize-recover"
|
|
LIBTPMS_CFLAGS="-fsanitize=undefined -g -fno-omit-frame-pointer -fno-sanitize-recover"
|
|
LIBS="-lubsan"
|
|
UBSAN_OPTIONS="halt_on_error=1"
|
|
PREFIX="/usr"
|
|
CONFIG="--with-openssl --prefix=${PREFIX}"
|
|
SUDO="sudo"
|
|
CHECK="check"
|