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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/clojurescript.