summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rwxr-xr-xtest/run-tests.sh22
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