[FFmpeg-devel] [PATCH v3] fate: Add a target for listing failed tests
Martin Storsjö
martin at martin.st
Mon Dec 9 23:50:04 EET 2024
If running tests with "make -j<N> fate", the execution will stop
after the first failing test. To get an overview of the whole
test suite, one rather would run "make -k -j<N> fate", which then
again buries the results about what tests actually failed further
up in the console log.
Add a target so one can run "make fate-list-failing", to see a list
of all tests that failed the last time they were executed.
Also add a companion target "fate-clear-results" which removes all
the old test results. (When executing a subset of tests, the result
files of all tests that aren't executed stay untouched. This also
allows getting rid of results for tests that no longer are present
in the testsuite.)
Co-authored-by: Alexander Strasser <eclipse7 at gmx.net>
---
v3: Renamed the clear target to "fate-clear-reports", and updated
the docs accordingly. Added the check for whether there are any
*.rep files at all.
---
doc/build_system.txt | 7 +++++++
doc/fate.texi | 7 +++++++
tests/Makefile | 6 ++++++
3 files changed, 20 insertions(+)
diff --git a/doc/build_system.txt b/doc/build_system.txt
index 0b1b0c2054..053d449862 100644
--- a/doc/build_system.txt
+++ b/doc/build_system.txt
@@ -30,6 +30,13 @@ fate
fate-list
List all fate/regression test targets.
+fate-list-failing
+ List the fate tests that failed the last time they were executed.
+
+fate-clear-reports
+ Remove the test reports from previous test executions (getting rid of
+ potentially stale results from fate-list-failing).
+
install
Install headers, libraries and programs.
diff --git a/doc/fate.texi b/doc/fate.texi
index 17644ce65a..7a2e0edfcc 100644
--- a/doc/fate.texi
+++ b/doc/fate.texi
@@ -208,6 +208,13 @@ Download/synchronize sample files to the configured samples directory.
@item fate-list
Will list all fate/regression test targets.
+ at item fate-list-failing
+List the fate tests that failed the last time they were executed.
+
+ at item fate-clear-reports
+Remove the test reports from previous test executions (getting rid of
+potentially stale results from fate-list-failing).
+
@item fate
Run the FATE test suite (requires the fate-suite dataset).
@end table
diff --git a/tests/Makefile b/tests/Makefile
index 9b70145015..f9f5fc07f3 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -313,6 +313,12 @@ $(FATE): $(FATE_UTILS:%=tests/%$(HOSTEXESUF)) | $(FATE_OUTDIRS)
fate-list:
@printf '%s\n' $(sort $(FATE))
+fate-list-failing:
+ @! ls tests/data/fate/*.rep >/dev/null 2>&1 || awk -F: '$$2 != 0 { print "fate-" $$1 }' tests/data/fate/*.rep
+
+fate-clear-reports:
+ @rm -f tests/data/fate/*.rep
+
coverage.info: TAG = LCOV
coverage.info:
$(M)lcov -q -d $(CURDIR) -b $(patsubst src%,./,$(SRC_LINK)) --capture | \
--
2.39.5 (Apple Git-154)
More information about the ffmpeg-devel
mailing list