test wasm with node instead of a browser

This lets testing go back to being quietly headless,
and means we can run tests on the bots!

Change-Id: I92282105e624830ea5045e987ba3e7af6a532b25
Reviewed-on: https://skia-review.googlesource.com/c/skcms/+/219539
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/build/emscripten b/build/emscripten
index 05c6bba..d6dcf2d 100644
--- a/build/emscripten
+++ b/build/emscripten
@@ -1,15 +1,16 @@
 cc      = emcc
 cxx     = em++
-cflags  = -g3 -s WASM=1
-ldflags = -g3 -s WASM=1 --embed-file profiles --emrun
-exe     = .html
+cflags  = -g3 -s WASM=1 -s ENVIRONMENT=node
+ldflags = -g3 -s WASM=1 -s ENVIRONMENT=node --embed-file profiles
+exe     = .js
 out     = out/emscripten$mode
 
-# Run only when emrun is on your PATH, i.e. not on the bots.
+node = 'node'
+
 rule run
-    command = if which emrun >/dev/null; $
+    command = if which $node >/dev/null; $
               then $
-                  emrun $in > $out; $
+                  $node $in > $out; $
               else touch $out; fi
     description = run $in
 
diff --git a/infra/bots/bot.py b/infra/bots/bot.py
index c034f55..3e4e64b 100644
--- a/infra/bots/bot.py
+++ b/infra/bots/bot.py
@@ -51,6 +51,7 @@
   os.chdir('..')
 
   emscripten_sdk = os.path.realpath('emsdk')
+  node = emscripten_sdk + '/node/8.9.1_64bit/bin/node'
 
   em_config = os.path.realpath(os.path.join('.', 'em_config'))
   with open(em_config, 'w') as f:
@@ -63,7 +64,7 @@
   '''.format(
     emscripten_sdk + '/clang/e1.38.28_64bit/binaryen',
     emscripten_sdk + '/clang/e1.38.28_64bit',
-    emscripten_sdk + '/node/8.9.1_64bit/bin/node',
+    node,
   )
 
   append('skcms/build/emscripten',
@@ -72,6 +73,8 @@
   append('skcms/build/emscripten',
          'cxx = env EM_CONFIG={} {}/emscripten/1.38.28/em++'.format(
            em_config, emscripten_sdk))
+  append('skcms/build/emscripten',
+         'node = {}'.format(node))
 
   call('{ninja}/ninja -C skcms -k 0'.format(ninja=ninja))