-
Notifications
You must be signed in to change notification settings - Fork 452
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
A shared testing multi-staging framework #411
Conversation
The way the On the other hand, the converted JS files should not be checked into master, they only need to exist on the published page. So I think we should have some script for performing the build+publish step, part of which would be (re)generating the converted files. |
Can the live pages be part of webassembly.org instead of some github page? @s3ththompson I'd rather minimize the number of web pages we have. We can squirrel this two levels deep to avoid confusion. |
Yes. We can pull in the source into the webassembly/website the same way we do for the design docs. If others are on board with this, can you open an issue on the website repo? |
If we do so, then each new test added by a PR to this repository (be it a wast, JS or HTML) test will need another build / PR to the webassembly.org repository. This sounds like something we'd like to avoid (because of the manual sync need and scattering), ideally, but @rossberg-chromium previous comment about using the It sound to me the only way to have a single consistent repository would be having a completely separate repository |
I'd like webassembly.org to be automated anyways. |
For the sake of simplicity, and after some struggle to respect the order of execution (involving a queue of Promise factories), I've reverted back to using a simple synchronous test harness for the wast harness, since we can now (thanks to the functional To wit: if a module can't be instantiated (because of an impl quirk, for instance), and this module is used in further tests, we have the choice of either not running the further tests using what should be a module, or failing them too. I think the latter is simpler, less error-prone and more explicit, even thought it inflates the number of failures by large factors. Any disagreements? |
- can compile wast to JS file - can convert JS files to WPT test cases - can create a front page with all the JS tests
HTML test cases (in opposition to pure JS test cases) are JS test cases that need a full browser (DOM) environment. For the sake of example, here is a test for indexeddb loading and storing a WebAssembly module.
To not block other people from working on these tests, I propose to review and merge this one. Subsequent work will include being able to pass misc command-line options to the @rossberg-chromium @mtrofin, PTAL. |
lgtm |
test/README.md
Outdated
|
||
* [`core/`](core/), tests for the core semantics | ||
* [`js-api/`](js-api/), tests for the JavaScript API | ||
* [`js-api/`](js-api/), tests for the JavaScript API. These tests can be run in | ||
a pure JavaScript environment, that is, a JS shell (like v8 or spidermonkey's |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: V8
test/README.md
Outdated
|
||
* [`core/`](core/), tests for the core semantics | ||
* [`js-api/`](js-api/), tests for the JavaScript API | ||
* [`js-api/`](js-api/), tests for the JavaScript API. These tests can be run in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: I'd prefer not to front-load the bullet list with too much information. Maybe we should have sections on each one below.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Din't look at all the details, but LGTM so far. The only nit I have is the name lib
for the infrastructure directory, since test/lib
sounds too much like "tests of the library" next to the other dirs. How about util
or something else?
Or, in fact, why not simply call the lib dir test/harness? |
|
If that can make reviewing easier: from all the files in this PR,
|
Thanks, lgtm |
This is ready for merge, whenever everybody is agreeing and comfortable doing so. |
These instructions were added in WebAssembly#381 and WebAssembly#411 respectively. The binary opcodes for these are still not finalized, I'm using what V8 is using for now.
Fix WebAssembly#399 and a couple of other small bugs with conversion to/from JS numbers.
TL;DR: http://bnjbvr.github.io/wasm-spec/test/out/ (expect failures; harness is a bit broken at the moment)
Some rough explanation there.
Not ready for merge yet:
gh-pages
branch so people can use the landing page there. But themaster
andgh-pages
branches have diverged long time ago on this repository, and mygh-pages
branch on my fork is based off thismaster
. Opinions?