From dda1fc81be620375eebca33ef53a1eff2eb2bb51 Mon Sep 17 00:00:00 2001 From: Evgeny Vereshchagin Date: Fri, 14 Jun 2019 20:42:19 +0200 Subject: [PATCH 1/4] travis: run Coverity after Fuzzit-Fuzzing Coverity is unpredictable and, according to a notification I received yeserday, it will be upgraded on June 17. During the upgrade it might be offline for 3 days, af far as I understand. Anyway, Travis stops as soon as a stage fails so it makes sense to put stages that are likely to fail at the end so that the others have a chance to do what they are supposed to do. https://community.synopsys.com/s/topic/0TO2H0000001CN7WAM/coverity-scan-status --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 864d84f170..f41b43ed22 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,11 +11,11 @@ env: - REPO_ROOT="$TRAVIS_BUILD_DIR" stages: - # Run Coverity periodically instead of for each commit/PR - - name: Coverity + - name: Fuzzit-Fuzzing if: type = cron - - name: Fuzzit-Fuzzing + # Run Coverity periodically instead of for each commit/PR + - name: Coverity if: type = cron jobs: From baea4bd9690967da9740625b8caca0bbdd2bae5b Mon Sep 17 00:00:00 2001 From: Evgeny Vereshchagin Date: Fri, 14 Jun 2019 20:56:10 +0200 Subject: [PATCH 2/4] travis: skip the Fuzzit-Sanity stage when it's run by cron --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index f41b43ed22..181ed5e4bd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,6 +14,9 @@ stages: - name: Fuzzit-Fuzzing if: type = cron + - name: Fuzzit-Sanity + if: type != cron + # Run Coverity periodically instead of for each commit/PR - name: Coverity if: type = cron From 4feed0fb69300d3f1de7195637a952e6359f4a6f Mon Sep 17 00:00:00 2001 From: Evgeny Vereshchagin Date: Fri, 14 Jun 2019 21:16:41 +0200 Subject: [PATCH 3/4] travis: always run the "Build & test" stage first Now that the other stages are explicitly listed in the "stages" section, we should include "Built & test" there to make sure it's run first. --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 181ed5e4bd..dd34e9c82a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,6 +11,9 @@ env: - REPO_ROOT="$TRAVIS_BUILD_DIR" stages: + - name: Build & test + if: type != cron + - name: Fuzzit-Fuzzing if: type = cron From 356f607aa327a9ec3c972728f1e2687a4890d891 Mon Sep 17 00:00:00 2001 From: Evgeny Vereshchagin Date: Fri, 14 Jun 2019 21:47:31 +0200 Subject: [PATCH 4/4] travis: add 5 more fuzz targets --- travis-ci/managers/fuzzit.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/travis-ci/managers/fuzzit.sh b/travis-ci/managers/fuzzit.sh index c93d8c075c..cd034aa2ca 100755 --- a/travis-ci/managers/fuzzit.sh +++ b/travis-ci/managers/fuzzit.sh @@ -28,16 +28,19 @@ fi # on pull-request we use a write-only key which is ok for now. maybe there will be a better solution in the future export FUZZIT_API_KEY=7c1bd82fe0927ffe1b4bf1e2e86cc812b28dfe08a7080a7bf498e98715884a163402ee37ba95d4b1637247deffcea43e export FUZZIT_ADDITIONAL_FILES="./out/src/shared/libsystemd-shared-242.so" -export FUZZIT_ARGS="--type ${FUZZING_TYPE} --branch "${FUZZIT_BRANCH}" --revision ${TRAVIS_COMMIT}" +export FUZZIT_ARGS="--type ${FUZZING_TYPE} --branch ${FUZZIT_BRANCH} --revision ${TRAVIS_COMMIT} --asan_options quarantine_size_mb=10" wget -O fuzzit https://bin.fuzzit.dev/fuzzit-1.1 chmod +x fuzzit ./fuzzit auth ${FUZZIT_API_KEY} + +# The following was generated with +# ./fuzzit get targets | jq --raw-output '.target_name + " " + .id' | perl -alne 'printf("./fuzzit c job \${FUZZIT_ARGS} %s ./out/%s \${FUZZIT_ADDITIONAL_FILES}\n", $F[1], $F[0])' ./fuzzit c job ${FUZZIT_ARGS} 2ODbhEjfRF2AZtrUotMh ./out/fuzz-bus-label ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} 62XnUyWTLAvIRh1vFkEw ./out/fuzz-journald-stream ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} 6AdGwIiI3l1Edu9V4fvF ./out/fuzz-env-file ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} 7ubB4DVu2EiYgPVtRUNV ./out/fuzz-calendarspec ${FUZZIT_ADDITIONAL_FILES} -./fuzzit c job ${FUZZIT_ARGS} --asan_options "quarantine_size_mb=10" 8D0NrVtSwTpl23a9k0vv ./out/fuzz-nspawn-oci ${FUZZIT_ADDITIONAL_FILES} +./fuzzit c job ${FUZZIT_ARGS} 8D0NrVtSwTpl23a9k0vv ./out/fuzz-nspawn-oci ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} 8tbrzwxsaIPalIRBHtK8 ./out/fuzz-link-parser ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} 9T5He9cANxHTBLaBURpz ./out/fuzz-journald-kmsg ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} BRaEBuU7QVlSp1HOjlDb ./out/fuzz-udev-database ${FUZZIT_ADDITIONAL_FILES} @@ -47,14 +50,19 @@ chmod +x fuzzit ./fuzzit c job ${FUZZIT_ARGS} P1MpkewCNQCYLdMFggnU ./out/fuzz-journald-audit ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} RmD47BxVRbAZlq07XW30 ./out/fuzz-unit-file ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} S0dGMaaGwkvsLc0IqIJ7 ./out/fuzz-catalog ${FUZZIT_ADDITIONAL_FILES} +./fuzzit c job ${FUZZIT_ARGS} X7qIoGLAoBgjVf19SfvY ./out/fuzz-compress ${FUZZIT_ADDITIONAL_FILES} +./fuzzit c job ${FUZZIT_ARGS} YAfecldFs2xaXn0Ws1BE ./out/fuzz-dns-packet ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} bgRZAE9E5uXRbUX76tId ./out/fuzz-ndisc-rs ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} cXCm75EhdDf5t2sSBLRC ./out/fuzz-hostname-util ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} cbgsYEyX6776MHFotO9O ./out/fuzz-nspawn-settings ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} d8lokp0LCLYgQwI7vyx6 ./out/fuzz-journald-native-fd ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} eoc9rbm2jKqIEg6Kdonv ./out/fuzz-network-parser ${FUZZIT_ADDITIONAL_FILES} +./fuzzit c job ${FUZZIT_ARGS} ezQIlJWCX3xPUJdhLnWM ./out/fuzz-dhcp-server ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} ge3eTzephghWD3Stw2TE ./out/fuzz-journald-syslog ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} nPIt1SCDkGkSFDth5RlG ./out/fuzz-json ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} nU0lRNNkQrXirDMNOpR1 ./out/fuzz-varlink ${FUZZIT_ADDITIONAL_FILES} +./fuzzit c job ${FUZZIT_ARGS} pzrzgLQY2cG8Iexb0tOt ./out/fuzz-journal-remote ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} qCWFcENjlfWJX0Q3cIOT ./out/fuzz-journald-native ${FUZZIT_ADDITIONAL_FILES} +./fuzzit c job ${FUZZIT_ARGS} s7d3LuRbkETCPSyxUvW8 ./out/fuzz-time-util ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} udjVYJfH4N01vaHNF5Kv ./out/fuzz-lldp ${FUZZIT_ADDITIONAL_FILES} ./fuzzit c job ${FUZZIT_ARGS} vbYVccyWoDdgqzrQeln8 ./out/fuzz-bus-message ${FUZZIT_ADDITIONAL_FILES}