I’ve noticed that the test262 repository often contains tests for proposals or spec changes that haven’t yet landed in the main branch of ecma262.
I’m trying to find a reliable way to determine which commit in test262/main reflects the most recent changes that have actually been merged into ecma262/main.
As far as I know, ecma262 doesn’t directly reference specific test262 commits (e.g., via submodules or pinned SHAs), so I’m wondering if there’s any recommended or semi-official way to track this relationship.
More broadly, I’m also curious whether there’s a known way to identify which commit(s) in test262 correspond to the latest official ECMAScript edition (e.g., ES2024 or the upcoming ES2025). Is there any tagging, branch convention, or coordination process that helps link a given edition of the spec to a particular snapshot of the tests?
Any insights or practices would be greatly appreciated.
For context this is because having tests is a requirement that new proposals must meet before they become Stage 3. So it should always be the case that tests are added before the spec change.
That's not determinable by commit hash; the closest thing you could do is use the feature flags in features.txt, but you'd have to "just know" which ones were merged or not.
no engine I'm aware of implements precisely what's merged and nothing more; merging happens some time after stage 4, and implementation is supposed to happen in stage 3.
I hadn’t realized that test262 is intentionally ahead of ecma262 as part of the TC39 process. That helps put the structure of the repos into perspective.
I also hadn’t come across features.txt before — that’s helpful. With that and some manual steps, I think I can get close enough for my use case.
It may also help to know that the proposals repo keeps track of test262 feature flags, so in principle you should be able to read from that list and just filter out any tests which have a flag corresponding to a pre-stage-4 proposal.