rhuanjl 2ee13d2cf7 Newline at file ends %!s(int64=7) %!d(string=hai) anos
..
core 2ee13d2cf7 Newline at file ends %!s(int64=7) %!d(string=hai) anos
harness 2ee13d2cf7 Newline at file ends %!s(int64=7) %!d(string=hai) anos
html 542c44e4b1 Update Spec tests %!s(int64=7) %!d(string=hai) anos
js-api 542c44e4b1 Update Spec tests %!s(int64=7) %!d(string=hai) anos
LICENSE 67633c93ae Update wasm spec tests %!s(int64=8) %!d(string=hai) anos
README.md f158a4b274 Update testsuite and make scripts to facilitate updating the suite in the future %!s(int64=9) %!d(string=hai) anos
Todo.md 542c44e4b1 Update Spec tests %!s(int64=7) %!d(string=hai) anos
build.py 542c44e4b1 Update Spec tests %!s(int64=7) %!d(string=hai) anos

README.md

This directory contains the WebAssembly test suite. It is split into two directories:

  • core/, tests for the core semantics
  • js-api/, tests for the JavaScript API.
  • html/, tests for the JavaScript API in a DOM environment.

A landing page contains a condensed version made of all these tests, converted to HTML.

A list of to-do's can be found here.

Multi-stage testing

The wast tests can be converted to JavaScript, and the JavaScript tests to HTML tests, using the build.py script. It will create a out/ directory (checked in in this repository, to be able to use it from github pages), containing subdirectories with expanded tests, as well as a landing page for runnning all of them in HTML.

The HTML tests are just Web Platform Tests using the testharness.js library.

Each wast test gets its equivalent JS test, and each JS test (including wast test) gets its equivalent WPT, to be easily run in browser vendors' automation.

Procedure for adding a new test

  • put the test in the right directory according to the above (top) description.
  • ideally, commit here so the actual content commit and build commit are separated.
  • re-run build.py so that the landing page is updated and all the cascading happens.
  • re-commit here, if necessary.

Local HTTP serving of the repository

From the root of your clone of this repository:

python -m SimpleHTTPServer 8000

Then open your favorite browser and browse to http://localhost:8000/test/out.