Closed justingrant closed 1 year ago
All Demitasse tests now pass. Node 19 made many changes in the output of Intl.DateTimeFormat
. It took a bit of time to write node-version-agnostic code for affected tests.
But I'm stumped with Test262, which is failing in Node 19 but when I look at the test output I don't see any failures, only successes and expected failures. @ptomato , you're a Test262 expert. Any ideas about what may be going on?
But I'm stumped with Test262, which is failing in Node 19 but when I look at the test output I don't see any failures, only successes and expected failures. @ptomato , you're a Test262 expert. Any ideas about what may be going on?
Mystery solved by copying https://github.com/tc39/proposal-temporal/blob/main/polyfill/runtest262.mjs into this repo. Now I can see the failures, which seem to be related to the Intl format changes that caused the Node 19 Demitasse failures.
PR filed in Test262 for the failures in Node 19: https://github.com/tc39/test262/pull/3750
I'm not sure what's going on with the test262-es5
and test262-opt
runs. I assume these are rollup config issues?
This PR should be ready to go, but unfortunately because Test262 changes were needed, it's blocked on catching up with the last few months of normative changes from proposal-temporal, so that we can pass the last few months of Test262 changes. When we've caught up with the normative changes then I can rebase this PR and it should be good to merge.
Caveat: there may be a problem with our ES5 and "opt" runs of Test262 with the optimized test runner from proposal-temporal. I may create a separate PR for that runner change so we can try to solve it in parallel.
I'll change to a draft PR in the meantime.
@12wrigja All tests now pass because I just added a new expected-failures file to include the 897 (!!!) Test262 tests that fail because of commits that we have yet to migrate over from proposal-temporal. Seems like we have two options:
Which would you prefer? Personally I like (1) because it's one less rebase to worry about in the future, but I'm flexible either way.
Let's proceed with 1 - I don't want this work to bit-rot, and my understanding is the 262 runner will flag tests that are supposed to fail but pass and we can remove the relevant lines then.
Makes CI tests pass in Node 18 and Node 19. It was a little more complicated than https://github.com/tc39/proposal-temporal/pull/2448 because TS code and demitasse tests required some changes.
@js-temporal/temporal-test262-runner
test/expected-failures-todo-migrated-code.txt
file that tracks Test262 failures due to this repo being behind proposal-temporal in merging the latest normative changes to the Temporal spec. As upstream changes are migrated here, tests should be removed from that file.