Repository navigation
Conversation
…ir own oracles A track for replacing tests/testcases/tinycc/ with musl's libc-test, a SingleSource slice of llvm-test-suite and libc++'s own suite, run by a Rust runner that interprets the lit directives libc++ uses. It records where each suite's source lives, the folder structure, how its red rows reach src/redlist.rs, the runner, the tiers, the migration and the architectures. Measured for it, in scratch clones and against the primary's llvm-project checkout: - libc-test 7b95dfa5 (no tags): 815 carried files, 1,378,866 bytes, once crlibm (GPL-2.0), ucb (fee-restricted) and the 66 math tests that include them are left out. Built against sysroot c94bbaad2f72a448's C sysroot, 34 of the 275 runnable cases build: 132 stop on a missing fenv.h, 103 on other compile errors, 6 at the link. The 34 took 2.17 s of serial compile and link and average 575,217 bytes stripped. - llvm-test-suite llvmorg-22.1.8 (28d2f36a): 894 of SingleSource's 4,008 files, 10,175,372 bytes; 372 tests with reference outputs. - libc++ libcxx/test: tree eb1b3645 at base 52ed14fc, at the fork branch and at rust/'s gitlink a79bc52c. 7,751 .pass, 732 .compile.pass, 552 .verify, 193 .compile.fail, 42 .sh, 12 .gen.py; the directive counts come from grepping those files. - TinyCC 64552b3f against tests/testcases/tinycc: 239 identical, 17 modified, 60 ours (29 cases, plus fred.txt). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Japabu
marked this pull request as ready for review
September 29, 2026 07:54
Collaborator
Author
|
Review of Paths below are relative to BLOCKER
NOTE
REMOVE
OWNER-QUESTION
SEND BACK 🤖 Generated with Claude Code |
Collaborator
Author
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.
Adds one track issue,
issues/build/c-and-cxx-conformance-is-upstreams-own-suites.md. It proposes how ToyOS tests C and C++ conformance oncetests/testcases/tinycc/is replaced. No code moves, and no suite is vendored.Decisions
tests/conformance/<suite>/upstream/:tier = "suite"row inforks.toml.suite.tomllock records upstream's git object ids. A host gate compares it withgit ls-tree, and--check-forkscompares it with upstream.tests/conformance/holds thetoyos-conformancecrate,ours/, and one directory per suite. Upstream tests are judged only by upstream's oracle.src/redlist.rsloads each suite's red rows from itssuite.toml, and each row names the stage its test stops at. This replacesNOT_RUN.unsupportedis not a red. The pass count is derived on every run and never stored.ccheckand the rule held equal in two places. The lit subset the runner implements is the one measured in libc++'s tree. libc++ features are read from__config_site, not declared by hand.UnitTests/Regression. Nightly: SingleSource benchmarks, and C++ plus libc++ at c++26 once M3 lands. Weekly: libc++ at c++17.tests/testcases/LICENSE, NOTICE's TinyCC section andCORPUS_POPULATIONSdeleted.suite.toml, and AArch64 conformance staysTier::Localuntil the port's stages 7 and 8.Measured, not estimated
These come from scratch clones and from the primary's llvm-project checkout (read only):
7b95dfa5: 815 files and 1,378,866 bytes are carried. Against sysrootc94bbaad2f72a448, 34 of 275 runnable cases build: 132 stop on a missingfenv.h, 103 on other compile errors, and 6 at the link. The 34 took 2.17 s to compile and link serially, and average 575,217 bytes stripped.llvmorg-22.1.8: 894 of 4,008 files and 10,175,372 bytes are carried, with 372 reference-output tests.libcxx/test: treeeb1b3645at the base, at the fork branch and at rust/'s gitlink. The kind and directive counts are in the issue.64552b3f: 239 identical files, 17 modified, 60 ours. This matchestests/testcases/LICENSE.Unsure
ucb/vectors are excluded as the same class as the DECUS notice (they forbid redistribution for a fee). Polybench is excluded for its indemnity clause. Both are the owner's to overrule.issues/README.md's one-screen bar. The brief asked for decisions with their reasons, and I cut everything else.Gates
cargo run -- --ci host: EXIT=0 on the committed head17a2556c.🤖 Generated with Claude Code