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.

Reply via email to