lambdaisland / lambdaisland/kaocha

Exception when running tests with fail-fast and watch

Open
#107 7 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.