Moddable XS Test Engine

XS is the JavaScript engine at the center of the Moddable SDK.

Please visit Moddable to get the source code, documentation and licence of XS

This repository only releases xst, a JavaScript engine to test XS on Linux, macOS and Windows and xsbug, the XS debugger.

You can use the jsvu CLI to install or update xst from this repostiory.

Usage

xst [-h] [-e] [-m] [-s] [-t] [-v] strings...
  • -h: print this help message
  • -e: eval strings
  • -m: strings are paths to modules
  • -s: strings are paths to scripts
  • -t: strings are paths to test262 cases or directories
  • -v: print XS version

without -e, -m, -s, or -t:

  • if ../harness exists, strings are paths to test262 cases or directories
  • else if the extension is .mjs, strings are paths to modules
  • else strings are paths to scripts

eshost

To test XS with eshost, install the eshost CLI. Then add XS to the hosts:

eshost --add 'XS' xs ~/.jsvu/xst

eshost uses the -s option of xst.

test262

To test XS with test262, clone test262 and change the directory to the test directory inside the test262 directory. For instance:

cd ~/test262/test
xst language/block-scope
xst built-ins/TypedArrays/buffer-arg-*

See XS Conformance for details about how XS currently passes test262 cases.

Running xsbug while passing a bunch of test262 cases can be cumbersome. Just quit xsbug or at least uncheck Break - On Exceptions in the preferences.

xsbug

See the xsbug documentation in the Moddable SDK.