runtime(syntax-tests): Fail when executable syntax tests are found

The input files with syntax test cases are never compiled or
interpreted on behalf of test runners, just read, and their
parts are rendered in accordance with syntax definitions for
associated languages, to be compared with previously vetted
renderings.  Whether their arbitrary contents will be valid
programs, benign programs, etc., is left for test authors to
decide and verify in their own environments.  As executable
and non-executable files equally qualify for testing and yet
executability is never exercised, and since maintaining
executable files turns out to be a short-lived exception
than common practice, let us persist in keeping syntax files
non-executable and enforce it with a CI check.

closes: #19433

Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Aliaksei Budavei
2026-02-18 18:35:26 +00:00
committed by Christian Brabandt
parent 472f46e231
commit dbd924f6a0
4 changed files with 15 additions and 2 deletions
+8 -1
View File
@@ -47,7 +47,7 @@ jobs:
extra: [nogui]
- features: tiny
compiler: gcc
extra: [nogui]
extra: [nogui, syn_test_execs]
- features: tiny
compiler: gcc
extra: [nogui]
@@ -106,6 +106,13 @@ jobs:
# exit with an error code and list the missing entries.
make -C ci -f hlgroups.make
- name: Report executable syntax tests
if: contains(matrix.extra, 'syn_test_execs')
run: |
# Search and list all found executable syntax tests, and exit with
# an error code.
make -C runtime/syntax executables
- run: sudo dpkg --add-architecture i386
if: matrix.architecture == 'i386'