ClojureScript

Running the Tests

Testing the Compiler Infrastructure

lein test

Will run the tests for the analyzer, compiler, and closure components.

Testing JavaScript Engines

How to setup the the four important JavaScript runtimes.

Google V8

Checkout the V8 project. Following the build instructions here

Set the V8_HOME environment variable to the path where d8 lives.

export V8_HOME="$HOME/v8/out/native"

Spidermonkey

Get the js-shell from here http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-central/. Set your SPIDERMONKEY_HOME environment variable.

JavaScriptCore

On OS X download a WebKit nightly and put it in your Applications folder. Update your shell profile to include the following:

DYLD_FRAMEWORK_PATH=/Applications/WebKit.app/Contents/Frameworks/10.10/
export DYLD_FRAMEWORK_PATH
PATH=$PATH:/Applications/WebKit.app/Contents/Frameworks/10.10/JavaScriptCore.framework/Resources

NOTE: Sub in the correct OSX version if you’re not running 10.10

Nashorn

Setup the $NASHORN_HOME environment variable so that

$NASHORN_HOME/jjs

prompts a JavaScript Console. Nashorn is usually under $JAVA_HOME/bin, so you can write:

export NASHORN_HOME="$JAVA_HOME/bin/"

Setting up dependencies

./script/bootstrap

Running the tests

./script/test

Running bootstrapped ClojureScript tests

If you have Node.js installed, you can run the bootstrapped ClojureScript test suite (located at src/test/self/self_host/test.cljs):

./script/test-self-host

You can also build and run the ClojureScript compiler test suite in bootstrapped mode within Node.js by running

./script/test-self-parity

Don’t forget

Besides the tests it’s important to make sure that the Browser REPL hasn’t accidentally been broken. Double-check using the sample found in the repository.