- 
                Notifications
    You must be signed in to change notification settings 
- Fork 3.4k
Implement automatic test suite skipping facility into the browser test harness #25533
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
e415409
              3e76ea0
              c4c1e01
              14abd61
              0afeb4c
              1c5aa15
              874fa75
              e7c55ca
              d0fdb4f
              8a7bcb6
              0115cec
              0ddae66
              1610f7d
              b59ae10
              File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | 
|---|---|---|
|  | @@ -43,6 +43,9 @@ class Feature(IntEnum): | |
| OFFSCREENCANVAS_SUPPORT = auto() | ||
| WASM_LEGACY_EXCEPTIONS = auto() | ||
| WASM_EXCEPTIONS = auto() | ||
| WEBGL2 = auto() | ||
| WEBGPU = auto() | ||
| GROWABLE_ARRAYBUFFERS = auto() | ||
|  | ||
|  | ||
| disable_override_features = set() | ||
|  | @@ -97,6 +100,24 @@ class Feature(IntEnum): | |
| 'safari': UNSUPPORTED, | ||
| 'node': 230000, | ||
| }, | ||
| # Emscripten itself does not use this feature but we use it in our browser | ||
| # tests. | ||
| Feature.WEBGL2: { | ||
| 'chrome': 56, | ||
| 'firefox': 51, | ||
| 'safari': 150000, | ||
| 'node': UNSUPPORTED, | ||
| }, | ||
| # Emscripten itself does not use this feature but we use it in our browser | ||
| # tests. | ||
| Feature.WEBGPU: { | ||
| 'chrome': 113, | ||
| 'firefox': 141, | ||
| 'safari': 260000, | ||
| 'node': UNSUPPORTED, | ||
| }, | ||
| # Emscripten itself does not use this feature but we use it in our browser | ||
| # tests. | ||
| # https://caniuse.com/mdn-api_worker_worker_ecmascript_modules: The ability to | ||
| # call new Worker(url, { type: 'module' }); | ||
| Feature.WORKER_ES6_MODULES: { | ||
|  | @@ -134,6 +155,16 @@ class Feature(IntEnum): | |
| # Node.js 26) | ||
| 'node': 240000, | ||
| }, | ||
| # Growable SharedArrayBuffers improves memory growth feature in multithreaded | ||
| # builds by avoiding need to poll resizes to ArrayBuffer views in Workers. | ||
| # This feature is not used anywhere else except the test harness to detect | ||
| # browser version. | ||
| Feature.GROWABLE_ARRAYBUFFERS: { | ||
| 'chrome': 136, | ||
| 'firefox': 145, | ||
| 'safari': UNSUPPORTED, | ||
| 'node': 240000, | ||
| }, | ||
| There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I still feel a little uncomfortable adding stuff here that is only ever used in test code. For years I've been trying to keep test code and production/compiler code separate and this re-entangles a little. However, since this is basically just data is doesn't feel quite as bad. Could you maybe add comments to easy of these new features saying "Emscripten itself doesn't use this feature but we use it in our browser tests". There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ok, that works. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. FWIW, this feature could potentially be leveraged by the experimental  if settings.GROWABLE_ARRAYBUFFERS:
  enable_feature(Feature.GROWABLE_ARRAYBUFFERS, 'GrowableSharedArrayBuffer')inside  There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That is a good idea. I think in general for other features as well (e.g. WebGPU), we could evolve to integrate with the feature checking. Though that's good to improve in a separate PR. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. True, although webgpu support has moved out-of-tree now. | ||
| } | ||
|  | ||
| # Static assertion to check that we actually need each of the above feature flags | ||
|  | ||
Uh oh!
There was an error while loading. Please reload this page.