Repository navigation
fix(test): give the compat library tests the whole compiler command - #2603
Merged
Merged
Conversation
…2603) * fix(test): give the compat library tests the whole compiler command Both sanitizer legs (TSan, ASan+UBSan; run 37760287719) failed on master after #2303: test_compat_library_gates and test_libvmaf_deprecation ran /usr/bin/ccache with compiler flags ("ccache: invalid option -- 'a'"). core/test/meson.build passed cc.cmd_array()[0], and those legs build with CC='ccache clang-22', where the first word is the launcher. Any build with a compiler launcher failed the same way; the sanitizers play no part. Meson now passes the whole command, one word per --cc=<word> argument (vmaf_test_cc_args), and both tests read it through core/test/meson_cc.py. The compat AGENTS page records the rule. Tests: with ccache 4.13.6 and clang 23 configured like the CI legs (CC='ccache clang', lld, -Db_lundef=false), master's two tests fail with the CI's messages; the fixed ones pass through meson test in an ASan+UBSan build (with check_exported_symbols and check_exported_symbols_libvmaf) and in a TSan build. Signed-off-by: Lusoris <lusoris@proton.me>
lusoris
force-pushed
the
fix/compat-tests-full-compiler-command
branch
from
October 8, 2026 11:43
0124f80 to
4bd0a42
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Both sanitizer legs (TSan and ASan+UBSan, run 37760287719) fail on master since #2303 (
14dc2972d):test_compat_library_gates:test_engine_symbol_does_not_linkandtest_exported_vmafx_function_linksfail.test_libvmaf_deprecation: its three compile cases fail.Every failure prints
/usr/bin/ccache: invalid option -- 'a'(or-- 'W'). The cause is not the sanitizers:core/test/meson.buildpassed the testscc.cmd_array()[0], the first word of the compiler command.CC='ccache clang-22', where the first word is the launcher, so the tests ranccache -shared ....The fix:
--cc=<word>argument (vmaf_test_cc_args).core/test/meson_cc.py.cc.cmd_array()[0].Type
fix— bug fixtest— test-onlyChecklist
git commit -s). See DCO sign-off.make format && make lintis green locally: the commit hooks pass (ruff, markdownlint, caveman, generated-index freshness).-Db_lto=false,-j4, warnings as errors):--suite=fast: 410 OK, 0 fail;make test-netflix-golden: 280 passed, 3 skipped;preflight.sh --stage msvcism: pass;/cross-backend-diffand the worst ULP is ≤ 2. (not applicable).c/.cpp/.cu/.h/.hpp, it has the appropriate license header (seeCONTRIBUTING.md). (meson_cc.pycarries the EUPL-1.2 header)!orBREAKING CHANGE:and the migration path is documented below. (not breaking)docs/adr/_index_fragments/<NNNN-slug>.mdand nothing else is touched for the index. (no ADR)Bug-status hygiene (ADR-0165)
docs/state.mdupdated in this PR with a row under Recently closed:T-COMPAT-TESTS-CCACHE-FIRST-WORD-2026-10-08.Netflix golden-data gate (ADR-0024)
assertAlmostEqual(...)score in the Netflix golden Python tests.Deep-dive deliverables (ADR-0108)
shlexwould break on a compiler path with spaces, and skipping under ccache would drop the coverage.AGENTS.mdinvariant note —core/src/AGENTS.d/vmafx-compat.md: compiler-driving tests take the whole command (--cc=words), nevercc.cmd_array()[0].Reproducer
Evidence
Local runs used ccache 4.13.6 (the upstream release binary) and clang 23.1.1, configured like the CI legs.
meson.buildpasses it, fail with the CI's messages:ccache: invalid option -- 'a'and-- 'W'.meson testpasses in an ASan+UBSan build:test_compat_library_gates,test_libvmaf_deprecation,check_exported_symbolsandcheck_exported_symbols_libvmaf, 4 OK.Known follow-ups
None.