node icon indicating copy to clipboard operation
node copied to clipboard

test: update WPT runner

Open panva opened this issue 1 year ago • 36 comments

This PR updates the WPT runner in an attempt to fix the following issues:

  • if a test file has a single expected failure new regressions are not caught
  • if a test file has expected failures and doesn't fail the runner does nothing with the information
  • if a test file has a flaky test the only possibility is to skip the whole file

In the following way:

  • expected failures are now test names, not arbitrary strings
  • all expected failures must be present in the results otherwise the runner fails with an unexpected pass
  • a flaky array of test names can also be present to allow tests files to be executed whilst containing individual flaky tests.

Other updates (e.g. to the status files, or wpt entry points)

  • "skip" instead of "fail" to reflect what the actual behaviour was
  • updating expected failures to be the reported failed test names rather than arbitrary descriptions
  • allowing more tests that weren't run before by adding a simple polyfill to fix the location is not defined error. This one is coming from wpt orchestration (test/fixtures/wpt/common/subset-tests.js), not the actual tests.
  • CI worker concurrency management that would bog the tests down due to the unlocked WebCryptoAPI WPT tests.

panva avatar Jun 16 '22 20:06 panva

cc @joyeecheung, she did the last refactor (#33297) to the runner behaviour v status file format.

panva avatar Jun 16 '22 20:06 panva

I am unsure which teams to tag here.

panva avatar Jun 16 '22 20:06 panva

CI: https://ci.nodejs.org/job/node-test-pull-request/44628/

nodejs-github-bot avatar Jun 16 '22 21:06 nodejs-github-bot

I am unsure which teams to tag here.

I think it should cc to @nodejs/testing

F3n67u avatar Jun 17 '22 03:06 F3n67u

I think I'll further refactor to allow the expected failures be the test names, not just the errors. This will avoid issues where the error includes a cwd (like the current CI failures).

panva avatar Jun 17 '22 06:06 panva

CI: https://ci.nodejs.org/job/node-test-pull-request/44652/

nodejs-github-bot avatar Jun 17 '22 13:06 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/44661/

nodejs-github-bot avatar Jun 17 '22 16:06 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/44697/

nodejs-github-bot avatar Jun 18 '22 16:06 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/44717/

nodejs-github-bot avatar Jun 19 '22 10:06 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/45050/

nodejs-github-bot avatar Jul 02 '22 12:07 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/45051/

nodejs-github-bot avatar Jul 02 '22 13:07 nodejs-github-bot

I also feel hard to change something related to web compatibility since regressions are not detected with the current runner. Hope that this PR gets progressed.

daeyeon avatar Aug 04 '22 09:08 daeyeon

CI: https://ci.nodejs.org/job/node-test-pull-request/45854/

nodejs-github-bot avatar Aug 05 '22 08:08 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/45855/

nodejs-github-bot avatar Aug 05 '22 08:08 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/45856/

nodejs-github-bot avatar Aug 05 '22 08:08 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/45858/

nodejs-github-bot avatar Aug 05 '22 09:08 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/45860/

nodejs-github-bot avatar Aug 05 '22 11:08 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/45865/

nodejs-github-bot avatar Aug 05 '22 15:08 nodejs-github-bot

Needs investigating:

  • ubuntu1804_sharedlibs_withoutintl_x64 has an unexpected pass the other test-commit-linux-containered build types don't (in test.wpt/test-encoding)
  • win2012r2-COMPILED_BY-vs2019-x86 has an unexpected failure the other build types don't (in test.wpt/test-broadcastchannel)

Not sure how to build in overrides for specific platforms that would allow to target this.

panva avatar Aug 05 '22 15:08 panva

  • ubuntu1804_sharedlibs_withoutintl_x64 has an unexpected pass the other test-commit-linux-containered build types don't (in test.wpt/test-encoding)

This is because the file is conditionally skipped

---- streams/decode-utf8.any.js ----
[SKIPPED] requires small-icu

I need to account for such scenario.

panva avatar Aug 05 '22 15:08 panva

  • win2012r2-COMPILED_BY-vs2019-x86 has an unexpected failure the other build types don't (in test.wpt/test-broadcastchannel)

may be flaky

panva avatar Aug 05 '22 15:08 panva

CI: https://ci.nodejs.org/job/node-test-pull-request/45866/

nodejs-github-bot avatar Aug 05 '22 15:08 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/45869/

nodejs-github-bot avatar Aug 05 '22 16:08 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/45870/

nodejs-github-bot avatar Aug 05 '22 18:08 nodejs-github-bot

cc @nodejs/testing https://github.com/nodejs/node/labels/review%20wanted

panva avatar Aug 05 '22 18:08 panva

@joyeecheung @targos Any chance one of you could give this a quick look?

Trott avatar Aug 07 '22 03:08 Trott

CI: https://ci.nodejs.org/job/node-test-pull-request/45928/

nodejs-github-bot avatar Aug 08 '22 16:08 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/45931/

nodejs-github-bot avatar Aug 08 '22 17:08 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/45936/

nodejs-github-bot avatar Aug 08 '22 19:08 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/45938/

nodejs-github-bot avatar Aug 08 '22 19:08 nodejs-github-bot

Are the without-intl and without-ssl failures for wpt-console related?

Trott avatar Aug 09 '22 02:08 Trott

Are the without-intl and without-ssl failures for wpt-console related?

They used to be silently ignored before. Now they're out in the light.

I'll flake the tests or skip the file (only 2 options we have) and open an issue for console to investigate.

panva avatar Aug 09 '22 04:08 panva

CI: https://ci.nodejs.org/job/node-test-pull-request/45942/

nodejs-github-bot avatar Aug 09 '22 07:08 nodejs-github-bot

I'll have a look at CI again later today.

panva avatar Aug 09 '22 07:08 panva

CI: https://ci.nodejs.org/job/node-test-pull-request/45950/

nodejs-github-bot avatar Aug 09 '22 14:08 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/45953/

nodejs-github-bot avatar Aug 09 '22 17:08 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/45961/

nodejs-github-bot avatar Aug 10 '22 08:08 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/45962/

nodejs-github-bot avatar Aug 10 '22 09:08 nodejs-github-bot

Landed in c3ff198a773efe68afc1631c50b8c36f8f027aba

nodejs-github-bot avatar Aug 10 '22 12:08 nodejs-github-bot