This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-11-16
Channels
- # announcements (62)
- # babashka (12)
- # babashka-sci-dev (73)
- # beginners (16)
- # biff (10)
- # calva (65)
- # cider (13)
- # clerk (8)
- # clojure (31)
- # clojure-europe (16)
- # clojure-nl (1)
- # clojure-norway (19)
- # clojure-spec (24)
- # clojure-uk (5)
- # clojuredesign-podcast (18)
- # clojurescript (18)
- # dev-tooling (2)
- # emacs (30)
- # etaoin (4)
- # gratitude (3)
- # hyperfiddle (20)
- # integrant (2)
- # jobs (4)
- # kaocha (7)
- # malli (1)
- # observability (11)
- # off-topic (11)
- # pathom (12)
- # podcasts-discuss (7)
- # portal (12)
- # quil (3)
- # re-frame (6)
- # releases (1)
- # sql (22)
- # squint (5)
- # testing (79)
- # tools-deps (3)
- # xtdb (20)
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?
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
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"]} }}
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.Ah I see in the #C08LK2DH7 channel that the issue was resolved, and was indeed not related to kaocha. Glad you figured it out.
Execution error (ArityException) at clojure.core.specs.alpha/fn (alpha.clj:107).
Wrong number of args (3) passed to: clojure.spec.alpha/amp-impl
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}}