The Halide team (halide-lang.org) is experimenting with a WebAssembly
backend; as a newcomer to the wasm world, I'm still sorting out the
ecosystem, and need some advice.

So far, we've been running all our unit tests using d8, as it's easy
to drive from our existing bash/make command-line-oriented system...
but if I understand correctly, none of the existing shell-oriented
wasm tools support the threads feature proposal, and (apparently) none
seem likely to do so in the near future. (I'd love to be wrong about
this; if there is such a tool now or soon-ish, please let me know.)

So that probably means I need to look at a testing model that drives
an actual browser to do testing of threaded code, which is a little
complicated. (For our testing purposes, we have zero need for a full
browser environment -- everything in our tests is shell-based -- but
we'll do what we have to do.)

The main contenders for making this easy would seem to be either Emrun
or Node+Puppeteer, but after some experimentation, both have
limitations that are problems for us.

Emrun works with multiple browsers, so testing multiple wasm engines
is relatively simple. integration with Emscripten is fairly slick and
simple, capture of JS console output is flawless. But... it apparently
doesn't support Chrome in headless mode which is definitely suboptimal
for us (we'd like to be able to run units tests on various
single-board systems with very limited resources); additionally,
running multiple tests simultaneously requires work to avoid weird
glitches in the local server, which dramatically slows down test
throughput.

Node+Puppeteer, on the other hand, supports headless mode perfectly;
on the other hand, it's Chrome-only, and capturing JS console output
from Emscripten-generated code doesn't seem to work out of the box
(though I'm guessing this latter bit can be corrected with some
tweaking of output templates).

Are there other alternatives that I have overlooked? Anyone else have
suggestions or experience in this area? Thanks in advance for any
advice.

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to