I’ve encountered a problem when running unit tests with doo (phantomjs) and the 
1.9.854 release.

With the new release, the problem is that doo always fails _after_ running the 
defined tests with:

    WARNING: doo's init function was not set
    #object[TypeError TypeError: undefined is not an object
      (evaluating 'process_exit.call')]
    TypeError: undefined is not an object (evaluating 'process_exit.call’)

This is caused by doo not finding the correct exit function.

To distinguish between browser/nodejs targets, doo checks for the existence of 
js/process. If it exists, it assumes that nodejs is being used and tries to 
extract the exit function from from the js/process object. Otherwise it uses 
the *exit-fn* dynamic variable. This logic works as expected in 1.9.671. 

In 1.9.854, a shim for the nodejs process library was added 
(src/main/cljs/process/env.cljs). This creates a js/process object which looks 
like:

    {
      "env": {
        "NODE_ENV": "development"
      }
    }

even when nodejs is not being targeted.  This causes the doo logic for looking 
up the exit function to fail. 

It looks like either:

 1) doo needs to be updated to use a more precise test when targeting nodejs or
 2) clojurescript should define the js/process shim only when nodejs is targeted

I’d like some feedback on this to understand where to follow up with this 
issue. 


Cal

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at https://groups.google.com/group/clojurescript.

Reply via email to