Fork me on GitHub
#cljs-dev
<
2016-10-17
>
dnolen02:10:20

Sounds awesome but we should probably loop in Alex Miller, I'd rather it be an official thing

mfikes02:10:24

I have Planck master soaking an experimental ClojureScript compiler patch with :fn-var (not (:macro sym-meta)) to see if it can hold up over time.

Alex Miller (Clojure team)03:10:24

we can definitely set something up in CI if someone can describe how to invoke it to me

anmonteiro08:10:01

I don’t know why running the tests in a container is necessary, but there might be a reason

anmonteiro08:10:59

@alexmiller happy to guide you through the process of setting up the dependencies and running the necessary tests

anmonteiro08:10:11

TD;DR would be ./script/bootstrap to set up deps, then

lein test ;; tests the compiler infrastructure
script/test ;; runs the core lib tests in advanced mode
script/test-simple ;; runs core lib tests with simple optimizations
script/test-self-host  ;; tests bootstrapped ClojureScript infrastructure
script/test-self-parity ;; same as script/test but JVM-less (self-host)

anmonteiro13:10:13

ah I think I remember why the Dockerfile was there. I think it simplified having the JS engines for testing

anmonteiro13:10:08

in any case, there needs to be some setting up of environment variables with the location of the JS engines (V8, JavaScriptCore, SpiderMonkey and Nashorn)

anmonteiro13:10:18

(the self-parity and self-host tests assume Node.js is installed)

Alex Miller (Clojure team)13:10:16

ah, yeah I’ve been through this locally

Alex Miller (Clojure team)13:10:30

I’m not going to get to it today but maybe later this week

anmonteiro13:10:14

@alexmiller awesome. let me know if there’s anything I can do to help

dnolen13:10:24

fwiw, I don’t think testing Nashorn is necessary

dnolen13:10:45

I do think we should have some story for Node.js since that’ll be the simplest way to test core.async etc.

anmonteiro13:10:15

@dnolen does core.async rely on any Node.js specific features?

anmonteiro13:10:29

if it doesn’t I don’t see why it is different from testing with V8

dnolen13:10:11

@anmonteiro there is no async mechanism in naked JS environments

dnolen13:10:20

those things come from the browser or elsewhere

anmonteiro13:10:32

ah right, that’s true