This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch wl/browser-all
in repository enlightenment.
View the commit online.
commit d81648895f3f834c48b25d00d37e82411d4c7b21
Author: Cedric BAIL <[email protected]>
AuthorDate: Sat Aug 8 22:29:53 2026 -0600
tests - fix filters for value-parameterised suites, add --check
The TRIAGE and E-03 filters matched nothing. Value-parameterised gtest
suites carry their instantiation prefix in the real name -
"SurfaceInputRegions/SurfaceInputCombinations", not
"SurfaceInputCombinations" - so those filters need a leading '*'.
The failure mode is the dangerous kind: wlcs runs, reports 0 tests, exits 0,
and a full run looks like it completed. wlcs-task.sh already refused to call
that a pass, but only if you went through wlcs-task.sh.
So add --check, which validates every filter with --gtest_list_tests. No
compositor, no test execution, a couple of seconds for the whole table -
cheap enough to run after any edit to tasks.txt. All ten filters now
verified to match: 2, 144, 10, 1, 11, 18, 3, 6, 34 and 546 tests.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01FtoiXoSKUmZb6Aix6U3GZS
---
src/tests/wlcs/tasks.txt | 11 +++++++++--
src/tests/wlcs/wlcs-task.sh | 21 +++++++++++++++++++++
2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/src/tests/wlcs/tasks.txt b/src/tests/wlcs/tasks.txt
index 9de6a58b2..1c8187ec7 100644
--- a/src/tests/wlcs/tasks.txt
+++ b/src/tests/wlcs/tasks.txt
@@ -25,10 +25,17 @@
# for E-01 that is src/tests/wayland/test_output.c, which does check the
# bound version, the name/description events and their ordering.
#
+# * Value-parameterised suites carry an instantiation prefix in their real
+# gtest name - "SurfaceInputRegions/SurfaceInputCombinations", not
+# "SurfaceInputCombinations" - so their filters need a leading '*'. Getting
+# this wrong matches nothing and looks like a clean run. ./wlcs-task.sh
+# --check catches it in seconds without starting a compositor; run it after
+# editing this file.
+#
# Recorded against wlcs v1.7.0.
E-01 WlOutputTest.* # WEAK: does not check the version; see note
-E-03 XdgPopupPositionerTest.*:XdgPopupTest.*:XdgSurfaceStableTest.*:XdgSurfaceV6Test.* # positioner, reposition, configure_bounds
+E-03 *XdgPopupPositionerTest.*:XdgPopupTest.*:XdgSurfaceStableTest.*:XdgSurfaceV6Test.* # positioner, reposition, configure_bounds
E-05 PrimarySelection.*:GtkPrimarySelection.* # middle-click paste
E-08 XdgOutputV1Test.* # xdg-output logical geometry
E-13 TextInputV3WithInputMethodV2Test.* # text-input v3
@@ -40,7 +47,7 @@ E-24 XdgToplevelStableTest.*:XdgToplevelV6Test.*:XdgToplevelStableConfiguration
# Not a single task - the big input-region and subsurface suites fail for a mix
# of reasons (focus never arriving, spurious leaves, subsurface input routing).
# Triage these before assigning them; they are the largest remaining block.
-TRIAGE RegionSurfaceInputCombinations.*:SurfaceInputCombinations.*:SubsurfaceTest.*:SubsurfaceMultilevelTest.*:ToplevelInputCombinations.*:TouchTest.*
+TRIAGE *RegionSurfaceInputCombinations.*:*SurfaceInputCombinations.*:*SubsurfaceTest.*:*SubsurfaceMultilevelTest.*:*ToplevelInputCombinations.*:*TouchTest.*
# No wlcs coverage. Listed so their absence is deliberate rather than an
# oversight: use the in-tree tests and the third-party clients instead.
diff --git a/src/tests/wlcs/wlcs-task.sh b/src/tests/wlcs/wlcs-task.sh
index be0cce46f..115995757 100755
--- a/src/tests/wlcs/wlcs-task.sh
+++ b/src/tests/wlcs/wlcs-task.sh
@@ -4,6 +4,7 @@
# ./wlcs-task.sh E-20 run one task's tests
# ./wlcs-task.sh --list show the task -> filter map
# ./wlcs-task.sh --all run every mapped task, print a table
+# ./wlcs-task.sh --check verify every filter matches >0 tests, fast
#
# Environment:
# WLCS path to the wlcs runner (default: looks in PATH, then
@@ -73,6 +74,26 @@ run_one() {
}
case "${1:---list}" in
+ --check)
+ # Cheap validation: --gtest_list_tests needs no compositor, so this
+ # catches a filter that has stopped matching - a renamed suite, or a
+ # value-parameterised one missing its leading '*' - in seconds rather
+ # than after a long run that silently tested nothing.
+ all=$("$WLCS" "$E_WLCS_SO" --gtest_list_tests 2>/dev/null) || :
+ rc=0
+ for t in $(awk '!/^#/ && NF >= 2 { print $1 }' "$tasks"); do
+ f=$(filter_for "$t")
+ n=$("$WLCS" "$E_WLCS_SO" --gtest_list_tests --gtest_filter="$f" 2>/dev/null \
+ | grep -cE '^ ' || :)
+ if [ "$n" -eq 0 ]; then
+ printf '%-8s MATCHES NOTHING %s\n' "$t" "$f"
+ rc=1
+ else
+ printf '%-8s %4s tests\n' "$t" "$n"
+ fi
+ done
+ exit $rc
+ ;;
--list)
printf '%-8s %s\n' TASK FILTER
awk '!/^#/ && NF >= 2 { printf "%-8s %s\n", $1, $2 }' "$tasks"
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.