diff --git a/cddl/usr.sbin/dtrace/tests/tools/exclude.sh b/cddl/usr.sbin/dtrace/tests/tools/exclude.sh --- a/cddl/usr.sbin/dtrace/tests/tools/exclude.sh +++ b/cddl/usr.sbin/dtrace/tests/tools/exclude.sh @@ -17,9 +17,11 @@ # 1) and 2). # # The SKIP variable contains tests that should not be executed at all. The -# EXFAIL variable contains tests that are expected to fail when run. Please -# avoid adding tests to SKIP unless it really is necessary; with EXFAIL, tests -# that begin passing as the result of a change are visible in the test summary. +# EXFAIL variable contains tests that are expected to fail when run. The +# SKIPCI variable contains tests that are flakey and should not be executed in +# the CI environment. Please avoid adding tests to SKIP unless it really is +# necessary; with EXFAIL, tests that begin passing as the result of a change +# are visible in the test summary. exclude() { diff --git a/cddl/usr.sbin/dtrace/tests/tools/gentest.sh b/cddl/usr.sbin/dtrace/tests/tools/gentest.sh --- a/cddl/usr.sbin/dtrace/tests/tools/gentest.sh +++ b/cddl/usr.sbin/dtrace/tests/tools/gentest.sh @@ -83,18 +83,20 @@ . $EXCLUDES EXFAILS=$(echo -e "$EXFAIL" | grep "^${CATEGORY}/" | xargs basename -a) SKIPS=$(echo -e "$SKIP" | grep "^${CATEGORY}/" | xargs basename -a) +SKIPCIS=$(echo -e "$SKIPCI" | grep "^${CATEGORY}/" | xargs basename -a) FILELIST=$(mktemp) trap 'rm -f $FILELIST' EXIT echo "$@" | tr ' ' '\n' | xargs basename -a | sort > ${FILELIST} -TFILES=$(printf '%s\n%s' "$EXFAILS" "$SKIPS" | sort | comm -13 /dev/stdin $FILELIST) +TFILES=$(printf '%s\n%s' "$EXFAILS" "$SKIPS" "$SKIPCIS" | sort | comm -13 /dev/stdin $FILELIST) # # Generate test cases. # gentestcases SKIPS "atf_skip \"test may hang or cause system instability\"" gentestcases EXFAILS "atf_expect_fail \"test is known to fail\"" +gentestcases SKIPCIS "if [ \"\$(atf_config_get ci false)\" = \"true\" ]; then atf_skip \"see cddl/usr.sbin/dtrace/tests/tools/exclude.sh\"; fi" gentestcases TFILES #