marick / lein-midje

Leiningen plugin for Midje
MIT License
77 stars 29 forks source link

lein-midje fails occasionally, 'lein clean' fixes it #46

Open kolov opened 10 years ago

kolov commented 10 years ago

After writing code and running 'lein midje' for a while occasionally midje breaks, I can't run more test, instead I get the stacktrace shown below. Running 'lein clean' (or 'lein do clean, midje') fixes it,

$ lein midje

Exception in thread "main" java.lang.ExceptionInInitializerError at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:270) at clojure.lang.RT.loadClassForName(RT.java:2098) at clojure.lang.RT.load(RT.java:430) at clojure.lang.RT.load(RT.java:411) at clojure.core$load$fn5018.invoke(core.clj:5530) at clojure.core$load.doInvoke(core.clj:5529) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.core$load_one.invoke(core.clj:5336) at clojure.core$load_lib$fn4967.invoke(core.clj:5375) at clojure.core$load_lib.doInvoke(core.clj:5374) at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invoke(core.clj:619) at clojure.core$load_libs.doInvoke(core.clj:5413) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.core$apply.invoke(core.clj:619) at clojure.core$require.doInvoke(core.clj:5496) at clojure.lang.RestFn.invoke(RestFn.java:2088) at midje.repl$eval15$loading4910auto__16.invoke(repl.clj:1) at midje.repl$eval15.invoke(repl.clj:1) at clojure.lang.Compiler.eval(Compiler.java:6619) at clojure.lang.Compiler.eval(Compiler.java:6608) at clojure.lang.Compiler.load(Compiler.java:7064) at clojure.lang.RT.loadResourceScript(RT.java:370) at clojure.lang.RT.loadResourceScript(RT.java:361) at clojure.lang.RT.load(RT.java:440) at clojure.lang.RT.load(RT.java:411) at clojure.core$load$fn5018.invoke(core.clj:5530) at clojure.core$load.doInvoke(core.clj:5529) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.core$load_one.invoke(core.clj:5336) at clojure.core$load_lib$fn4967.invoke(core.clj:5375) at clojure.core$load_lib.doInvoke(core.clj:5374) at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invoke(core.clj:619) at clojure.core$load_libs.doInvoke(core.clj:5413) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.core$apply.invoke(core.clj:619) at clojure.core$require.doInvoke(core.clj:5496) at clojure.lang.RestFn.invoke(RestFn.java:408) at user$eval11.invoke(form-init5306884430924513154.clj:1) at clojure.lang.Compiler.eval(Compiler.java:6619) at clojure.lang.Compiler.eval(Compiler.java:6609) at clojure.lang.Compiler.eval(Compiler.java:6608) at clojure.lang.Compiler.load(Compiler.java:7064) at clojure.lang.Compiler.loadFile(Compiler.java:7020) at clojure.main$load_script.invoke(main.clj:294) at clojure.main$init_opt.invoke(main.clj:299) at clojure.main$initialize.invoke(main.clj:327) at clojure.main$null_opt.invoke(main.clj:362) at clojure.main$main.doInvoke(main.clj:440) at clojure.lang.RestFn.invoke(RestFn.java:421) at clojure.lang.Var.invoke(Var.java:419) at clojure.lang.AFn.applyToHelper(AFn.java:163) at clojure.lang.Var.applyTo(Var.java:532) at clojure.main.main(main.java:37) Caused by: java.lang.NullPointerException at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:333) at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:988) at clojure.lang.Namespace.find(Namespace.java:188) at clojure.core$find_ns.invoke(core.clj:3728) at clojure.core$the_ns.invoke(core.clj:3760) at clojure.core$ns_name.invoke(core.clj:3767) at midje.Bootstrap$bootstrap.invoke(Bootstrap.clj:8) at midje.sweetinit.load(Unknown Source) at midje.sweet__init.(Unknown Source)

marick commented 10 years ago

Have never seen this. What version of leiningen are you running?

kolov commented 10 years ago

Leiningen 2.3.3 on Java 1.7.0_45 Java HotSpot(TM) 64-Bit Server VM

I also have the following .midje: (change-defaults :emitter 'midje-junit-formatter.core :print-level :print-facts) with :dev {:dependencies [[midje "1.5.1"] [midje-junit-formatter "0.1.0-SNAPSHOT"]] :plugins [... [lein-midje "3.0.0"] [test2junit "1.0.1"]]

marick commented 10 years ago

Someone commented on this:

The only time I see this is when I edit the namespace that contains all of my defrecords. Suddenly all of my instance of tests fail. It drove me nuts until I figured out what was going on.

I wonder if this is a similar situation.