Fork me on GitHub
#kaocha
<
2023-11-16
>
gleisonsilva20:11:02

I'm getting this error when trying to test using Kaocha: Wrong number of args (3) passed to: clojure.spec.alpha/amp-impl I've tried changing Clojure version (in deps.edn) as well Kaocha version... but I really don't know why this is happen or where to start digging to figure out... can you, please, point me out some path?

gleisonsilva20:11:01

This is my env: openjdk version "11.0.2" 2019-01-15 OpenJDK Runtime Environment 18.9 (build 11.0.2+9) OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode) Clojure CLI version 1.11.1.1347

gleisonsilva20:11:24

A minimal deps.edn that I've tried, but the error remains:

{:deps    {org.clojure/clojure {:mvn/version "1.11.0"} }

 :paths   ["src" "classes"]

 :aliases {:test
           {:extra-paths ["test"]
            :extra-deps {lambdaisland/kaocha {:mvn/version "1.87.1366"}}
            :main-opts ["-m" "kaocha.runner" #_"--watch" #_"--no-capture-output" "--fail-fast"]} }}

plexus07:11:47

I'm failing to reproduce this. With this deps.edn, and a single test test/foo_test.clj

(ns foo-test
  (:require [clojure.test :refer :all]))

(deftest foo
  (is (= 1 2)))
➜ clojure --version ; java -version
Clojure CLI version 1.11.1.1386
openjdk version "11.0.20.1" 2023-08-24
OpenJDK Runtime Environment Temurin-11.0.20.1+1 (build 11.0.20.1+1)
OpenJDK 64-Bit Server VM Temurin-11.0.20.1+1 (build 11.0.20.1+1, mixed mode)
clojure -A:test
WARNING: Did not load a configuration file and using the defaults.
This is fine for experimenting, but for long-term use, we recommend creating a configuration file to avoid changes in behavior between releases.
To create a configuration file using the current defaults and configuration file location, create a file named tests.edn that contains '#kaocha/v1 {}'.
[(F)]
Randomized with --seed 1139706614

FAIL in foo-test/foo (foo_test.clj:5)
Expected:
  1
Actual:
  -1 +2
1 tests, 1 assertions, 1 failures.
There's clearly more going on here. I see a runner.clj in your stacktrace, for instance. A git repo that reproduces the issue would be much appreciated.

plexus07:11:19

Ah I see in the #C08LK2DH7 channel that the issue was resolved, and was indeed not related to kaocha. Glad you figured it out.

gleisonsilva20:11:37

Execution error (ArityException) at clojure.core.specs.alpha/fn (alpha.clj:107).
Wrong number of args (3) passed to: clojure.spec.alpha/amp-impl

gleisonsilva20:11:35

The full error report:

{:clojure.main/message
 "Execution error (ArityException) at clojure.core.specs.alpha/fn (alpha.clj:107).\nWrong number of args (3) passed to: clojure.spec.alpha/amp-impl\n",
 :clojure.main/triage
 {:clojure.error/class clojure.lang.ArityException,
  :clojure.error/line 107,
  :clojure.error/cause
  "Wrong number of args (3) passed to: clojure.spec.alpha/amp-impl",
  :clojure.error/symbol clojure.core.specs.alpha/fn,
  :clojure.error/source "alpha.clj",
  :clojure.error/phase :execution},
 :clojure.main/trace
 {:via
  [{:type clojure.lang.Compiler$CompilerException,
    :message
    "Syntax error macroexpanding at (kaocha/version_check.clj:1:1).",
    :data
    {:clojure.error/phase :execution,
     :clojure.error/line 1,
     :clojure.error/column 1,
     :clojure.error/source "kaocha/version_check.clj"},
    :at [clojure.lang.Compiler load "Compiler.java" 7665]}
   {:type java.lang.ExceptionInInitializerError,
    :at [java.lang.Class forName0 "Class.java" -2]}
   {:type clojure.lang.ArityException,
    :message
    "Wrong number of args (3) passed to: clojure.spec.alpha/amp-impl",
    :at [clojure.lang.AFn throwArity "AFn.java" 429]}],
  :trace
  [[clojure.lang.AFn throwArity "AFn.java" 429]
   [clojure.lang.AFn invoke "AFn.java" 40]
   [clojure.core.specs.alpha$fn__59 invokeStatic "alpha.clj" 107]
   [clojure.core.specs.alpha$fn__59 invoke "alpha.clj" 107]
   [clojure.core.specs.alpha__init load nil 107]
   [clojure.core.specs.alpha__init <clinit> nil -1]
   [java.lang.Class forName0 "Class.java" -2]
   [java.lang.Class forName "Class.java" 398]
   [clojure.lang.RT classForName "RT.java" 2209]
   [clojure.lang.RT classForName "RT.java" 2218]
   [clojure.lang.RT loadClassForName "RT.java" 2237]
   [clojure.lang.RT load "RT.java" 449]
   [clojure.lang.RT load "RT.java" 424]
   [clojure.lang.Compiler ensureMacroCheck "Compiler.java" 6975]
   [clojure.lang.Compiler checkSpecs "Compiler.java" 6987]
   [clojure.lang.Compiler macroexpand1 "Compiler.java" 7005]
   [clojure.lang.Compiler macroexpand "Compiler.java" 7092]
   [clojure.lang.Compiler eval "Compiler.java" 7178]
   [clojure.lang.Compiler load "Compiler.java" 7653]
   [clojure.lang.RT loadResourceScript "RT.java" 381]
   [clojure.lang.RT loadResourceScript "RT.java" 372]
   [clojure.lang.RT load "RT.java" 459]
   [clojure.lang.RT load "RT.java" 424]
   [clojure.core$load$fn__6908 invoke "core.clj" 6161]
   [clojure.core$load invokeStatic "core.clj" 6160]
   [clojure.core$load doInvoke "core.clj" 6144]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [clojure.core$load_one invokeStatic "core.clj" 5933]
   [clojure.core$load_one invoke "core.clj" 5928]
   [clojure.core$load_lib$fn__6850 invoke "core.clj" 5975]
   [clojure.core$load_lib invokeStatic "core.clj" 5974]
   [clojure.core$load_lib doInvoke "core.clj" 5953]
   [clojure.lang.RestFn applyTo "RestFn.java" 142]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$load_libs invokeStatic "core.clj" 6016]
   [clojure.core$load_libs doInvoke "core.clj" 6000]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$require invokeStatic "core.clj" 6038]
   [clojure.core$require doInvoke "core.clj" 6038]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [user$eval1 invokeStatic "runner.clj" 1]
   [user$eval1 invoke "runner.clj" 1]
   [clojure.lang.Compiler eval "Compiler.java" 7194]
   [clojure.lang.Compiler load "Compiler.java" 7653]
   [clojure.lang.RT loadResourceScript "RT.java" 381]
   [clojure.lang.RT loadResourceScript "RT.java" 372]
   [clojure.lang.RT load "RT.java" 459]
   [clojure.lang.RT load "RT.java" 424]
   [clojure.core$load$fn__6908 invoke "core.clj" 6161]
   [clojure.core$load invokeStatic "core.clj" 6160]
   [clojure.core$load doInvoke "core.clj" 6144]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [clojure.core$load_one invokeStatic "core.clj" 5933]
   [clojure.core$load_one invoke "core.clj" 5928]
   [clojure.core$load_lib$fn__6850 invoke "core.clj" 5975]
   [clojure.core$load_lib invokeStatic "core.clj" 5974]
   [clojure.core$load_lib doInvoke "core.clj" 5953]
   [clojure.lang.RestFn applyTo "RestFn.java" 142]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$load_libs invokeStatic "core.clj" 6016]
   [clojure.core$load_libs doInvoke "core.clj" 6000]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$require invokeStatic "core.clj" 6038]
   [clojure.main$main_opt invokeStatic "main.clj" 514]
   [clojure.main$main_opt invoke "main.clj" 510]
   [clojure.main$main invokeStatic "main.clj" 664]
   [clojure.main$main doInvoke "main.clj" 616]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.lang.Var applyTo "Var.java" 705]
   [clojure.main main "main.java" 40]],
  :cause
  "Wrong number of args (3) passed to: clojure.spec.alpha/amp-impl",
  :phase :execution}}