This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-09-28
Channels
- # 100-days-of-code (10)
- # announcements (2)
- # architecture (16)
- # beginners (51)
- # bitcoin (3)
- # calva (1)
- # cider (6)
- # cljdoc (8)
- # cljs-dev (14)
- # cljsrn (4)
- # clojure (59)
- # clojure-italy (26)
- # clojure-losangeles (1)
- # clojure-nl (13)
- # clojure-spec (54)
- # clojure-uk (81)
- # clojurebridge (4)
- # clojurescript (20)
- # core-async (16)
- # cursive (39)
- # datomic (27)
- # emacs (12)
- # events (1)
- # figwheel-main (20)
- # fulcro (35)
- # funcool (1)
- # graphql (9)
- # hyperfiddle (10)
- # jobs (1)
- # jobs-discuss (7)
- # keechma (10)
- # lumo (22)
- # nrepl (18)
- # off-topic (28)
- # onyx (3)
- # pedestal (4)
- # re-frame (8)
- # reagent (8)
- # ring (4)
- # rum (3)
- # shadow-cljs (29)
- # testing (5)
@jstaab just for clarification, figwheel reloads what its watching including Clojure files
but you can use var references (i.e #'my-handler
) instead of direct references to achieve a good reloading workflow, without having to setup a reloaded workflow with integrant or component
so if you add a directory with Clojure code that you want reloaded to :watch-dirs
the code will be reloaded on file change
@bhauman is there any way to turn on extra debugging when running tests?
I'm so so close to being able to switch the project over to figwheel-main.
When I run tests locally they run fine.
When I run in CircleCI (inside a container running Ubuntu) they timeout (with "Eval timed out!")
The log shows [0928/172324.990490:INFO:
So it seems that chromium-browser is running...???
I know that the stream handling (STDIN/STDOUT) with the browser is delicate... Just thinking of it's possible insert something like "tee" to log the detailed conversation with the browser?
Does https://figwheel.org/config-options#client-log-level do anything to change the error messages that come back from CircleCI?
@shaun-mahood i assume that should be in the metadata map in my test.cljs.edn ?
yeah I think so - same as any other figwheel specific option
Running again on CircleCI right now.. There is more debugging in the terminal (which may be helpful), but the log of the browser session is the same.
Can you get it to do anything like console.log
? I've never done any headless work so now I'm just pretending to have ideas 🙂
the tricky bit is .. this is what you see on STDOUT before the tests run
Environment output being logged to: target/public/cljs-out/test/js-environment.log
in either the happy case -or- or the case when it eventually times out
hmm interesting.. I set the arg to run-tests-async to 900000 (which is 15 minutes), but it timed out after 3 minutes!!
it seems like if I set :repl-eval-timeout to a higher-than-default value the tests complete (as if it uses that default instead the arg to run-tests-async
yay! CircleCI passed! My theory is that there is a figwheel-repl connection to the browser (chromium --headless --repl) and that's why :repl-eval-timeout is important The 8 second default https://github.com/bhauman/figwheel-repl/blob/master/src/figwheel/repl.cljc#L1041 is enough on a dev workstation, but not quite enough in CircleCI... so increasing it allows the browser repl connection to get established so the tests can be run.
Fantastic!
I wonder if there's a good place for something about that on https://figwheel.org/docs/testing.html