lambdaisland / lambdaisland/kaocha
Exception when running tests with fail-fast and watch
Open
Nobody has claimed this yet.
bug
priority
- Dominant language
- Clojure
- Stars
- 860
- Forks
- 81
- PR merge metrics
- No merged PRs in 30d
Description
After a test failure, I edit the test, and then I get the following output:
lambdaisland/kaocha {:mvn/version "0.0-529"}
[watch] Reloading #{orgmode.parser-test}
[watch] Re-running failed tests #{:orgmode.parser-test/parser-tests}
ERROR[watch] Fatal error in test run #error {
:cause throw+: #:kaocha{:fail-fast true}
:data #:kaocha{:fail-fast true}
:via
[{:type clojure.lang.ExceptionInfo
:message throw+: #:kaocha{:fail-fast true}
:data #:kaocha{:fail-fast true}
:at [slingshot.support$stack_trace invoke support.clj 201]}]
:trace
[[slingshot.support$stack_trace invoke support.clj 201]
[kaocha.report$fail_fast invokeStatic report.clj 338]
[kaocha.report$fail_fast invoke report.clj 331]
[kaocha.config$resolve_reporter$fn__2992$fn__2993 invoke config.clj 142]
[clojure.core$run_BANG_$fn__8790 invoke core.clj 7715]
[clojure.lang.ArrayChunk reduce ArrayChunk.java 63]
[clojure.core.protocols$fn__8154 invokeStatic protocols.clj 136]
[clojure.core.protocols$fn__8154 invoke protocols.clj 124]
[clojure.core.protocols$fn__8114$G__8109__8123 invoke protocols.clj 19]
[clojure.core.protocols$seq_reduce invokeStatic protocols.clj 31]
[clojure.core.protocols$fn__8146 invokeStatic protocols.clj 75]
[clojure.core.protocols$fn__8146 invoke protocols.clj 75]
[clojure.core.protocols$fn__8088$G__8083__8101 invoke protocols.clj 13]
[clojure.core$reduce invokeStatic core.clj 6828]
[clojure.core$run_BANG_ invokeStatic core.clj 7710]
[clojure.core$run_BANG_ invoke core.clj 7710]
[kaocha.config$resolve_reporter$fn__2992 invoke config.clj 142]
[kaocha.api$resolve_reporter$fn__3084 invoke api.clj 56]
[kaocha.monkey_patch$report invokeStatic monkey_patch.clj 27]
[kaocha.monkey_patch$report invoke monkey_patch.clj 26]
[kaocha.monkey_patch$do_report invokeStatic monkey_patch.clj 70]
[kaocha.monkey_patch$do_report invoke monkey_patch.clj 35]
[kaocha.watch$plugin_pre_test_hook invokeStatic watch.clj 173]
[kaocha.watch$plugin_pre_test_hook invoke watch.clj 150]
[clojure.lang.AFn applyToHelper AFn.java 156]
[clojure.lang.AFn applyTo AFn.java 144]
[clojure.core$apply invokeStatic core.clj 667]
[clojure.core$apply invoke core.clj 660]
[kaocha.plugin$run_hook_STAR_$fn__1230 invoke plugin.clj 42]
[clojure.lang.PersistentVector reduce PersistentVector.java 343]
[clojure.core$reduce invokeStatic core.clj 6827]
[clojure.core$reduce invoke core.clj 6810]
[kaocha.plugin$run_hook_STAR_ invokeStatic plugin.clj 40]
[kaocha.plugin$run_hook_STAR_ doInvoke plugin.clj 39]
[clojure.lang.RestFn applyTo RestFn.java 146]
[clojure.core$apply invokeStatic core.clj 671]
[clojure.core$apply invoke core.clj 660]
[kaocha.plugin$run_hook invokeStatic plugin.clj 51]
[kaocha.plugin$run_hook doInvoke plugin.clj 50]
[clojure.lang.RestFn invoke RestFn.java 442]
[kaocha.testable$run_testable invokeStatic testable.clj 149]
[kaocha.testable$run_testable invoke testable.clj 148]
...
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the failure by running tests with fail-fast and watch, then editing a failed test. Start with kaocha.watch/plugin_pre_test_hook in watch.clj and kaocha.report/fail_fast in report.clj, using the stack trace as the entry point. Done means editing the failed test no longer causes a fatal exception and the failed tests can be rerun.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure
- Domain
- testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100