Thanks for the feedback.  I can verify that the `:process-shim false` option 
works around the problem.  I’m following up with the doo developer and have 
proposed a patch (https://github.com/bensu/doo/pull/141). 

Cal 




> On Jul 30, 2017, at 20:31, David Nolen <dnolen.li...@gmail.com> wrote:
> 
> The shim is intentionally present regardless of target. You can disable this 
> behavior with `:process-shim false`.
> 
> If there's a more robust way for doo to determine the environment that's 
> probably a good idea too.
> 
> David
> 
> On Sun, Jul 30, 2017 at 1:06 PM, Charles Loomis <c...@sixsq.com> wrote:
> 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.
> 
> 
> -- 
> 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.

-- 
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