diff options
Diffstat (limited to 'test/run-tests.sh')
| -rwxr-xr-x | test/run-tests.sh | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/test/run-tests.sh b/test/run-tests.sh index 6e8ae43..a88e024 100755 --- a/test/run-tests.sh +++ b/test/run-tests.sh @@ -195,7 +195,27 @@ else bad "stale report detection" "rc=$rc out=$out" fi -# 15. A missing project directory is fatal, never a silent fallback to cwd. +# 15. UP-TO-DATE is the common way a report goes stale, so say so rather than leaving the +# reader to work out why nothing changed. +d="$tmproot/report-uptodate" +make_project "$d" 0 'echo "> Task :app:detekt UP-TO-DATE"' +mkdir -p "$d/app/build/reports/detekt" +printf '<?xml version="1.0"?><checkstyle></checkstyle>' > "$d/app/build/reports/detekt/detekt.xml" +touch -d '2020-01-01' "$d/app/build/reports/detekt/detekt.xml" +out=$("$BIN/gradle-report" "$d" detekt 2>&1); rc=$? +if [ $rc -ne 0 ] && printf '%s' "$out" | grep -qi "UP-TO-DATE"; then + ok "explains an UP-TO-DATE task rather than just saying stale" +else + bad "up-to-date hint" "rc=$rc out=$out" +fi +out=$("$BIN/gradle-report" "$d" detekt --allow-stale 2>&1); rc=$? +if [ $rc -eq 0 ] && printf '%s' "$out" | grep -qi "allow-stale"; then + ok "--allow-stale opts in to an older report" +else + bad "allow-stale" "rc=$rc out=$out" +fi + +# 16. A missing project directory is fatal, never a silent fallback to cwd. out=$("$BIN/gradle-report" "$tmproot/nope" detekt 2>&1); rc=$? if [ $rc -eq 2 ]; then ok "missing project dir is fatal"; else bad "missing dir" "rc=$rc"; fi |
