Build Logs

durban/choam • 3.8.0-RC3:2025-12-04

Errors

28

Warnings

128

Total Lines

4150

1##################################
2Clonning https://github.com/durban/choam.git into /build/repo using revision v0.5.0-RC5
3##################################
4Note: switching to '41850a1afb49326c7a59b7407806ec3f17dd0d5d'.
5
6You are in 'detached HEAD' state. You can look around, make experimental
7changes and commit them, and you can discard any commits you make in this
8state without impacting any branches by switching back to a branch.
9
10If you want to create a new branch to retain commits you create, you may
11do so (now or later) by using -c with the switch command. Example:
12
13 git switch -c <new-branch-name>
14
15Or undo this operation with:
16
17 git switch -
18
19Turn off this advice by setting config variable advice.detachedHead to false
20
21Would override fixed Scala version: 3.3.7
22----
23Preparing build for 3.8.0-RC3
24Scala binary version found: 3.8
25Implicitly using source version 3.8
26Scala binary version found: 3.8
27Implicitly using source version 3.8
28Would try to apply common scalacOption (best-effort, sbt/mill only):
29Append: ,REQUIRE:-source:3.8
30Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
31
32Try apply source patch:
33Path: build.sbt
34Pattern: val scala3 = "3.3.7"
35Replacement: val scala3 = "3.8.0-RC3"
36Starting compilation server
37Compiling project (Scala 3.7.3, JVM (25))
38Compiled project (Scala 3.7.3, JVM (25))
39WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
40WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.7.3/scala3-library_3-3.7.3.jar)
41WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
42WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
43Successfully applied pattern 'val scala3 = "3.3.7"' in build.sbt
44----
45Starting build for 3.8.0-RC3
46Execute tests: true
47sbt project found:
48No prepare script found for project durban/choam
49##################################
50Scala version: 3.8.0-RC3
51Targets: dev.tauri%choam-async dev.tauri%choam-ce dev.tauri%choam-core dev.tauri%choam-data dev.tauri%choam-docs dev.tauri%choam-internal dev.tauri%choam-mcas dev.tauri%choam-profiler dev.tauri%choam-stream dev.tauri%choam-zi
52Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"25"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = \"3.3.7\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}
53##################################
54Using extra scalacOptions: ,REQUIRE:-source:3.8
55Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
56[sbt_options] declare -a sbt_options=()
57[process_args] java_version = '25'
58[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_25/rt.jar'
59# Executing command line:
60java
61-Xms512M
62-Xmx6G
63-Xss2M
64-XX:+UseG1GC
65-Ddev.tauri.choam.stats=true
66-Djdk.graal.Dump=
67-Djdk.graal.PrintBackendCFG=true
68-Djdk.graal.MethodFilter=AbstractHamt.*
69-Dcommunitybuild.scala=3.8.0-RC3
70-Dcommunitybuild.project.dependencies.add=
71-Xmx7G
72-Xms4G
73-Xss8M
74-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
75-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_25
76-jar
77/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
78"setCrossScalaVersions 3.8.0-RC3"
79"++3.8.0-RC3 -v"
80"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
81"set every credentials := Nil"
82"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
83"removeScalacOptionsStartingWith -P:wartremover"
84
85moduleMappings
86"runBuild 3.8.0-RC3 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"25"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = \"3.3.7\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}""" dev.tauri%choam-async dev.tauri%choam-ce dev.tauri%choam-core dev.tauri%choam-data dev.tauri%choam-docs dev.tauri%choam-internal dev.tauri%choam-mcas dev.tauri%choam-profiler dev.tauri%choam-stream dev.tauri%choam-zi"
87
88[info] [launcher] getting org.scala-sbt sbt 1.11.7 (this may take some time)...
89WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
90WARNING: sun.misc.Unsafe::arrayBaseOffset has been called by net.openhft.hashing.UnsafeAccess (file:/root/.sbt/boot/scala-2.12.20/org.scala-sbt/sbt/1.11.7/zero-allocation-hashing-0.16.jar)
91WARNING: Please consider reporting this to the maintainers of class net.openhft.hashing.UnsafeAccess
92WARNING: sun.misc.Unsafe::arrayBaseOffset will be removed in a future release
93WARNING: A restricted method in java.lang.System has been called
94WARNING: java.lang.System::load has been called by com.sun.jna.Native in an unnamed module (file:/root/.sbt/boot/scala-2.12.20/org.scala-sbt/sbt/1.11.7/jna-5.12.0.jar)
95WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
96WARNING: Restricted methods will be blocked in a future release unless native access is enabled
97
98[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 25)
99[info] loading settings for project repo-build-build from metals.sbt...
100[info] loading project definition from /build/repo/project/project
101[info] loading settings for project repo-build from akka.sbt, build.sbt, metals.sbt, plugins.sbt...
102[info] loading project definition from /build/repo/project
103[info] compiling 4 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
104[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
105[info] Compilation completed in 8.149s.
106[info] done compiling
107[info] loading settings for project choam from build.sbt...
108[info] resolving key references (58662 settings) ...
109[info] set scmInfo to https://github.com/durban/choam
110[info] set current project to choam (in build file:/build/repo/)
111Execute setCrossScalaVersions: 3.8.0-RC3
112OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in internalNative/crossScalaVersions
113OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in unidocs/crossScalaVersions
114OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in testExtJS/crossScalaVersions
115OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in core/crossScalaVersions
116OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in profiler/crossScalaVersions
117OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in lawsJS/crossScalaVersions
118[info] set scmInfo to https://github.com/durban/choam
119OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in choamJS/crossScalaVersions
120OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in ziJS/crossScalaVersions
121OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in stressDataSlow/crossScalaVersions
122OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in zi/crossScalaVersions
123OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in stressAsync/crossScalaVersions
124OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in stressCore/crossScalaVersions
125OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in ceJS/crossScalaVersions
126OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in testExt/crossScalaVersions
127OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in internal/crossScalaVersions
128OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in stressLinchk/crossScalaVersions
129OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in stressMcasSlow/crossScalaVersions
130OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in choam/crossScalaVersions
131OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in asyncJS/crossScalaVersions
132OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in streamNative/crossScalaVersions
133OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in choamJVM/crossScalaVersions
134OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in data/crossScalaVersions
135OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in ce/crossScalaVersions
136OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in coreJS/crossScalaVersions
137OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in bench/crossScalaVersions
138OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in choamNative/crossScalaVersions
139OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in stressData/crossScalaVersions
140OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in testAssert/crossScalaVersions
141OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in mcasNative/crossScalaVersions
142OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in mcas/crossScalaVersions
143OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in async/crossScalaVersions
144OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in streamJS/crossScalaVersions
145OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in layout/crossScalaVersions
146OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in coreNative/crossScalaVersions
147OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in graalNiExample/crossScalaVersions
148OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in stressExperiments/crossScalaVersions
149OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in mcasJS/crossScalaVersions
150OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in internalJS/crossScalaVersions
151OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in dataJS/crossScalaVersions
152OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in laws/crossScalaVersions
153OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in asyncNative/crossScalaVersions
154OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in stressMcas/crossScalaVersions
155OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in stream/crossScalaVersions
156OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in dataNative/crossScalaVersions
157OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in stressRng/crossScalaVersions
158[info] set current project to choam (in build file:/build/repo/)
159[info] Setting Scala version to 3.8.0-RC3 on 45 projects.
160[info] Switching Scala version on:
161[info] stressDataSlow (2.13.17, 3.8.0-RC3)
162[info] profiler (2.13.17, 3.8.0-RC3)
163[info] internal (2.13.17, 3.8.0-RC3)
164[info] * choam (2.13.17, 3.8.0-RC3)
165[info] testAssert (2.13.17, 3.8.0-RC3)
166[info] graalNiExample (2.13.17, 3.8.0-RC3)
167[info] choamJS (2.13.17, 3.8.0-RC3)
168[info] zi (2.13.17, 3.8.0-RC3)
169[info] unidocs (2.13.17, 3.8.0-RC3)
170[info] data (2.13.17, 3.8.0-RC3)
171[info] coreNative (2.13.17, 3.8.0-RC3)
172[info] mcasJS (2.13.17, 3.8.0-RC3)
173[info] laws (2.13.17, 3.8.0-RC3)
174[info] stressMcasSlow (2.13.17, 3.8.0-RC3)
175[info] streamNative (2.13.17, 3.8.0-RC3)
176[info] ceJS (2.13.17, 3.8.0-RC3)
177[info] coreJS (2.13.17, 3.8.0-RC3)
178[info] stressExperiments (2.13.17, 3.8.0-RC3)
179[info] lawsJS (2.13.17, 3.8.0-RC3)
180[info] ziJS (2.13.17, 3.8.0-RC3)
181[info] asyncNative (2.13.17, 3.8.0-RC3)
182[info] async (2.13.17, 3.8.0-RC3)
183[info] ce (2.13.17, 3.8.0-RC3)
184[info] internalJS (2.13.17, 3.8.0-RC3)
185[info] mcasNative (2.13.17, 3.8.0-RC3)
186[info] stressLinchk (2.13.17, 3.8.0-RC3)
187[info] choamJVM (2.13.17, 3.8.0-RC3)
188[info] stressMcas (2.13.17, 3.8.0-RC3)
189[info] testExt (2.13.17, 3.8.0-RC3)
190[info] stream (2.13.17, 3.8.0-RC3)
191[info] streamJS (2.13.17, 3.8.0-RC3)
192[info] dataJS (2.13.17, 3.8.0-RC3)
193[info] asyncJS (2.13.17, 3.8.0-RC3)
194[info] testExtJS (2.13.17, 3.8.0-RC3)
195[info] layout (2.13.17, 3.8.0-RC3)
196[info] internalNative (2.13.17, 3.8.0-RC3)
197[info] stressCore (2.13.17, 3.8.0-RC3)
198[info] core (2.13.17, 3.8.0-RC3)
199[info] mcas (2.13.17, 3.8.0-RC3)
200[info] stressData (2.13.17, 3.8.0-RC3)
201[info] stressAsync (2.13.17, 3.8.0-RC3)
202[info] dataNative (2.13.17, 3.8.0-RC3)
203[info] stressRng (2.13.17, 3.8.0-RC3)
204[info] choamNative (2.13.17, 3.8.0-RC3)
205[info] bench (2.13.17, 3.8.0-RC3)
206[info] Excluding projects:
207[info] Reapplying settings...
208[info] set scmInfo to https://github.com/durban/choam
209[info] set current project to choam (in build file:/build/repo/)
210Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
211[info] Reapplying settings...
212[info] set scmInfo to https://github.com/durban/choam
213[info] set current project to choam (in build file:/build/repo/)
214[info] Defining Global / credentials, async / credentials and 43 others.
215[info] The new values will be used by Compile / scalafmtOnly, IntegrationTest / scalafmtOnly and 403 others.
216[info] Run `last` for details.
217[info] Reapplying settings...
218[info] set scmInfo to https://github.com/durban/choam
219[info] set current project to choam (in build file:/build/repo/)
220Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
221[info] Reapplying settings...
222OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
223
224 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
225 Did you mean stressAsync / allExcludeDependencies ?
226 , retry without global scopes
227[info] Reapplying settings...
228[info] set scmInfo to https://github.com/durban/choam
229[info] set current project to choam (in build file:/build/repo/)
230Execute removeScalacOptionsStartingWith: -P:wartremover
231[info] Reapplying settings...
232[info] set scmInfo to https://github.com/durban/choam
233[info] set current project to choam (in build file:/build/repo/)
234[success] Total time: 0 s, completed Dec 4, 2025, 3:25:40 PM
235Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"25"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = \"3.3.7\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}
236Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
237Starting build...
238Projects: Set(profiler, internal, zi, unidocs, data, async, ce, stream, core, mcas)
239Starting build for ProjectRef(file:/build/repo/,core) (choam-core)... [0/10]
240OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
241OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
242OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
243Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -Xkind-projector, --java-output-version:17, 11, -language:higherKinds, -no-indent, -Xverify-signatures, -Wconf:any:v,cat=deprecation:s,id=E147:s,id=E175:s, -Wunused:all, -Ycheck-all-patmat, -Xcheck-macros, -Xsemanticdb, -semanticdb-target, /build/repo/core/jvm/target/scala-3.8.0-RC3/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
244[info] compiling 8 Scala sources and 1 Java source to /build/repo/internal/jvm/target/scala-3.8.0-RC3/classes ...
245[warn] -- [E198] Unused Symbol Warning: /build/repo/internal/shared/src/main/scala-3/dev/tauri/choam/internal/CompileTimeSystemPropertyMacros.scala:21:25
246[warn] 21 |import scala.compiletime.constValue
247[warn] | ^^^^^^^^^^
248[warn] | unused import
249[warn] |Matching filters for @nowarn or -Wconf:
250[warn] | - id=E198
251[warn] | - name=UnusedSymbol
252[warn] one warning found
253[warn] Unexpected javac output: WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
254[warn] WARNING: sun.misc.Unsafe::arrayBaseOffset has been called by com.sourcegraph.shaded.com.google.protobuf.UnsafeUtil$MemoryAccessor (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/com/sourcegraph/semanticdb-javac/0.11.1/semanticdb-javac-0.11.1.jar)
255[warn] WARNING: Please consider reporting this to the maintainers of class com.sourcegraph.shaded.com.google.protobuf.UnsafeUtil$MemoryAccessor
256[warn] WARNING: sun.misc.Unsafe::arrayBaseOffset will be removed in a future release.
257[info] done compiling
258[info] compiling 35 Scala sources and 14 Java sources to /build/repo/mcas/jvm/target/scala-3.8.0-RC3/classes ...
259[warn] -- Warning: /build/repo/mcas/jvm-native/src/main/scala/dev/tauri/choam/internal/mcas/emcas/GlobalContext.scala:159:14
260[warn] 159 | @nowarn("cat=lint-performance")
261[warn] | ^^^^^^^^^^^^^^^^^^^^^^
262[warn] | Invalid message filter
263[warn] | unknown category: lint-performance
264[warn] one warning found
265[warn] Unexpected javac output: WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
266[warn] WARNING: sun.misc.Unsafe::arrayBaseOffset has been called by com.sourcegraph.shaded.com.google.protobuf.UnsafeUtil$MemoryAccessor (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/com/sourcegraph/semanticdb-javac/0.11.1/semanticdb-javac-0.11.1.jar)
267[warn] WARNING: Please consider reporting this to the maintainers of class com.sourcegraph.shaded.com.google.protobuf.UnsafeUtil$MemoryAccessor
268[warn] WARNING: sun.misc.Unsafe::arrayBaseOffset will be removed in a future release.
269[info] done compiling
270[info] compiling 59 Scala sources and 24 Java sources to /build/repo/core/jvm/target/scala-3.8.0-RC3/classes ...
271[warn] -- [E198] Unused Symbol Warning: /build/repo/core/jvm-native/src/main/scala/dev/tauri/choam/core/ExchangerImplJvm.scala:31:33
272[warn] 31 | import ExchangerImplJvm.{ size => _, _ }
273[warn] | ^^^^^^^^^
274[warn] | unused import
275[warn] |Matching filters for @nowarn or -Wconf:
276[warn] | - id=E198
277[warn] | - name=UnusedSymbol
278[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/main/scala/dev/tauri/choam/core/Rxn.scala:2066:27
279[warn] 2066 | case c: PostCommit[a] => // PostCommit
280[warn] | ^
281[warn] | unused pattern variable
282[warn] |Matching filters for @nowarn or -Wconf:
283[warn] | - id=E198
284[warn] | - name=UnusedSymbol
285[warn] two warnings found
286[warn] Unexpected javac output: WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
287[warn] WARNING: sun.misc.Unsafe::arrayBaseOffset has been called by com.sourcegraph.shaded.com.google.protobuf.UnsafeUtil$MemoryAccessor (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/com/sourcegraph/semanticdb-javac/0.11.1/semanticdb-javac-0.11.1.jar)
288[warn] WARNING: Please consider reporting this to the maintainers of class com.sourcegraph.shaded.com.google.protobuf.UnsafeUtil$MemoryAccessor
289[warn] WARNING: sun.misc.Unsafe::arrayBaseOffset will be removed in a future release.
290[info] done compiling
291[info] compiling 5 Scala sources and 1 Java source to /build/repo/internal/jvm/target/scala-3.8.0-RC3/test-classes ...
292[warn] Unexpected javac output: WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
293[warn] WARNING: sun.misc.Unsafe::arrayBaseOffset has been called by com.sourcegraph.shaded.com.google.protobuf.UnsafeUtil$MemoryAccessor (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/com/sourcegraph/semanticdb-javac/0.11.1/semanticdb-javac-0.11.1.jar)
294[warn] WARNING: Please consider reporting this to the maintainers of class com.sourcegraph.shaded.com.google.protobuf.UnsafeUtil$MemoryAccessor
295[warn] WARNING: sun.misc.Unsafe::arrayBaseOffset will be removed in a future release.
296[info] done compiling
297[info] compiling 27 Scala sources and 1 Java source to /build/repo/mcas/jvm/target/scala-3.8.0-RC3/test-classes ...
298[warn] -- Warning: /build/repo/mcas/shared/src/test/scala/dev/tauri/choam/internal/mcas/ConstsSpec.scala:24:8
299[warn] 24 |@nowarn("cat=lint-constant") // yes, we have overflows
300[warn] | ^^^^^^^^^^^^^^^^^^^
301[warn] | Invalid message filter
302[warn] | unknown category: lint-constant
303[warn] -- Warning: /build/repo/mcas/shared/src/test/scala/dev/tauri/choam/internal/mcas/RefIdGenSpec.scala:27:8
304[warn] 27 |@nowarn("cat=lint-constant") // yes, we have overflows
305[warn] | ^^^^^^^^^^^^^^^^^^^
306[warn] | Invalid message filter
307[warn] | unknown category: lint-constant
308[warn] -- [E198] Unused Symbol Warning: /build/repo/mcas/jvm-native/src/test/scala/dev/tauri/choam/internal/mcas/McasSpecJvm.scala:206:8
309[warn] 206 | var newVer: Long = Version.None
310[warn] | ^^^^^^
311[warn] | local variable was mutated but not read
312[warn] |Matching filters for @nowarn or -Wconf:
313[warn] | - id=E198
314[warn] | - name=UnusedSymbol
315[warn] -- [E198] Unused Symbol Warning: /build/repo/mcas/jvm-native/src/test/scala/dev/tauri/choam/internal/mcas/emcas/EmcasSpec.scala:208:8
316[warn] 208 | var ok = false
317[warn] | ^^
318[warn] | local variable was mutated but not read
319[warn] |Matching filters for @nowarn or -Wconf:
320[warn] | - id=E198
321[warn] | - name=UnusedSymbol
322[warn] four warnings found
323[warn] Unexpected javac output: WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
324[warn] WARNING: sun.misc.Unsafe::arrayBaseOffset has been called by com.sourcegraph.shaded.com.google.protobuf.UnsafeUtil$MemoryAccessor (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/com/sourcegraph/semanticdb-javac/0.11.1/semanticdb-javac-0.11.1.jar)
325[warn] WARNING: Please consider reporting this to the maintainers of class com.sourcegraph.shaded.com.google.protobuf.UnsafeUtil$MemoryAccessor
326[warn] WARNING: sun.misc.Unsafe::arrayBaseOffset will be removed in a future release.
327[info] done compiling
328[info] compiling 62 Scala sources to /build/repo/core/jvm/target/scala-3.8.0-RC3/test-classes ...
329[warn] -- Warning: /build/repo/core/shared/src/test/scala/dev/tauri/choam/unsafe/CommonImperativeApiSpec.scala:167:10
330[warn] 167 | @nowarn("cat=w-flag-dead-code")
331[warn] | ^^^^^^^^^^^^^^^^^^^^^^
332[warn] | Invalid message filter
333[warn] | unknown category: w-flag-dead-code
334[warn] one warning found
335[info] done compiling
336WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
337WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_3/3.8.0-RC3/scala3-library_3-3.8.0-RC3.jar)
338WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
339WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
340dev.tauri.choam.unsafe.AtomicallySpec_DefaultMcas_IO:
341 + Retries 0.217s
342 + Ticket#validate 0.013s
343 + Hello, World! 0.006s
344 + updateRef 0.004s
345 + getAndSetRef 0.004s
346 + tentativeRead 0.004s
347 + ticketRead 0.005s
348 + RefSyntax 0.003s
349 + Ref.Array 0.009s
350 + Exception passthrough 0.004s
351 + panic 0.002s
352 + Forced retries (1) 0.004s
353 + Forced retries (2) 0.007s
354 + null result 0.003s
355 + Create with Rxn, use imperatively 0.004s
356 + Create imperatively, use with Rxn 0.004s
357dev.tauri.choam.core.RefSpec_Ref2_ThreadConfinedMcas_IO:
358 + ifM instead of guard/guardNot 0.011s
359 + Ref#get 0.007s
360 + Ref#update et. al. 0.008s
361 + Ref#update 0.012s
362 + Ref#update example 0.005s
363 + Ref#modify et. al. 0.006s
364 + Ref#flatModify 0.003s
365 + Ref#getAndSet 0.004s
366 + Ref#set 0.007s
367 + RefLike#getAndUpd 0.005s
368 + RefLike#updAndGet 0.002s
369 + Ref#asCats 0.027s
370 + CatsRef[Rxn, A] 0.005s
371 + Regular Ref shouldn't have .withListeners 0.006s
372 + Ref/TRef creation 0.008s
373 + Simple CAS should work as expected 0.003s
374 + Ref hashCode and equals 0.012s
375 + Ref.swap 0.003s
376 + MemoryLocation#cast 0.004s
377 + Ref.apply 0.003s
378 + Ref.array 0.006s
379 + Ref.array (big) 0.017s
380 + Order/Ordering/Hash instances 0.003s
3819999999 has no stable identity
382unsafeDirectRead / unsafeCas doesn't work
383dev.tauri.choam.core.RxnSpecJvm_SpinLockMcas_ZIO:
384 + Check MCAS implementation 0.018s
385 + Choice should prefer the first option 0.213s
386 + Choice should use the second option, if the first is not available 0.045s
387 + Inner choice should be used first 0.023s
388 + Choice after *> 0.037s
389 + Multiple writes (also in choice) 0.016s
390 + Choice should perform the correct post-commit actions 0.046s
391 + Choice should work if it's after some other operation 0.058s
392 + Choice should work even if it's computed 0.108s
393 + Choice should be stack-safe (even when deeply nested) 0.027s
394 + Choice should be stack-safe (even when deeply nested and doing actual CAS-es) 0.251s
395 + Choice should correctly backtrack (1) (no jumps) 0.038s
396 + Choice should correctly backtrack (1) (even with jumps) 0.048s
397 + Choice should correctly backtrack (2) (no jumps) 0.086s
398 + Choice should correctly backtrack (2) (even with jumps) 0.183s
399 + Choice should be associative 0.036s
400 + Post-commit actions should be executed 0.025s
401 + Order of post-commit actions 0.017s
402 + Changes committed must be visible in post-commit actions 0.026s
403 + Formerly impossible CAS should not cause a runtime error 0.006s
404 + Integration with IO should work 0.007s
405 + Ref.consistentRead 0.008s
406 + Ref.consistentReadMany 0.012s
407 + Ref.swap 0.01s
408 + flatMap and *> 0.016s
409 + flatten 0.001s
410 + *> and >> 0.014s
411 + *> receives the correct input 0.011s
412 + Recursive >> stack safety 0.146s
413 + <* and *> 0.034s
414 + flatMap 0.006s
415 + flatMap chain 0.012s
416 + tailRecM 0.015s
417 + as and map 0.009s
418 + map2 0.015s
419 + unsafeCas 0.016s
420 + unsafeCas after read 0.012s
421 + unsafeCas after write 0.017s
422 + upd after read 0.018s
423 + upd after write 0.013s
424 + attempt 0.006s
425 + maybe 0.005s
426 + RxnLocal (simple) 0.01s
427 + RxnLocal.Array (simple) 0.013s
428 + RxnLocal (compose with Rxn) 0.003s
429 + RxnLocal (rollback) 0.009s
430 + RxnLocal.Array (rollback) 0.008s
431 + RxnLocal (nested) 0.014s
432 + Rxn.unsafe.delayContext 0.005s
433 + Rxn.unsafe.suspendContext 0.004s
434 + unsafe.ticketRead 0.027s
435 + unsafe.ticketRead (already in log) 0.014s
436 + unsafe.tentativeRead 0.031s
437 + unsafe.tentativeRead (already in log) 0.019s
438 + unsafe.forceValidate (dummy) 0.006s
439 + unsafe.unread (empty log) 0.003s
440 + unsafe.unread (not in log) 0.012s
441 + unsafe.unread (read-only) 0.017s
442 + unsafe.unread (read-write => exception) 0.022s
443 + panic 0.024s
444 + panic in post-commit actions (1) 0.039s
445 + panic in post-commit actions (2) 0.036s
446 + unsafe.delay(throw), i.e., unsafe.panic 0.048s
447 + Rxn.unsafe.assert 0.007s
448 + Rxn constants 0.015s
449 + Autoboxing 0.021s
450 + Monad instance 0.001s
451 + Monoid instance 0.001s
452 + Applicative instance 0.001s
453 + Align instance 0.018s
454 + Defer instance 0.012s
455 + Ref.Make instance 0.001s
456 + UUIDGen instance 0.025s
457 + Clock instance 0.004s
458 + maxRetries 0.228s
459 + Strategy options 0.002s
460 + Running with Strategy.spin 0.0s
461 + Running with Strategy.spin, but with interpretAsync 0.003s
462 + Running with Strategy.cede 0.001s
463 + Running with Strategy.cede should be cancellable 0.198s
464 + Running with Strategy.sleep 0.001s
465 + Running with Strategy.sleep should be cancellable 0.102s
466 + Rxn#perform should be repeatable 0.001s
467 + Executing a Rxn which doesn't change Refs shouldn't change the global version 0.025s
468 + Exception passthrough (unsafePerform) 0.003s
469 + Exception passthrough (Reactive) 0.011s
470 + Thread interruption in infinite retry 1.641s
471 + Autoboxing (JVM) 0.868s
472 + Zombie 0.02s
473 + Zombie side effect 0.545s
474 + Read-write-read-write 0.013s
475==> s dev.tauri.choam.core.RxnSpecJvm_SpinLockMcas_ZIO.unsafe.unread should make a conflict disappear skipped 0.013s
476 + read, then unsafe.unread, then 2 reads (only last 2 must be consistent) 0.409s
477 + unsafe.forceValidate (concurrent unrelated change) 0.024s
478 + unsafe.forceValidate (concurrent conflicting change) 0.017s
479 + unsafe.tentativeRead opacity (1) 0.016s
480 + unsafe.tentativeRead opacity (2) 0.018s
481==> s dev.tauri.choam.core.RxnSpecJvm_SpinLockMcas_ZIO.unsafe.tentativeRead can commit while depending on inconsistent state (that's why it's unsafe) skipped 0.002s
482 + unsafe.tentativeRead (can commit while depending on inconsistent state, but) still detects inconsistent WRITES 0.016s
483 + unsafe.tentativeRead + Exchanger 0.314s
484 + unsafe.tentativeRead, then update (must see the same value) 0.533s
485 + Opacity with simple .get instead of unsafe.tentativeRead 0.015s
486 + read-write conflict cycle 0.162s
487 + indirect cycle 0.238s
488 + read-mostly `Rxn`s with cycle 2.05s
489 + read-only `Rxn`s 0.134s
490 + read-only/read-write `Rxn`s 0.207s
491 + read-only/write-only `Rxn`s 0.151s
492 + panic + exchanger 0.015s
493 + panic + exchanger + panic in post-commit action 0.039s
494dev.tauri.choam.core.RefSpec_Arr_ThreadConfinedMcas_IO:
495 + ifM instead of guard/guardNot 0.002s
496 + Ref#get 0.004s
497 + Ref#update et. al. 0.001s
498 + Ref#update 0.001s
499 + Ref#update example 0.001s
500 + Ref#modify et. al. 0.0s
501 + Ref#flatModify 0.001s
502 + Ref#getAndSet 0.001s
503 + Ref#set 0.0s
504 + RefLike#getAndUpd 0.001s
505 + RefLike#updAndGet 0.0s
506 + Ref#asCats 0.007s
507 + CatsRef[Rxn, A] 0.001s
508 + Regular Ref shouldn't have .withListeners 0.001s
509 + Ref/TRef creation 0.001s
510 + Simple CAS should work as expected 0.0s
511 + Ref hashCode and equals 0.002s
512 + Ref.swap 0.001s
513 + MemoryLocation#cast 0.0s
514 + Ref.apply 0.007s
515 + Ref.array 0.001s
516 + Ref.array (big) 0.003s
517 + Order/Ordering/Hash instances 0.0s
518SecureRandom class: java.security.SecureRandom
519SecureRandom algorithm: NativePRNG
520SecureRandom parameters: null
521SecureRandom provider class: sun.security.provider.Sun
522SecureRandom provider name: SUN
523SecureRandom provider version: 25
524SecureRandom provider info: SUN (DSA key/parameter generation; DSA signing; SHA-1, MD5 digests; SecureRandom; X.509 certificates; PKCS12, JKS & DKS keystores; PKIX CertPathValidator; PKIX CertPathBuilder; LDAP, Collection CertStores, JavaPolicy Policy; JavaLoginConfig Configuration)
525SecureRandom is thread safe: true
526Runtime.version().version() == [25]
527Consts.statsEnabled == true
528java.vendor property == "Eclipse Adoptium"
529java.vendor.url property == "https://adoptium.net/"
530java.version property == "25"
531java.vm.specification.version property == "25"
532java.vm.specification.vendor property == "Oracle Corporation"
533java.vm.specification.name property == "Java Virtual Machine Specification"
534java.vm.version property == "25+36-LTS"
535java.vm.vendor property == "Eclipse Adoptium"
536java.vm.name property == "OpenJDK 64-Bit Server VM"
537java.specification.version property == "25"
538java.specification.vendor property == "Oracle Corporation"
539java.specification.name property == "Java Platform API Specification"
540java.compiler property is missing!
541os.arch property == "amd64"
542os.name property == "Linux"
543os.version property == "6.8.0-1041-azure"
544Runtime.getRuntime().availableProcessors() == 4
545OsRng class: dev.tauri.choam.internal.mcas.UnixRng
546isOpenJdk() == true
547isGraal() == false
548isOpenJ9() == false
549isWindows() == false
550isMac() == false
551isJvm() == true
552isJs() == false
553isNative() == false
554isMultithreaded() == true
555platform == dev.tauri.choam.MUnitUtils$Jvm$@43adbfdf
556isArm() == false
557isVmSupportsLongCas() == true
558isIntCached(42) == true
559isIntCached(99999999) == false
560getJvmVersion() == 25
561dev.tauri.choam.EnvironmentSpec:
562 + Check SecureRandom 0.013s
563 + Check JVM version 0.001s
564 + Check Consts.statsEnabled 0.001s
565 + Check environment 0.002s
566 + Check OsRng 0.002s
567 + Check autodetection 0.003s
568dev.tauri.choam.ChoamRuntimeImplSpec:
569 + Thread-local ThreadContexts 0.348s
570 + ThreadContexts should be GC'd 0.052s
571 + Using multiple runtimes in parallel 0.287s
572 + Creating/closing runtimes concurrently 3.347s
573 + Refcounts 0.005s
574 + Close last / create new race 0.386s
575dev.tauri.choam.core.ResourceSpecIO:
576 + Reactive.from 0.002s
577 + Reactive.fromIn 0.011s
578 + AsyncReactive.from 0.001s
579 + AsyncReactive.fromIn 0.001s
580 + Working on a Ref with 2 different MCAS impls (existing at the same time) 0.003s
581dev.tauri.choam.core.RxnImplSpec_FlakyEMCAS_IO:
582 + Creating and running deeply nested Rxn's should both be stack-safe 0.831s
583 + postCommit 0.006s
584dev.tauri.choam.stm.TRefSpec_DefaultMcas_ZIO:
585 + TRef#set 0.009s
586 + TRef#update 0.003s
587 + TRef#modify 0.002s
588 + TRef#getAndSet 0.001s
589 + TRef#updateAndGet 0.002s
590 + TRef#flatModify 0.003s
591 + Internal: TRef should be a Ref 0.002s
592 + Internal: TRef.unsafeRefWithId 0.001s
593 + Internal: TRef should have .withListeners 0.028s
594dev.tauri.choam.core.AxnSpecJvm_SpinLockMcas_ZIO:
595 + Rxn.unsafe.delay/suspend 0.003s
596 + Rxn.unsafe.delayContext/suspendContext 0.006s
597Default SecureRandom: NativePRNG (in 395033ns)
598dev.tauri.choam.internal.random.RandomSpecJvm_ThreadConfinedMcas_SyncIO:
599 + UUIDGen 0.014s
600 + Unique 0.003s
601 + slowRandom must implement cats.effect.std.SecureRandom 0.004s
602 + Rxn.fastRandom nextDouble 0.083s
603 + Rxn.fastRandom betweenDouble 0.044s
604 + Rxn.fastRandom betweenFloat 0.035s
605 + Rxn.fastRandom nextLong 0.008s
606 + Rxn.fastRandom nextLongBounded 0.01s
607 + Rxn.fastRandom shuffleList/Vector 0.035s
608 + Rxn.fastRandom nextGaussian 0.01s
609 + Rxn.fastRandom nextAlphaNumeric 0.024s
610 + Rxn.fastRandom nextPrintableChar 0.008s
611 + Rxn.fastRandom nextString 0.007s
612 + Rxn.slowRandom nextDouble 0.008s
613 + Rxn.slowRandom betweenDouble 0.017s
614 + Rxn.slowRandom betweenFloat 0.02s
615 + Rxn.slowRandom nextLong 0.003s
616 + Rxn.slowRandom nextLongBounded 0.005s
617 + Rxn.slowRandom shuffleList/Vector 0.037s
618 + Rxn.slowRandom nextGaussian 0.008s
619 + Rxn.slowRandom nextAlphaNumeric 0.022s
620 + Rxn.slowRandom nextPrintableChar 0.005s
621 + Rxn.slowRandom nextString 0.006s
622 + Rxn.deterministicRandom nextDouble 0.017s
623 + Rxn.deterministicRandom betweenDouble 0.015s
624 + Rxn.deterministicRandom betweenFloat 0.017s
625 + Rxn.deterministicRandom nextLong 0.006s
626 + Rxn.deterministicRandom nextLongBounded 0.099s
627 + Rxn.deterministicRandom shuffleList/Vector 0.021s
628 + Rxn.deterministicRandom nextGaussian 0.006s
629 + Rxn.deterministicRandom nextAlphaNumeric 0.022s
630 + Rxn.deterministicRandom nextPrintableChar 0.007s
631 + Rxn.deterministicRandom nextString 0.005s
632 + MinimalRandom1 nextDouble 0.01s
633 + MinimalRandom1 betweenDouble 0.011s
634 + MinimalRandom1 betweenFloat 0.014s
635 + MinimalRandom1 nextLong 0.002s
636 + MinimalRandom1 nextLongBounded 0.005s
637 + MinimalRandom1 shuffleList/Vector 0.025s
638 + MinimalRandom1 nextGaussian 0.006s
639 + MinimalRandom1 nextAlphaNumeric 0.018s
640 + MinimalRandom1 nextPrintableChar 0.002s
641 + MinimalRandom1 nextString 0.002s
642 + MinimalRandom2 nextDouble 0.012s
643 + MinimalRandom2 betweenDouble 0.016s
644 + MinimalRandom2 betweenFloat 0.014s
645 + MinimalRandom2 nextLong 0.005s
646 + MinimalRandom2 nextLongBounded 0.007s
647 + MinimalRandom2 shuffleList/Vector 0.024s
648 + MinimalRandom2 nextGaussian 0.01s
649 + MinimalRandom2 nextAlphaNumeric 0.019s
650 + MinimalRandom2 nextPrintableChar 0.002s
651 + MinimalRandom2 nextString 0.002s
652 + Rxn.deterministicRandom must be deterministic (1) 0.026s
653 + Rxn.deterministicRandom must be deterministic (2) 0.081s
654 + Rxn.deterministicRandom must be able to roll back the seed 0.009s
655 + Rxn.deterministicRandom must generate the same values on JS as on JVM 0.007s
656 + Rxn.deterministicRandom must be splittable 0.011s
657 + Rxn.deterministicRandom must generate the same values as MinimalRandom 0.071s
658 + Rxn.deterministicRandom should use the same algo as SplittableRandom 0.073s
659 + SecureRandom (JVM) 0.001s
660dev.tauri.choam.stm.ResourceSpecIO:
661 + Transactive.from 0.006s
662 + Transactive.fromIn 0.001s
663 + Working on a TRef with 2 different MCAS impls (existing at the same time) 0.006s
664dev.tauri.choam.core.StrategySpec:
665 + RetryStrategy constructors 0.005s
666 + RetryStrategy copy 0.005s
667 + RetryStrategy illegal arguments 0.001s
668 + RetryStrategy Show/toString 0.004s
669dev.tauri.choam.core.RefSpecJvm_Real_Emcas_ZIO:
670 + ifM instead of guard/guardNot 0.006s
671 + Ref#get 0.003s
672 + Ref#update et. al. 0.002s
673 + Ref#update 0.002s
674 + Ref#update example 0.003s
675 + Ref#modify et. al. 0.002s
676 + Ref#flatModify 0.002s
677 + Ref#getAndSet 0.003s
678 + Ref#set 0.006s
679 + RefLike#getAndUpd 0.002s
680 + RefLike#updAndGet 0.001s
681 + Ref#asCats 0.012s
682 + CatsRef[Rxn, A] 0.001s
683 + Regular Ref shouldn't have .withListeners 0.002s
684 + version 0.006s
685 + Ref/TRef creation 0.003s
686 + Simple CAS should work as expected 0.002s
687 + Ref hashCode and equals 0.003s
688 + Ref.swap 0.003s
689 + MemoryLocation#cast 0.002s
690 + Ref.apply 0.001s
691 + Ref.array 0.004s
692 + Ref.array (big) 0.007s
693 + Order/Ordering/Hash instances 0.0s
694dev.tauri.choam.unsafe.AtomicallyInAsyncSpec_DefaultMcas_ZIO:
695 + Retries 0.008s
696 + Ticket#validate 0.004s
697 + Hello, World! 0.003s
698 + updateRef 0.002s
699 + getAndSetRef 0.003s
700 + tentativeRead 0.002s
701 + ticketRead 0.003s
702 + RefSyntax 0.002s
703 + Ref.Array 0.004s
704 + Exception passthrough 0.002s
705 + panic 0.0s
706 + Forced retries (1) 0.003s
707 + Forced retries (2) 0.004s
708 + null result 0.004s
709 + Create with Rxn, use imperatively 0.0s
710 + Create imperatively, use with Rxn 0.003s
711 + atomicallyInAsync with different strategies 0.003s
712dev.tauri.choam.internal.refs.Ref2SpecP2:
713 + toString format 0.003s
714 + equals/toString 0.003s
715 + consistentRead 0.001s
716 + read/write/cas 0.003s
717dev.tauri.choam.core.AxnSpecJvm_Emcas_ZIO:
718 + Rxn.unsafe.delay/suspend 0.001s
719 + Rxn.unsafe.delayContext/suspendContext 0.001s
720dev.tauri.choam.Ref1SpecU1:
721 + toString format 0.0s
722 + equals/toString 0.001s
723 + read/write/cas 0.001s
724dev.tauri.choam.Ref1SpecP1:
725 + toString format 0.001s
726 + equals/toString 0.0s
727 + read/write/cas 0.001s
728dev.tauri.choam.core.RxnImplSpec_SpinLockMcas_IO:
729 + Creating and running deeply nested Rxn's should both be stack-safe 0.998s
730 + postCommit 0.001s
731dev.tauri.choam.stm.TPromiseSpecTicked_DefaultMcas_IO:
732 + get after complete 0.009s
733 + get before complete 0.075s
734 + complete left side of orElse 0.039s
735 + complete right side of orElse 0.031s
736 + multiple readers 0.042s
7379999999 has no stable identity
738unsafeDirectRead / unsafeCas doesn't work
739dev.tauri.choam.core.RxnSpecJvm_Emcas_ZIO:
740 + Check MCAS implementation 0.0s
741 + Choice should prefer the first option 0.002s
742 + Choice should use the second option, if the first is not available 0.0s
743 + Inner choice should be used first 0.001s
744 + Choice after *> 0.001s
745 + Multiple writes (also in choice) 0.0s
746 + Choice should perform the correct post-commit actions 0.001s
747 + Choice should work if it's after some other operation 0.001s
748 + Choice should work even if it's computed 0.0s
749 + Choice should be stack-safe (even when deeply nested) 0.009s
750 + Choice should be stack-safe (even when deeply nested and doing actual CAS-es) 0.092s
751 + Choice should correctly backtrack (1) (no jumps) 0.001s
752 + Choice should correctly backtrack (1) (even with jumps) 0.011s
753 + Choice should correctly backtrack (2) (no jumps) 0.009s
754 + Choice should correctly backtrack (2) (even with jumps) 0.212s
755 + Choice should be associative 0.0s
756 + Post-commit actions should be executed 0.001s
757 + Order of post-commit actions 0.0s
758 + Changes committed must be visible in post-commit actions 0.001s
759 + Formerly impossible CAS should not cause a runtime error 0.0s
760 + Integration with IO should work 0.0s
761 + Ref.consistentRead 0.001s
762 + Ref.consistentReadMany 0.0s
763 + Ref.swap 0.0s
764 + flatMap and *> 0.001s
765 + flatten 0.0s
766 + *> and >> 0.0s
767 + *> receives the correct input 0.001s
768 + Recursive >> stack safety 0.263s
769 + <* and *> 0.0s
770 + flatMap 0.001s
771 + flatMap chain 0.0s
772 + tailRecM 0.001s
773 + as and map 0.0s
774 + map2 0.0s
775 + unsafeCas 0.001s
776 + unsafeCas after read 0.0s
777 + unsafeCas after write 0.0s
778 + upd after read 0.0s
779 + upd after write 0.0s
780 + attempt 0.001s
781 + maybe 0.0s
782 + RxnLocal (simple) 0.0s
783 + RxnLocal.Array (simple) 0.001s
784 + RxnLocal (compose with Rxn) 0.0s
785 + RxnLocal (rollback) 0.001s
786 + RxnLocal.Array (rollback) 0.0s
787 + RxnLocal (nested) 0.001s
788 + Rxn.unsafe.delayContext 0.0s
789 + Rxn.unsafe.suspendContext 0.0s
790 + unsafe.ticketRead 0.001s
791 + unsafe.ticketRead (already in log) 0.0s
792 + unsafe.tentativeRead 0.001s
793 + unsafe.tentativeRead (already in log) 0.0s
794 + unsafe.forceValidate (dummy) 0.0s
795 + unsafe.unread (empty log) 0.001s
796 + unsafe.unread (not in log) 0.0s
797 + unsafe.unread (read-only) 0.001s
798 + unsafe.unread (read-write => exception) 0.0s
799 + panic 0.001s
800 + panic in post-commit actions (1) 0.001s
801 + panic in post-commit actions (2) 0.0s
802 + unsafe.delay(throw), i.e., unsafe.panic 0.001s
803 + Rxn.unsafe.assert 0.001s
804 + Rxn constants 0.0s
805 + Autoboxing 0.001s
806 + Monad instance 0.0s
807 + Monoid instance 0.0s
808 + Applicative instance 0.001s
809 + Align instance 0.0s
810 + Defer instance 0.0s
811 + Ref.Make instance 0.001s
812 + UUIDGen instance 0.0s
813 + Clock instance 0.0s
814 + maxRetries 0.212s
815 + Strategy options 0.001s
816 + Running with Strategy.spin 0.0s
817 + Running with Strategy.spin, but with interpretAsync 0.001s
818 + Running with Strategy.cede 0.0s
819 + Running with Strategy.cede should be cancellable 0.104s
820 + Running with Strategy.sleep 0.001s
821 + Running with Strategy.sleep should be cancellable 0.101s
822 + Rxn#perform should be repeatable 0.0s
823 + Executing a Rxn which doesn't change Refs shouldn't change the global version 0.0s
824 + Exception passthrough (unsafePerform) 0.0s
825 + Exception passthrough (Reactive) 0.0s
826 + Thread interruption in infinite retry 1.635s
827 + Autoboxing (JVM) 0.846s
828 + Zombie 0.004s
829 + Zombie side effect 0.157s
830 + Read-write-read-write 0.001s
831 + unsafe.unread should make a conflict disappear 1.312s
832 + read, then unsafe.unread, then 2 reads (only last 2 must be consistent) 0.271s
833 + unsafe.forceValidate (concurrent unrelated change) 0.001s
834 + unsafe.forceValidate (concurrent conflicting change) 0.0s
835 + unsafe.tentativeRead opacity (1) 0.001s
836 + unsafe.tentativeRead opacity (2) 0.001s
837 + unsafe.tentativeRead can commit while depending on inconsistent state (that's why it's unsafe) 0.014s
838 + unsafe.tentativeRead (can commit while depending on inconsistent state, but) still detects inconsistent WRITES 0.0s
839 + unsafe.tentativeRead + Exchanger 0.543s
840 + unsafe.tentativeRead, then update (must see the same value) 0.121s
841 + Opacity with simple .get instead of unsafe.tentativeRead 0.0s
842 + read-write conflict cycle 0.131s
843 + indirect cycle 0.271s
844 + read-mostly `Rxn`s with cycle 2.691s
845 + read-only `Rxn`s 0.126s
846 + read-only/read-write `Rxn`s 0.148s
847 + read-only/write-only `Rxn`s 0.128s
848 + panic + exchanger 0.02s
849 + panic + exchanger + panic in post-commit action 0.076s
850 + Commit retry due to version 0.005s
851dev.tauri.choam.core.AsyncRxnSpec_SpinLockMcas_IO:
852 + applyAsync 0.013s
853 + Exception passthrough (AsyncReactive) 0.007s
854Starting ArrayObjStack nextPowerOf2 overflow test
855Finished ArrayObjStack nextPowerOf2 overflow test
856dev.tauri.choam.core.InternalStackSpec:
857 + ArrayObjStack 0.006s
858 + ListObjStack 0.005s
859 + ByteStack 0.004s
860 + ObjStack.Lst.length 0.001s
861 + ObjStack.Lst.reversed 0.0s
862 + ObjStack.Lst.concat 0.001s
863 + ObjStack.Lst.splitBefore 0.002s
864 + ByteStack.splitAt 0.004s
865 + ByteStack.push 0.0s
866 + ByteStack nextPowerOf2 underflow 0.001s
867 + ByteStack nextPowerOf2 overflow 1.779s
868 + ArrayObjStack nextPowerOf2 overflow 0.421s
869dev.tauri.choam.BaseSpecZIOSpec:
870 + Test success 0.001s
871==> i dev.tauri.choam.BaseSpecZIOSpec.Test ignore ignored 0.0s
872 + Test expected failure (exception) 0.001s
873 + Test expected failure (forked exception) 0.002s
874dev.tauri.choam.internal.random.RandomSpecJvmNat_Emcas_SyncIO:
875 + UUIDGen 0.004s
876 + Unique 0.001s
877 + slowRandom must implement cats.effect.std.SecureRandom 0.0s
878 + Rxn.fastRandom nextDouble 0.007s
879 + Rxn.fastRandom betweenDouble 0.009s
880 + Rxn.fastRandom betweenFloat 0.011s
881 + Rxn.fastRandom nextLong 0.001s
882 + Rxn.fastRandom nextLongBounded 0.002s
883 + Rxn.fastRandom shuffleList/Vector 0.015s
884 + Rxn.fastRandom nextGaussian 0.002s
885 + Rxn.fastRandom nextAlphaNumeric 0.008s
886 + Rxn.fastRandom nextPrintableChar 0.001s
887 + Rxn.fastRandom nextString 0.001s
888 + Rxn.slowRandom nextDouble 0.002s
889 + Rxn.slowRandom betweenDouble 0.008s
890 + Rxn.slowRandom betweenFloat 0.012s
891 + Rxn.slowRandom nextLong 0.002s
892 + Rxn.slowRandom nextLongBounded 0.002s
893 + Rxn.slowRandom shuffleList/Vector 0.025s
894 + Rxn.slowRandom nextGaussian 0.006s
895 + Rxn.slowRandom nextAlphaNumeric 0.013s
896 + Rxn.slowRandom nextPrintableChar 0.001s
897 + Rxn.slowRandom nextString 0.001s
898 + Rxn.deterministicRandom nextDouble 0.006s
899 + Rxn.deterministicRandom betweenDouble 0.01s
900 + Rxn.deterministicRandom betweenFloat 0.007s
901 + Rxn.deterministicRandom nextLong 0.005s
902 + Rxn.deterministicRandom nextLongBounded 0.001s
903 + Rxn.deterministicRandom shuffleList/Vector 0.009s
904 + Rxn.deterministicRandom nextGaussian 0.003s
905 + Rxn.deterministicRandom nextAlphaNumeric 0.005s
906 + Rxn.deterministicRandom nextPrintableChar 0.002s
907 + Rxn.deterministicRandom nextString 0.001s
908 + MinimalRandom1 nextDouble 0.002s
909 + MinimalRandom1 betweenDouble 0.008s
910 + MinimalRandom1 betweenFloat 0.007s
911 + MinimalRandom1 nextLong 0.001s
912 + MinimalRandom1 nextLongBounded 0.001s
913 + MinimalRandom1 shuffleList/Vector 0.01s
914 + MinimalRandom1 nextGaussian 0.003s
915 + MinimalRandom1 nextAlphaNumeric 0.007s
916 + MinimalRandom1 nextPrintableChar 0.001s
917 + MinimalRandom1 nextString 0.001s
918 + MinimalRandom2 nextDouble 0.003s
919 + MinimalRandom2 betweenDouble 0.01s
920 + MinimalRandom2 betweenFloat 0.008s
921 + MinimalRandom2 nextLong 0.001s
922 + MinimalRandom2 nextLongBounded 0.001s
923 + MinimalRandom2 shuffleList/Vector 0.011s
924 + MinimalRandom2 nextGaussian 0.003s
925 + MinimalRandom2 nextAlphaNumeric 0.007s
926 + MinimalRandom2 nextPrintableChar 0.002s
927 + MinimalRandom2 nextString 0.001s
928 + Rxn.deterministicRandom must be deterministic (1) 0.007s
929 + Rxn.deterministicRandom must be deterministic (2) 0.032s
930 + Rxn.deterministicRandom must be able to roll back the seed 0.005s
931 + Rxn.deterministicRandom must generate the same values on JS as on JVM 0.0s
932 + Rxn.deterministicRandom must be splittable 0.005s
933 + Rxn.deterministicRandom must generate the same values as MinimalRandom 0.038s
934 + Rxn.deterministicRandom should use the same algo as SplittableRandom 0.028s
935dev.tauri.choam.internal.random.RandomBaseSpecJvm:
936 + byteArrayViewVarHandle 0.002s
937 + ByteBuffer endianness 0.001s
938 + RxnUuidGen 0.015s
939 + VarHandle endianness 0.002s
940dev.tauri.choam.stm.TPromiseSpec_DefaultMcas_IO:
941 + get before complete 1.831s
942 + complete/cancel race 3.235s
943 + complete left side of orElse 3.219s
944 + complete right side of orElse 3.162s
945dev.tauri.choam.internal.random.RandomSpecJvmNat_ThreadConfinedMcas_SyncIO:
946 + UUIDGen 0.002s
947 + Unique 0.0s
948 + slowRandom must implement cats.effect.std.SecureRandom 0.0s
949 + Rxn.fastRandom nextDouble 0.001s
950 + Rxn.fastRandom betweenDouble 0.007s
951 + Rxn.fastRandom betweenFloat 0.008s
952 + Rxn.fastRandom nextLong 0.001s
953 + Rxn.fastRandom nextLongBounded 0.002s
954 + Rxn.fastRandom shuffleList/Vector 0.006s
955 + Rxn.fastRandom nextGaussian 0.002s
956 + Rxn.fastRandom nextAlphaNumeric 0.004s
957 + Rxn.fastRandom nextPrintableChar 0.001s
958 + Rxn.fastRandom nextString 0.001s
959 + Rxn.slowRandom nextDouble 0.001s
960 + Rxn.slowRandom betweenDouble 0.006s
961 + Rxn.slowRandom betweenFloat 0.004s
962 + Rxn.slowRandom nextLong 0.001s
963 + Rxn.slowRandom nextLongBounded 0.001s
964 + Rxn.slowRandom shuffleList/Vector 0.014s
965 + Rxn.slowRandom nextGaussian 0.002s
966 + Rxn.slowRandom nextAlphaNumeric 0.009s
967 + Rxn.slowRandom nextPrintableChar 0.001s
968 + Rxn.slowRandom nextString 0.001s
969 + Rxn.deterministicRandom nextDouble 0.001s
970 + Rxn.deterministicRandom betweenDouble 0.007s
971 + Rxn.deterministicRandom betweenFloat 0.007s
972 + Rxn.deterministicRandom nextLong 0.001s
973 + Rxn.deterministicRandom nextLongBounded 0.001s
974 + Rxn.deterministicRandom shuffleList/Vector 0.005s
975 + Rxn.deterministicRandom nextGaussian 0.002s
976 + Rxn.deterministicRandom nextAlphaNumeric 0.005s
977 + Rxn.deterministicRandom nextPrintableChar 0.004s
978 + Rxn.deterministicRandom nextString 0.001s
979 + MinimalRandom1 nextDouble 0.001s
980 + MinimalRandom1 betweenDouble 0.006s
981 + MinimalRandom1 betweenFloat 0.007s
982 + MinimalRandom1 nextLong 0.001s
983 + MinimalRandom1 nextLongBounded 0.001s
984 + MinimalRandom1 shuffleList/Vector 0.012s
985 + MinimalRandom1 nextGaussian 0.002s
986 + MinimalRandom1 nextAlphaNumeric 0.004s
987 + MinimalRandom1 nextPrintableChar 0.001s
988 + MinimalRandom1 nextString 0.001s
989 + MinimalRandom2 nextDouble 0.005s
990 + MinimalRandom2 betweenDouble 0.003s
991 + MinimalRandom2 betweenFloat 0.01s
992 + MinimalRandom2 nextLong 0.001s
993 + MinimalRandom2 nextLongBounded 0.001s
994 + MinimalRandom2 shuffleList/Vector 0.006s
995 + MinimalRandom2 nextGaussian 0.001s
996 + MinimalRandom2 nextAlphaNumeric 0.003s
997 + MinimalRandom2 nextPrintableChar 0.001s
998 + MinimalRandom2 nextString 0.001s
999 + Rxn.deterministicRandom must be deterministic (1) 0.006s
1000 + Rxn.deterministicRandom must be deterministic (2) 0.024s
1001 + Rxn.deterministicRandom must be able to roll back the seed 0.003s
1002 + Rxn.deterministicRandom must generate the same values on JS as on JVM 0.001s
1003 + Rxn.deterministicRandom must be splittable 0.003s
1004 + Rxn.deterministicRandom must generate the same values as MinimalRandom 0.027s
1005 + Rxn.deterministicRandom should use the same algo as SplittableRandom 0.04s
1006dev.tauri.choam.core.StripedRefSpec_DefaultMcas_ZIO:
1007 + Basics 0.022s
1008dev.tauri.choam.core.RefSpec_Real_ThreadConfinedMcas_IO:
1009 + ifM instead of guard/guardNot 0.001s
1010 + Ref#get 0.0s
1011 + Ref#update et. al. 0.0s
1012 + Ref#update 0.001s
1013 + Ref#update example 0.0s
1014 + Ref#modify et. al. 0.0s
1015 + Ref#flatModify 0.0s
1016 + Ref#getAndSet 0.0s
1017 + Ref#set 0.0s
1018 + RefLike#getAndUpd 0.004s
1019 + RefLike#updAndGet 0.0s
1020 + Ref#asCats 0.0s
1021 + CatsRef[Rxn, A] 0.0s
1022 + Regular Ref shouldn't have .withListeners 0.001s
1023 + Ref/TRef creation 0.0s
1024 + Simple CAS should work as expected 0.0s
1025 + Ref hashCode and equals 0.001s
1026 + Ref.swap 0.0s
1027 + MemoryLocation#cast 0.0s
1028 + Ref.apply 0.0s
1029 + Ref.array 0.001s
1030 + Ref.array (big) 0.002s
1031 + Order/Ordering/Hash instances 0.0s
1032dev.tauri.choam.unsafe.AtomicallyInAsyncSpec_DefaultMcas_IO:
1033 + Retries 0.001s
1034 + Ticket#validate 0.001s
1035 + Hello, World! 0.0s
1036 + updateRef 0.0s
1037 + getAndSetRef 0.001s
1038 + tentativeRead 0.0s
1039 + ticketRead 0.0s
1040 + RefSyntax 0.0s
1041 + Ref.Array 0.001s
1042 + Exception passthrough 0.0s
1043 + panic 0.001s
1044 + Forced retries (1) 0.0s
1045 + Forced retries (2) 0.0s
1046 + null result 0.0s
1047 + Create with Rxn, use imperatively 0.0s
1048 + Create imperatively, use with Rxn 0.0s
1049 + atomicallyInAsync with different strategies 0.0s
1050dev.tauri.choam.core.AxnSpecJvm_SpinLockMcas_IO:
1051 + Rxn.unsafe.delay/suspend 0.0s
1052 + Rxn.unsafe.delayContext/suspendContext 0.001s
1053dev.tauri.choam.core.RefSpecJvm_Arr_Emcas_IO:
1054 + ifM instead of guard/guardNot 0.0s
1055 + Ref#get 0.001s
1056 + Ref#update et. al. 0.0s
1057 + Ref#update 0.0s
1058 + Ref#update example 0.0s
1059 + Ref#modify et. al. 0.0s
1060 + Ref#flatModify 0.004s
1061 + Ref#getAndSet 0.0s
1062 + Ref#set 0.0s
1063 + RefLike#getAndUpd 0.0s
1064 + RefLike#updAndGet 0.0s
1065 + Ref#asCats 0.001s
1066 + CatsRef[Rxn, A] 0.0s
1067 + Regular Ref shouldn't have .withListeners 0.0s
1068 + version 0.0s
1069 + Ref/TRef creation 0.001s
1070 + Simple CAS should work as expected 0.0s
1071 + Ref hashCode and equals 0.0s
1072 + Ref.swap 0.0s
1073 + MemoryLocation#cast 0.0s
1074 + Ref.apply 0.001s
1075 + Ref.array 0.0s
1076 + Ref.array (big) 0.004s
1077 + Order/Ordering/Hash instances 0.0s
1078dev.tauri.choam.core.RxnImplSpec_Emcas_IO:
1079 + Creating and running deeply nested Rxn's should both be stack-safe 0.617s
1080 + postCommit 0.001s
1081dev.tauri.choam.unsafe.AtomicallySpec_DefaultMcas_ZIO:
1082 + Retries 0.0s
1083 + Ticket#validate 0.001s
1084 + Hello, World! 0.0s
1085 + updateRef 0.0s
1086 + getAndSetRef 0.001s
1087 + tentativeRead 0.0s
1088 + ticketRead 0.0s
1089 + RefSyntax 0.0s
1090 + Ref.Array 0.001s
1091 + Exception passthrough 0.0s
1092 + panic 0.0s
1093 + Forced retries (1) 0.0s
1094 + Forced retries (2) 0.0s
1095 + null result 0.001s
1096 + Create with Rxn, use imperatively 0.0s
1097 + Create imperatively, use with Rxn 0.0s
1098dev.tauri.choam.core.RefSpecJvm_Real_Emcas_IO:
1099 + ifM instead of guard/guardNot 0.0s
1100 + Ref#get 0.001s
1101 + Ref#update et. al. 0.0s
1102 + Ref#update 0.0s
1103 + Ref#update example 0.0s
1104 + Ref#modify et. al. 0.0s
1105 + Ref#flatModify 0.001s
1106 + Ref#getAndSet 0.0s
1107 + Ref#set 0.0s
1108 + RefLike#getAndUpd 0.0s
1109 + RefLike#updAndGet 0.0s
1110 + Ref#asCats 0.001s
1111 + CatsRef[Rxn, A] 0.0s
1112 + Regular Ref shouldn't have .withListeners 0.0s
1113 + version 0.0s
1114 + Ref/TRef creation 0.0s
1115 + Simple CAS should work as expected 0.0s
1116 + Ref hashCode and equals 0.0s
1117 + Ref.swap 0.0s
1118 + MemoryLocation#cast 0.0s
1119 + Ref.apply 0.0s
1120 + Ref.array 0.0s
1121 + Ref.array (big) 0.001s
1122 + Order/Ordering/Hash instances 0.0s
1123dev.tauri.choam.internal.random.RandomSpec_ThreadConfinedMcas_SyncIO:
1124 + UUIDGen 0.001s
1125 + Unique 0.0s
1126 + slowRandom must implement cats.effect.std.SecureRandom 0.0s
1127 + Rxn.fastRandom nextDouble 0.001s
1128 + Rxn.fastRandom betweenDouble 0.005s
1129 + Rxn.fastRandom betweenFloat 0.003s
1130 + Rxn.fastRandom nextLong 0.0s
1131 + Rxn.fastRandom nextLongBounded 0.001s
1132 + Rxn.fastRandom shuffleList/Vector 0.003s
1133 + Rxn.fastRandom nextGaussian 0.001s
1134 + Rxn.fastRandom nextAlphaNumeric 0.002s
1135 + Rxn.fastRandom nextPrintableChar 0.001s
1136 + Rxn.fastRandom nextString 0.001s
1137 + Rxn.slowRandom nextDouble 0.001s
1138 + Rxn.slowRandom betweenDouble 0.003s
1139 + Rxn.slowRandom betweenFloat 0.004s
1140 + Rxn.slowRandom nextLong 0.0s
1141 + Rxn.slowRandom nextLongBounded 0.001s
1142 + Rxn.slowRandom shuffleList/Vector 0.008s
1143 + Rxn.slowRandom nextGaussian 0.003s
1144 + Rxn.slowRandom nextAlphaNumeric 0.005s
1145 + Rxn.slowRandom nextPrintableChar 0.001s
1146 + Rxn.slowRandom nextString 0.001s
1147 + Rxn.deterministicRandom nextDouble 0.001s
1148 + Rxn.deterministicRandom betweenDouble 0.004s
1149 + Rxn.deterministicRandom betweenFloat 0.003s
1150 + Rxn.deterministicRandom nextLong 0.001s
1151 + Rxn.deterministicRandom nextLongBounded 0.001s
1152 + Rxn.deterministicRandom shuffleList/Vector 0.006s
1153 + Rxn.deterministicRandom nextGaussian 0.001s
1154 + Rxn.deterministicRandom nextAlphaNumeric 0.006s
1155 + Rxn.deterministicRandom nextPrintableChar 0.0s
1156 + Rxn.deterministicRandom nextString 0.001s
1157 + MinimalRandom1 nextDouble 0.001s
1158 + MinimalRandom1 betweenDouble 0.004s
1159 + MinimalRandom1 betweenFloat 0.003s
1160 + MinimalRandom1 nextLong 0.001s
1161 + MinimalRandom1 nextLongBounded 0.001s
1162 + MinimalRandom1 shuffleList/Vector 0.004s
1163 + MinimalRandom1 nextGaussian 0.002s
1164 + MinimalRandom1 nextAlphaNumeric 0.004s
1165 + MinimalRandom1 nextPrintableChar 0.001s
1166 + MinimalRandom1 nextString 0.001s
1167 + MinimalRandom2 nextDouble 0.001s
1168 + MinimalRandom2 betweenDouble 0.004s
1169 + MinimalRandom2 betweenFloat 0.003s
1170 + MinimalRandom2 nextLong 0.001s
1171 + MinimalRandom2 nextLongBounded 0.001s
1172 + MinimalRandom2 shuffleList/Vector 0.033s
1173 + MinimalRandom2 nextGaussian 0.004s
1174 + MinimalRandom2 nextAlphaNumeric 0.009s
1175 + MinimalRandom2 nextPrintableChar 0.0s
1176 + MinimalRandom2 nextString 0.001s
1177 + Rxn.deterministicRandom must be deterministic (1) 0.004s
1178 + Rxn.deterministicRandom must be deterministic (2) 0.019s
1179 + Rxn.deterministicRandom must be able to roll back the seed 0.002s
1180 + Rxn.deterministicRandom must generate the same values on JS as on JVM 0.0s
1181 + Rxn.deterministicRandom must be splittable 0.002s
1182 + Rxn.deterministicRandom must generate the same values as MinimalRandom 0.016s
1183Default SecureRandom: NativePRNG (in 150499ns)
1184dev.tauri.choam.internal.random.RandomSpecJvm_Emcas_SyncIO:
1185 + UUIDGen 0.002s
1186 + Unique 0.0s
1187 + slowRandom must implement cats.effect.std.SecureRandom 0.0s
1188 + Rxn.fastRandom nextDouble 0.002s
1189 + Rxn.fastRandom betweenDouble 0.009s
1190 + Rxn.fastRandom betweenFloat 0.005s
1191 + Rxn.fastRandom nextLong 0.0s
1192 + Rxn.fastRandom nextLongBounded 0.0s
1193 + Rxn.fastRandom shuffleList/Vector 0.007s
1194 + Rxn.fastRandom nextGaussian 0.002s
1195 + Rxn.fastRandom nextAlphaNumeric 0.002s
1196 + Rxn.fastRandom nextPrintableChar 0.002s
1197 + Rxn.fastRandom nextString 0.001s
1198 + Rxn.slowRandom nextDouble 0.001s
1199 + Rxn.slowRandom betweenDouble 0.007s
1200 + Rxn.slowRandom betweenFloat 0.006s
1201 + Rxn.slowRandom nextLong 0.002s
1202 + Rxn.slowRandom nextLongBounded 0.002s
1203 + Rxn.slowRandom shuffleList/Vector 0.008s
1204 + Rxn.slowRandom nextGaussian 0.001s
1205 + Rxn.slowRandom nextAlphaNumeric 0.006s
1206 + Rxn.slowRandom nextPrintableChar 0.001s
1207 + Rxn.slowRandom nextString 0.001s
1208 + Rxn.deterministicRandom nextDouble 0.001s
1209 + Rxn.deterministicRandom betweenDouble 0.003s
1210 + Rxn.deterministicRandom betweenFloat 0.003s
1211 + Rxn.deterministicRandom nextLong 0.0s
1212 + Rxn.deterministicRandom nextLongBounded 0.002s
1213 + Rxn.deterministicRandom shuffleList/Vector 0.004s
1214 + Rxn.deterministicRandom nextGaussian 0.002s
1215 + Rxn.deterministicRandom nextAlphaNumeric 0.002s
1216 + Rxn.deterministicRandom nextPrintableChar 0.001s
1217 + Rxn.deterministicRandom nextString 0.0s
1218 + MinimalRandom1 nextDouble 0.001s
1219 + MinimalRandom1 betweenDouble 0.005s
1220 + MinimalRandom1 betweenFloat 0.004s
1221 + MinimalRandom1 nextLong 0.001s
1222 + MinimalRandom1 nextLongBounded 0.001s
1223 + MinimalRandom1 shuffleList/Vector 0.005s
1224 + MinimalRandom1 nextGaussian 0.001s
1225 + MinimalRandom1 nextAlphaNumeric 0.007s
1226 + MinimalRandom1 nextPrintableChar 0.0s
1227 + MinimalRandom1 nextString 0.001s
1228 + MinimalRandom2 nextDouble 0.001s
1229 + MinimalRandom2 betweenDouble 0.003s
1230 + MinimalRandom2 betweenFloat 0.003s
1231 + MinimalRandom2 nextLong 0.0s
1232 + MinimalRandom2 nextLongBounded 0.001s
1233 + MinimalRandom2 shuffleList/Vector 0.005s
1234 + MinimalRandom2 nextGaussian 0.001s
1235 + MinimalRandom2 nextAlphaNumeric 0.004s
1236 + MinimalRandom2 nextPrintableChar 0.001s
1237 + MinimalRandom2 nextString 0.001s
1238 + Rxn.deterministicRandom must be deterministic (1) 0.003s
1239 + Rxn.deterministicRandom must be deterministic (2) 0.011s
1240 + Rxn.deterministicRandom must be able to roll back the seed 0.002s
1241 + Rxn.deterministicRandom must generate the same values on JS as on JVM 0.0s
1242 + Rxn.deterministicRandom must be splittable 0.001s
1243 + Rxn.deterministicRandom must generate the same values as MinimalRandom 0.015s
1244 + Rxn.deterministicRandom should use the same algo as SplittableRandom 0.024s
1245 + SecureRandom (JVM) 0.0s
1246dev.tauri.choam.core.BackoffSpec:
1247 + Backoff.backoffTokens 0.005s
1248 + Backoff.backoffConst 0.001s
1249 + Backoff.sleepConst 0.003s
1250 + Backoff.backoffRandom 0.137s
1251 + Backoff.spin 0.0s
1252 + Backoff2 with defaults 0.001s
1253 + Backoff2 with non-default maxPause 0.002s
1254 + Backoff2 with non-default maxCede 0.002s
1255 + Backoff2 with non-default maxSleep 0.002s
1256 + Backoff2 with non-default everything 0.001s
1257 + Backoff2 illegal args 0.003s
1258 + Backoff2.backoffStr 0.007s
1259 + Backoff2 randomization 0.012s
1260 + Backoff2.log2floor 0.002s
1261dev.tauri.choam.internal.refs.RefArraySpec_Strict:
1262 + array creation 0.008s
1263 + empty array 0.002s
1264 + big array 1.014s
1265 + indexing error 0.004s
1266 + safe indexing 0.003s
1267 + consistentRead 0.001s
1268 + read/write/cas 0.003s
1269 + toString format 0.002s
1270 + equals/toString 0.003s
1271dev.tauri.choam.internal.refs.RefArraySpec_Lazy:
1272 + array creation 0.0s
1273 + empty array 0.002s
1274 + big array 0.221s
1275 + indexing error 0.0s
1276 + safe indexing 0.0s
1277 + consistentRead 0.0s
1278 + read/write/cas 0.0s
1279 + toString format 0.001s
1280 + equals/toString 0.0s
1281dev.tauri.choam.core.AssertSpec:
1282 + _assert should be enabled during tests (for now) 0.001s
12839999999 has no stable identity
1284unsafeDirectRead / unsafeCas doesn't work
1285dev.tauri.choam.core.RxnSpec_ThreadConfinedMcas_IO:
1286 + Check MCAS implementation 0.0s
1287 + Choice should prefer the first option 0.001s
1288 + Choice should use the second option, if the first is not available 0.003s
1289 + Inner choice should be used first 0.0s
1290 + Choice after *> 0.0s
1291 + Multiple writes (also in choice) 0.001s
1292 + Choice should perform the correct post-commit actions 0.0s
1293 + Choice should work if it's after some other operation 0.231s
1294 + Choice should work even if it's computed 0.001s
1295 + Choice should be stack-safe (even when deeply nested) 0.006s
1296 + Choice should be stack-safe (even when deeply nested and doing actual CAS-es) 0.113s
1297 + Choice should correctly backtrack (1) (no jumps) 0.0s
1298 + Choice should correctly backtrack (1) (even with jumps) 0.014s
1299 + Choice should correctly backtrack (2) (no jumps) 0.011s
1300 + Choice should correctly backtrack (2) (even with jumps) 0.125s
1301 + Choice should be associative 0.001s
1302 + Post-commit actions should be executed 0.0s
1303 + Order of post-commit actions 0.0s
1304 + Changes committed must be visible in post-commit actions 0.0s
1305 + Formerly impossible CAS should not cause a runtime error 0.001s
1306 + Integration with IO should work 0.0s
1307 + Ref.consistentRead 0.0s
1308 + Ref.consistentReadMany 0.0s
1309 + Ref.swap 0.0s
1310 + flatMap and *> 0.0s
1311 + flatten 0.001s
1312 + *> and >> 0.0s
1313 + *> receives the correct input 0.0s
1314 + Recursive >> stack safety 0.112s
1315 + <* and *> 0.001s
1316 + flatMap 0.0s
1317 + flatMap chain 0.0s
1318 + tailRecM 0.0s
1319 + as and map 0.001s
1320 + map2 0.0s
1321 + unsafeCas 0.0s
1322 + unsafeCas after read 0.0s
1323 + unsafeCas after write 0.001s
1324 + upd after read 0.0s
1325 + upd after write 0.0s
1326 + attempt 0.0s
1327 + maybe 0.0s
1328 + RxnLocal (simple) 0.001s
1329 + RxnLocal.Array (simple) 0.0s
1330 + RxnLocal (compose with Rxn) 0.0s
1331 + RxnLocal (rollback) 0.0s
1332 + RxnLocal.Array (rollback) 0.0s
1333 + RxnLocal (nested) 0.001s
1334 + Rxn.unsafe.delayContext 0.0s
1335 + Rxn.unsafe.suspendContext 0.0s
1336 + unsafe.ticketRead 0.001s
1337 + unsafe.ticketRead (already in log) 0.0s
1338 + unsafe.tentativeRead 0.0s
1339 + unsafe.tentativeRead (already in log) 0.0s
1340 + unsafe.forceValidate (dummy) 0.001s
1341 + unsafe.unread (empty log) 0.0s
1342 + unsafe.unread (not in log) 0.0s
1343 + unsafe.unread (read-only) 0.0s
1344 + unsafe.unread (read-write => exception) 0.001s
1345 + panic 0.0s
1346 + panic in post-commit actions (1) 0.001s
1347 + panic in post-commit actions (2) 0.0s
1348 + unsafe.delay(throw), i.e., unsafe.panic 0.001s
1349 + Rxn.unsafe.assert 0.0s
1350 + Rxn constants 0.001s
1351 + Autoboxing 0.0s
1352 + Monad instance 0.0s
1353 + Monoid instance 0.0s
1354 + Applicative instance 0.001s
1355 + Align instance 0.0s
1356 + Defer instance 0.0s
1357 + Ref.Make instance 0.0s
1358 + UUIDGen instance 0.001s
1359 + Clock instance 0.0s
1360 + maxRetries 0.223s
1361 + Strategy options 0.002s
1362 + Running with Strategy.spin 0.0s
1363 + Running with Strategy.spin, but with interpretAsync 0.0s
1364 + Running with Strategy.cede 0.0s
1365 + Running with Strategy.cede should be cancellable 0.101s
1366 + Running with Strategy.sleep 0.001s
1367 + Running with Strategy.sleep should be cancellable 0.1s
1368 + Rxn#perform should be repeatable 0.0s
1369 + Executing a Rxn which doesn't change Refs shouldn't change the global version 0.001s
1370 + Exception passthrough (unsafePerform) 0.0s
1371 + Exception passthrough (Reactive) 0.001s
1372dev.tauri.choam.core.StripedRefSpec_DefaultMcas_IO:
1373 + Basics 0.001s
1374dev.tauri.choam.internal.refs.Ref2SpecP1P1:
1375 + toString format 0.0s
1376 + equals/toString 0.0s
1377 + consistentRead 0.0s
1378 + read/write/cas 0.001s
1379dev.tauri.choam.internal.refs.RefArraySpec_LazyArrayOfRefs:
1380 + array creation 0.0s
1381 + empty array 0.0s
1382 + big array 0.015s
1383 + indexing error 0.001s
1384 + safe indexing 0.0s
1385 + consistentRead 0.0s
1386 + read/write/cas 0.0s
1387dev.tauri.choam.stm.TxnSpec_DefaultMcas_ZIO:
1388 + Hello World 0.003s
1389 + Txn#commit should be repeatable 0.001s
1390 + Run with custom RetryStrategy 0.0s
1391 + TRef read twice 0.001s
1392 + Txn#flatten 0.001s
1393 + Txn#map2 0.001s
1394 + Txn#as 0.002s
1395 + Txn#void 0.002s
1396 + Txn#productR/L 0.003s
1397 + Txn#*>/<* 0.004s
1398 + Txn.tailRecM 0.002s
1399 + Txn.defer 0.003s
1400 + Txn.merge 0.825s
1401 + Txn.unsafe.panic 0.006s
1402 + Txn.unique 0.002s
1403 + Txn.newUuid 0.004s
1404 + Txn._true, ._false, and .none 0.001s
1405 + Txn.unsafe.delayContext 0.002s
1406 + Txn.unsafe.suspendContext 0.001s
1407 + TxnLocal (simple) 0.004s
1408 + TxnLocal (compose with Txn) 0.002s
1409 + TxnLocal (rollback) 0.003s
1410 + Monad[Txn[F, *]] instance 0.002s
1411 + Monoid instance 0.0s
1412 + Defer[Txn[F, *]] instance 0.003s
1413 + Unique[Txn] instance 0.001s
1414 + UUIDGen[Txn] instance 0.001s
1415dev.tauri.choam.core.RefSpecJvm_Real_ThreadConfinedMcas_ZIO:
1416 + ifM instead of guard/guardNot 0.004s
1417 + Ref#get 0.001s
1418 + Ref#update et. al. 0.0s
1419 + Ref#update 0.0s
1420 + Ref#update example 0.001s
1421 + Ref#modify et. al. 0.0s
1422 + Ref#flatModify 0.0s
1423 + Ref#getAndSet 0.0s
1424 + Ref#set 0.0s
1425 + RefLike#getAndUpd 0.001s
1426 + RefLike#updAndGet 0.0s
1427 + Ref#asCats 0.0s
1428 + CatsRef[Rxn, A] 0.0s
1429 + Regular Ref shouldn't have .withListeners 0.0s
1430 + version 0.0s
1431 + Ref/TRef creation 0.001s
1432 + Simple CAS should work as expected 0.0s
1433 + Ref hashCode and equals 0.0s
1434 + Ref.swap 0.0s
1435 + MemoryLocation#cast 0.001s
1436 + Ref.apply 0.0s
1437 + Ref.array 0.0s
1438 + Ref.array (big) 0.001s
1439 + Order/Ordering/Hash instances 0.0s
1440Rxn - `t1 + t2`: `t1` transient failure
1441 t1 retrying
1442 t2 succeeding with 2
1443Rxn - `t1 orElse t2`: `t1` transient failure
1444 t1 retrying
1445 t1 succeeding with 1
1446Rxn - `t1 orElse t2`: `t1` permanent failure
1447 t1 retrying
1448 t2 succeeding with 2
1449Rxn - `(t1 + t2) <* t3`: `t1` succeeds, `t3` transient failure
1450 t1 succeeding with 1
1451 t3 retrying
1452 t2 succeeding with 2
1453 t3 succeeding with 3
1454Rxn - `(t1 orElse t2) <* t3`: `t1` succeeds, `t3` transient failure
1455 t1 succeeding with 1
1456 t3 retrying
1457 t1 succeeding with 1
1458 t3 succeeding with 3
1459Rxn - `(t1 orElse t2) + t3`: `t1` transient failure
1460 t1 retrying
1461 t3 succeeding with 3
1462Rxn - `(t1 + t2) orElse (t3 + t4)`
1463 t1 retrying
1464 t2 retrying
1465 t3 retrying
1466 t4 succeeding with 4
1467Rxn - race2
1468 t1 retrying
1469 t2 retrying
1470 t3 succeeding with 3
1471dev.tauri.choam.core.OrElseRetrySpec_DefaultMcas_IO:
1472 + Rxn - `t1 + t2`: `t1` transient failure -> try `t2` 0.002s
1473 + Rxn - `t1 orElse t2`: `t1` transient failure -> retry `t1` 0.0s
1474 + Rxn - `t1 orElse t2`: `t1` permanent failure -> try `t2` 0.004s
1475 + Rxn - `(t1 + t2) <* t3`: `t1` succeeds, `t3` transient failure -> try `t2` 0.002s
1476 + Rxn - `(t1 orElse t2) <* t3`: `t1` succeeds, `t3` transient failure -> retry `t1` 0.0s
1477==> s dev.tauri.choam.core.OrElseRetrySpec_DefaultMcas_IO.Rxn - `(t1 orElse t2) <* t3`: `t1` succeeds, `t3` permanent failure -> can't work skipped 0.001s
1478 + Rxn - `(t1 orElse t2) + t3`: `t1` transient failure -> try `t3` (NOT `t2`) 0.0s
1479 + Rxn - `(t1 + t2) orElse (t3 + t4)` 0.003s
1480 + Rxn - consistency of 2 sides of `orElse` 0.019s
1481dev.tauri.choam.stm.TxnSpec_DefaultMcas_IO:
1482 + Hello World 0.002s
1483 + Txn#commit should be repeatable 0.0s
1484 + Run with custom RetryStrategy 0.0s
1485 + TRef read twice 0.0s
1486 + Txn#flatten 0.0s
1487 + Txn#map2 0.0s
1488 + Txn#as 0.001s
1489 + Txn#void 0.0s
1490 + Txn#productR/L 0.0s
1491 + Txn#*>/<* 0.0s
1492 + Txn.tailRecM 0.0s
1493 + Txn.defer 0.001s
1494 + Txn.merge 1.206s
1495 + Txn.unsafe.panic 0.001s
1496 + Txn.unique 0.0s
1497 + Txn.newUuid 0.0s
1498 + Txn._true, ._false, and .none 0.0s
1499 + Txn.unsafe.delayContext 0.0s
1500 + Txn.unsafe.suspendContext 0.0s
1501 + TxnLocal (simple) 0.001s
1502 + TxnLocal (compose with Txn) 0.0s
1503 + TxnLocal (rollback) 0.0s
1504 + Monad[Txn[F, *]] instance 0.0s
1505 + Monoid instance 0.0s
1506 + Defer[Txn[F, *]] instance 0.001s
1507 + Unique[Txn] instance 0.0s
1508 + UUIDGen[Txn] instance 0.0s
1509dev.tauri.choam.core.AsyncRxnSpec_ThreadConfinedMcas_IO:
1510 + applyAsync 0.001s
1511 + Exception passthrough (AsyncReactive) 0.002s
1512dev.tauri.choam.unsafe.EmbedUnsafeSpec_DefaultMcas_ZIO:
1513 + Retries 0.003s
1514 + Ticket#validate 0.001s
1515 + Hello, World! 0.0s
1516 + updateRef 0.0s
1517 + getAndSetRef 0.0s
1518 + tentativeRead 0.0s
1519 + ticketRead 0.001s
1520 + RefSyntax 0.0s
1521 + Ref.Array 0.0s
1522 + Exception passthrough 0.0s
1523 + panic 0.001s
1524 + Forced retries (1) 0.0s
1525 + Forced retries (2) 0.0s
1526 + null result 0.0s
1527 + Create with Rxn, use imperatively 0.0s
1528 + Create imperatively, use with Rxn 0.001s
1529 + embedUnsafe with concurrent modification 0.007s
1530 + embedUnsafe race 0.078s
1531 + embedUnsafe basics 0.003s
1532 + retryNow in embedUsafe 0.004s
1533 + Post-commit actions in embedUnsafe 0.005s
1534dev.tauri.choam.unsafe.EmbedUnsafeSpec_DefaultMcas_IO:
1535 + Retries 0.003s
1536 + Ticket#validate 0.001s
1537 + Hello, World! 0.0s
1538 + updateRef 0.0s
1539 + getAndSetRef 0.0s
1540 + tentativeRead 0.0s
1541 + ticketRead 0.0s
1542 + RefSyntax 0.0s
1543 + Ref.Array 0.001s
1544 + Exception passthrough 0.0s
1545 + panic 0.0s
1546 + Forced retries (1) 0.0s
1547 + Forced retries (2) 0.001s
1548 + null result 0.0s
1549 + Create with Rxn, use imperatively 0.0s
1550 + Create imperatively, use with Rxn 0.0s
1551 + embedUnsafe with concurrent modification 0.001s
1552 + embedUnsafe race 0.092s
1553 + embedUnsafe basics 0.001s
1554 + retryNow in embedUsafe 0.0s
1555 + Post-commit actions in embedUnsafe 0.0s
1556dev.tauri.choam.core.MemoSpec_DefaultMcas_IO:
1557 + Rxn.memoize simple 0.006s
1558 + Rxn.memoize concurrent access 0.369s
15599999999 has no stable identity
1560unsafeDirectRead / unsafeCas doesn't work
1561dev.tauri.choam.core.RxnSpecJvm_SpinLockMcas_IO:
1562 + Check MCAS implementation 0.0s
1563 + Choice should prefer the first option 0.001s
1564 + Choice should use the second option, if the first is not available 0.0s
1565 + Inner choice should be used first 0.0s
1566 + Choice after *> 0.0s
1567 + Multiple writes (also in choice) 0.001s
1568 + Choice should perform the correct post-commit actions 0.0s
1569 + Choice should work if it's after some other operation 0.0s
1570 + Choice should work even if it's computed 0.001s
1571 + Choice should be stack-safe (even when deeply nested) 0.004s
1572 + Choice should be stack-safe (even when deeply nested and doing actual CAS-es) 0.041s
1573 + Choice should correctly backtrack (1) (no jumps) 0.001s
1574 + Choice should correctly backtrack (1) (even with jumps) 0.003s
1575 + Choice should correctly backtrack (2) (no jumps) 0.002s
1576 + Choice should correctly backtrack (2) (even with jumps) 0.063s
1577 + Choice should be associative 0.0s
1578 + Post-commit actions should be executed 0.001s
1579 + Order of post-commit actions 0.0s
1580 + Changes committed must be visible in post-commit actions 0.0s
1581 + Formerly impossible CAS should not cause a runtime error 0.0s
1582 + Integration with IO should work 0.0s
1583 + Ref.consistentRead 0.0s
1584 + Ref.consistentReadMany 0.0s
1585 + Ref.swap 0.001s
1586 + flatMap and *> 0.0s
1587 + flatten 0.0s
1588 + *> and >> 0.0s
1589 + *> receives the correct input 0.0s
1590 + Recursive >> stack safety 0.076s
1591 + <* and *> 0.0s
1592 + flatMap 0.0s
1593 + flatMap chain 0.0s
1594 + tailRecM 0.0s
1595 + as and map 0.001s
1596 + map2 0.0s
1597 + unsafeCas 0.0s
1598 + unsafeCas after read 0.0s
1599 + unsafeCas after write 0.0s
1600 + upd after read 0.0s
1601 + upd after write 0.001s
1602 + attempt 0.0s
1603 + maybe 0.0s
1604 + RxnLocal (simple) 0.0s
1605 + RxnLocal.Array (simple) 0.0s
1606 + RxnLocal (compose with Rxn) 0.0s
1607 + RxnLocal (rollback) 0.001s
1608 + RxnLocal.Array (rollback) 0.0s
1609 + RxnLocal (nested) 0.0s
1610 + Rxn.unsafe.delayContext 0.0s
1611 + Rxn.unsafe.suspendContext 0.0s
1612 + unsafe.ticketRead 0.001s
1613 + unsafe.ticketRead (already in log) 0.0s
1614 + unsafe.tentativeRead 0.0s
1615 + unsafe.tentativeRead (already in log) 0.0s
1616 + unsafe.forceValidate (dummy) 0.001s
1617 + unsafe.unread (empty log) 0.0s
1618 + unsafe.unread (not in log) 0.0s
1619 + unsafe.unread (read-only) 0.0s
1620 + unsafe.unread (read-write => exception) 0.0s
1621 + panic 0.001s
1622 + panic in post-commit actions (1) 0.0s
1623 + panic in post-commit actions (2) 0.001s
1624 + unsafe.delay(throw), i.e., unsafe.panic 0.0s
1625 + Rxn.unsafe.assert 0.0s
1626 + Rxn constants 0.001s
1627 + Autoboxing 0.0s
1628 + Monad instance 0.0s
1629 + Monoid instance 0.0s
1630 + Applicative instance 0.0s
1631 + Align instance 0.001s
1632 + Defer instance 0.0s
1633 + Ref.Make instance 0.0s
1634 + UUIDGen instance 0.0s
1635 + Clock instance 0.0s
1636 + maxRetries 0.206s
1637 + Strategy options 0.001s
1638 + Running with Strategy.spin 0.0s
1639 + Running with Strategy.spin, but with interpretAsync 0.001s
1640 + Running with Strategy.cede 0.0s
1641 + Running with Strategy.cede should be cancellable 0.1s
1642 + Running with Strategy.sleep 0.0s
1643 + Running with Strategy.sleep should be cancellable 0.101s
1644 + Rxn#perform should be repeatable 0.0s
1645 + Executing a Rxn which doesn't change Refs shouldn't change the global version 0.0s
1646 + Exception passthrough (unsafePerform) 0.0s
1647 + Exception passthrough (Reactive) 0.001s
1648 + Thread interruption in infinite retry 1.626s
1649 + Autoboxing (JVM) 0.821s
1650 + Zombie 0.003s
1651 + Zombie side effect 0.167s
1652 + Read-write-read-write 0.0s
1653==> s dev.tauri.choam.core.RxnSpecJvm_SpinLockMcas_IO.unsafe.unread should make a conflict disappear skipped 0.001s
1654 + read, then unsafe.unread, then 2 reads (only last 2 must be consistent) 0.139s
1655 + unsafe.forceValidate (concurrent unrelated change) 0.0s
1656 + unsafe.forceValidate (concurrent conflicting change) 0.0s
1657 + unsafe.tentativeRead opacity (1) 0.001s
1658 + unsafe.tentativeRead opacity (2) 0.0s
1659==> s dev.tauri.choam.core.RxnSpecJvm_SpinLockMcas_IO.unsafe.tentativeRead can commit while depending on inconsistent state (that's why it's unsafe) skipped 0.001s
1660 + unsafe.tentativeRead (can commit while depending on inconsistent state, but) still detects inconsistent WRITES 0.0s
1661 + unsafe.tentativeRead + Exchanger 0.022s
1662 + unsafe.tentativeRead, then update (must see the same value) 0.138s
1663 + Opacity with simple .get instead of unsafe.tentativeRead 0.001s
1664 + read-write conflict cycle 0.058s
1665 + indirect cycle 0.147s
1666 + read-mostly `Rxn`s with cycle 1.822s
1667 + read-only `Rxn`s 0.107s
1668 + read-only/read-write `Rxn`s 0.112s
1669 + read-only/write-only `Rxn`s 0.126s
1670 + panic + exchanger 0.004s
1671 + panic + exchanger + panic in post-commit action 0.006s
1672dev.tauri.choam.core.RxnImplSpec_FlakyEMCAS_ZIO:
1673 + Creating and running deeply nested Rxn's should both be stack-safe 0.609s
1674 + postCommit 0.005s
1675dev.tauri.choam.core.AxnSpecJvm_Emcas_IO:
1676 + Rxn.unsafe.delay/suspend 0.001s
1677 + Rxn.unsafe.delayContext/suspendContext 0.0s
1678dev.tauri.choam.core.AsyncRxnSpec_Emcas_IO:
1679 + applyAsync 0.001s
1680 + Exception passthrough (AsyncReactive) 0.002s
1681dev.tauri.choam.stm.TRefSpec_DefaultMcas_IO:
1682 + TRef#set 0.0s
1683 + TRef#update 0.0s
1684 + TRef#modify 0.001s
1685 + TRef#getAndSet 0.0s
1686 + TRef#updateAndGet 0.0s
1687 + TRef#flatModify 0.0s
1688 + Internal: TRef should be a Ref 0.0s
1689 + Internal: TRef.unsafeRefWithId 0.001s
1690 + Internal: TRef should have .withListeners 0.0s
1691dev.tauri.choam.core.RxnImplSpec_SpinLockMcas_ZIO:
1692 + Creating and running deeply nested Rxn's should both be stack-safe 0.876s
1693 + postCommit 0.001s
1694dev.tauri.choam.stm.TxnSpecTicked_DefaultMcas_IO:
1695 + Txn.retry 0.019s
1696 + Txn.retry with no refs read 0.011s
1697 + Txn.check 0.016s
1698 + Txn.retry should be cancellable 0.01s
1699 + Txn.retry should retry if a TRef read in any alt changes 0.027s
1700 + Txn.retry should unsubscribe from TRefs when cancelled 0.017s
1701 + Txn.retry should unsubscribe from TRefs when completed 0.015s
1702 + Txn.retry should unsubscribe from TRefs when it doesn't suspend (due to concurrent change) 0.027s
1703 + Txn.retry should unsubscribe from TRefs when it's cancelled when it doesn't suspend (due to concurrent change) 0.033s
1704 + TMVar 0.032s
1705 + TMChan 0.03s
1706 + TMVar + TMChan 0.011s
1707 + Run with Stepper 0.016s
1708dev.tauri.choam.core.RefSpecJvm_Real_SpinLockMcas_IO:
1709 + ifM instead of guard/guardNot 0.0s
1710 + Ref#get 0.001s
1711 + Ref#update et. al. 0.0s
1712 + Ref#update 0.0s
1713 + Ref#update example 0.0s
1714 + Ref#modify et. al. 0.001s
1715 + Ref#flatModify 0.0s
1716 + Ref#getAndSet 0.0s
1717 + Ref#set 0.0s
1718 + RefLike#getAndUpd 0.001s
1719 + RefLike#updAndGet 0.0s
1720 + Ref#asCats 0.0s
1721 + CatsRef[Rxn, A] 0.0s
1722 + Regular Ref shouldn't have .withListeners 0.0s
1723 + version 0.0s
1724 + Ref/TRef creation 0.0s
1725 + Simple CAS should work as expected 0.0s
1726 + Ref hashCode and equals 0.001s
1727 + Ref.swap 0.0s
1728 + MemoryLocation#cast 0.0s
1729 + Ref.apply 0.0s
1730 + Ref.array 0.001s
1731 + Ref.array (big) 0.0s
1732 + Order/Ordering/Hash instances 0.0s
1733dev.tauri.choam.internal.refs.RefArraySpec_StrictArrayOfRefs:
1734 + array creation 0.0s
1735 + empty array 0.0s
1736 + big array 2.054s
1737 + indexing error 0.0s
1738 + safe indexing 0.0s
1739 + consistentRead 0.0s
1740 + read/write/cas 0.0s
1741dev.tauri.choam.core.AsyncRxnSpec_SpinLockMcas_ZIO:
1742 + applyAsync 0.004s
1743 + Exception passthrough (AsyncReactive) 0.002s
1744dev.tauri.choam.core.AxnSpec_ThreadConfinedMcas_IO:
1745 + Rxn.unsafe.delay/suspend 0.0s
1746 + Rxn.unsafe.delayContext/suspendContext 0.0s
1747dev.tauri.choam.core.AsyncRxnSpec_Emcas_ZIO:
1748 + applyAsync 0.002s
1749 + Exception passthrough (AsyncReactive) 0.0s
1750dev.tauri.choam.core.RxnImplSpec_Emcas_ZIO:
1751 + Creating and running deeply nested Rxn's should both be stack-safe 0.766s
1752 + postCommit 0.001s
1753dev.tauri.choam.core.RefSpecJvm_Real_SpinLockMcas_ZIO:
1754 + ifM instead of guard/guardNot 0.001s
1755 + Ref#get 0.0s
1756 + Ref#update et. al. 0.0s
1757 + Ref#update 0.0s
1758 + Ref#update example 0.0s
1759 + Ref#modify et. al. 0.001s
1760 + Ref#flatModify 0.0s
1761 + Ref#getAndSet 0.0s
1762 + Ref#set 0.0s
1763 + RefLike#getAndUpd 0.0s
1764 + RefLike#updAndGet 0.001s
1765 + Ref#asCats 0.0s
1766 + CatsRef[Rxn, A] 0.0s
1767 + Regular Ref shouldn't have .withListeners 0.0s
1768 + version 0.001s
1769 + Ref/TRef creation 0.0s
1770 + Simple CAS should work as expected 0.0s
1771 + Ref hashCode and equals 0.001s
1772 + Ref.swap 0.0s
1773 + MemoryLocation#cast 0.0s
1774 + Ref.apply 0.001s
1775 + Ref.array 0.0s
1776 + Ref.array (big) 0.001s
1777 + Order/Ordering/Hash instances 0.0s
1778dev.tauri.choam.core.RefSpecJvm_Ref2_EMCAS_IO:
1779 + ifM instead of guard/guardNot 0.001s
1780 + Ref#get 0.001s
1781 + Ref#update et. al. 0.0s
1782 + Ref#update 0.0s
1783 + Ref#update example 0.0s
1784 + Ref#modify et. al. 0.0s
1785 + Ref#flatModify 0.001s
1786 + Ref#getAndSet 0.0s
1787 + Ref#set 0.0s
1788 + RefLike#getAndUpd 0.0s
1789 + RefLike#updAndGet 0.0s
1790 + Ref#asCats 0.001s
1791 + CatsRef[Rxn, A] 0.0s
1792 + Regular Ref shouldn't have .withListeners 0.0s
1793 + version 0.0s
1794 + Ref/TRef creation 0.0s
1795 + Simple CAS should work as expected 0.001s
1796 + Ref hashCode and equals 0.0s
1797 + Ref.swap 0.001s
1798 + MemoryLocation#cast 0.0s
1799 + Ref.apply 0.0s
1800 + Ref.array 0.0s
1801 + Ref.array (big) 0.001s
1802 + Order/Ordering/Hash instances 0.0s
18039999999 has no stable identity
1804unsafeDirectRead / unsafeCas doesn't work
1805dev.tauri.choam.core.RxnSpecJvm_Emcas_IO:
1806 + Check MCAS implementation 0.0s
1807 + Choice should prefer the first option 0.0s
1808 + Choice should use the second option, if the first is not available 0.001s
1809 + Inner choice should be used first 0.0s
1810 + Choice after *> 0.0s
1811 + Multiple writes (also in choice) 0.0s
1812 + Choice should perform the correct post-commit actions 0.0s
1813 + Choice should work if it's after some other operation 0.001s
1814 + Choice should work even if it's computed 0.0s
1815 + Choice should be stack-safe (even when deeply nested) 0.005s
1816 + Choice should be stack-safe (even when deeply nested and doing actual CAS-es) 0.051s
1817 + Choice should correctly backtrack (1) (no jumps) 0.001s
1818 + Choice should correctly backtrack (1) (even with jumps) 0.003s
1819 + Choice should correctly backtrack (2) (no jumps) 0.001s
1820 + Choice should correctly backtrack (2) (even with jumps) 0.073s
1821 + Choice should be associative 0.0s
1822 + Post-commit actions should be executed 0.001s
1823 + Order of post-commit actions 0.0s
1824 + Changes committed must be visible in post-commit actions 0.0s
1825 + Formerly impossible CAS should not cause a runtime error 0.0s
1826 + Integration with IO should work 0.0s
1827 + Ref.consistentRead 0.001s
1828 + Ref.consistentReadMany 0.0s
1829 + Ref.swap 0.0s
1830 + flatMap and *> 0.0s
1831 + flatten 0.0s
1832 + *> and >> 0.0s
1833 + *> receives the correct input 0.0s
1834 + Recursive >> stack safety 0.081s
1835 + <* and *> 0.001s
1836 + flatMap 0.0s
1837 + flatMap chain 0.0s
1838 + tailRecM 0.0s
1839 + as and map 0.001s
1840 + map2 0.0s
1841 + unsafeCas 0.0s
1842 + unsafeCas after read 0.0s
1843 + unsafeCas after write 0.0s
1844 + upd after read 0.001s
1845 + upd after write 0.0s
1846 + attempt 0.0s
1847 + maybe 0.0s
1848 + RxnLocal (simple) 0.0s
1849 + RxnLocal.Array (simple) 0.0s
1850 + RxnLocal (compose with Rxn) 0.0s
1851 + RxnLocal (rollback) 0.001s
1852 + RxnLocal.Array (rollback) 0.0s
1853 + RxnLocal (nested) 0.0s
1854 + Rxn.unsafe.delayContext 0.0s
1855 + Rxn.unsafe.suspendContext 0.0s
1856 + unsafe.ticketRead 0.0s
1857 + unsafe.ticketRead (already in log) 0.001s
1858 + unsafe.tentativeRead 0.0s
1859 + unsafe.tentativeRead (already in log) 0.0s
1860 + unsafe.forceValidate (dummy) 0.0s
1861 + unsafe.unread (empty log) 0.0s
1862 + unsafe.unread (not in log) 0.0s
1863 + unsafe.unread (read-only) 0.0s
1864 + unsafe.unread (read-write => exception) 0.0s
1865 + panic 0.001s
1866 + panic in post-commit actions (1) 0.0s
1867 + panic in post-commit actions (2) 0.0s
1868 + unsafe.delay(throw), i.e., unsafe.panic 0.001s
1869 + Rxn.unsafe.assert 0.0s
1870 + Rxn constants 0.0s
1871 + Autoboxing 0.0s
1872 + Monad instance 0.0s
1873 + Monoid instance 0.0s
1874 + Applicative instance 0.0s
1875 + Align instance 0.0s
1876 + Defer instance 0.0s
1877 + Ref.Make instance 0.0s
1878 + UUIDGen instance 0.0s
1879 + Clock instance 0.001s
1880 + maxRetries 0.209s
1881 + Strategy options 0.002s
1882 + Running with Strategy.spin 0.0s
1883 + Running with Strategy.spin, but with interpretAsync 0.0s
1884 + Running with Strategy.cede 0.0s
1885 + Running with Strategy.cede should be cancellable 0.1s
1886 + Running with Strategy.sleep 0.001s
1887 + Running with Strategy.sleep should be cancellable 0.1s
1888 + Rxn#perform should be repeatable 0.0s
1889 + Executing a Rxn which doesn't change Refs shouldn't change the global version 0.0s
1890 + Exception passthrough (unsafePerform) 0.001s
1891 + Exception passthrough (Reactive) 0.0s
1892 + Thread interruption in infinite retry 1.629s
1893 + Autoboxing (JVM) 0.82s
1894 + Zombie 0.001s
1895 + Zombie side effect 0.121s
1896 + Read-write-read-write 0.0s
1897 + unsafe.unread should make a conflict disappear 0.726s
1898 + read, then unsafe.unread, then 2 reads (only last 2 must be consistent) 0.143s
1899 + unsafe.forceValidate (concurrent unrelated change) 0.0s
1900 + unsafe.forceValidate (concurrent conflicting change) 0.0s
1901 + unsafe.tentativeRead opacity (1) 0.001s
1902 + unsafe.tentativeRead opacity (2) 0.0s
1903 + unsafe.tentativeRead can commit while depending on inconsistent state (that's why it's unsafe) 0.0s
1904 + unsafe.tentativeRead (can commit while depending on inconsistent state, but) still detects inconsistent WRITES 0.001s
1905 + unsafe.tentativeRead + Exchanger 0.146s
1906 + unsafe.tentativeRead, then update (must see the same value) 0.044s
1907 + Opacity with simple .get instead of unsafe.tentativeRead 0.0s
1908 + read-write conflict cycle 0.077s
1909 + indirect cycle 0.178s
1910 + read-mostly `Rxn`s with cycle 2.25s
1911 + read-only `Rxn`s 0.103s
1912 + read-only/read-write `Rxn`s 0.113s
1913 + read-only/write-only `Rxn`s 0.098s
1914 + panic + exchanger 0.013s
1915 + panic + exchanger + panic in post-commit action 0.031s
1916 + Commit retry due to version 0.0s
1917Txn - `t1 orElse t2`: `t1` transient failure
1918 t1 retrying
1919 t1 succeeding with 1
1920Txn - `t1 orElse t2`: `t1` permanent failure
1921 t1 retrying
1922 t2 succeeding with 2
1923Txn - `(t1 orElse t2) <* t3`: `t1` succeeds, `t3` transient failure
1924 t1 succeeding with 1
1925 t3 retrying
1926 t1 succeeding with 1
1927 t3 succeeding with 3
1928Txn - `(t1 orElse t2) <* t3`: `t1` succeeds, `t3` permanent failure
1929 t1 succeeding with 1
1930 t3 retrying
1931 setting ref
1932 t1 succeeding with 1
1933 t3 succeeding with 3
1934Txn - `(t1 orElse t2) + t3`: `t1` transient failure
1935 t1 retrying
1936 t3 succeeding with 3
1937Txn - `(t1 + t2) orElse (t3 + t4)`
1938 t1 retrying
1939 t2 retrying
1940 t3 retrying
1941 t4 succeeding with 4
1942Txn - race1
1943 t1 retrying
1944 t2 retrying
1945 t1 succeeding with 1
1946Txn - race2
1947 t1 retrying
1948 t2 retrying
1949 t1 succeeding with 1
1950dev.tauri.choam.stm.OrElseRetrySpec_DefaultMcas_IO:
1951 + Txn - `t1 orElse t2`: `t1` transient failure -> retry `t1` 0.002s
1952 + Txn - `t1 orElse t2`: `t1` permanent failure -> try `t2` 0.002s
1953 + Txn - `(t1 orElse t2) <* t3`: `t1` succeeds, `t3` transient failure -> retry `t1` 0.0s
1954 + Txn - `(t1 orElse t2) <* t3`: `t1` succeeds, `t3` permanent failure -> retry `t1` 0.003s
1955 + Txn - `(t1 orElse t2) + t3`: `t1` transient failure -> try `t3` (NOT `t2`) 0.002s
1956 + Txn - `(t1 + t2) orElse (t3 + t4)` 0.002s
1957 + Txn - `t1 orElse t2`: `t1` permanent failure; `t2` reads the same ref, but it changed since 0.005s
1958 + Txn - consistency of 2 sides of `orElse` 0.004s
1959Starting build for ProjectRef(file:/build/repo/,unidocs) (choam-docs)... [1/10]
1960Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -Xkind-projector, --java-output-version:17, 11, -language:higherKinds, -no-indent, -Xverify-signatures, -Wconf:any:v,cat=deprecation:s,id=E147:s,id=E175:s, -Wunused:all, -Ycheck-all-patmat, -Xcheck-macros, -Xsemanticdb, -semanticdb-target, /build/repo/unidocs/target/scala-3.8.0-RC3/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1961Starting build for ProjectRef(file:/build/repo/,mcas) (choam-mcas)... [2/10]
1962Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -Xkind-projector, --java-output-version:17, 11, -language:higherKinds, -no-indent, -Xverify-signatures, -Wconf:any:v,cat=deprecation:s,id=E147:s,id=E175:s, -Wunused:all, -Ycheck-all-patmat, -Xcheck-macros, -Xsemanticdb, -semanticdb-target, /build/repo/mcas/jvm/target/scala-3.8.0-RC3/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1963WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
1964WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_3/3.8.0-RC3/scala3-library_3-3.8.0-RC3.jar)
1965WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
1966WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
1967dev.tauri.choam.internal.mcas.RefIdGenSpec:
1968 + Stepping 0.026s
1969 + Stepping with arrays 0.005s
1970 + Really big array 0.001s
1971 + Racing 2.052s
1972 + Lots of IDs from one thread 4.548s
1973 + One ID from lots of threads each 8.043s
1974 + nextPowerOf2 underflow 0.005s
1975dev.tauri.choam.internal.mcas.MemoryLocationSpec:
1976 + MemoryLocation#unsafeCmpxchgVersionV 0.007s
1977 + MemoryLocation hashCode and equals 0.001s
1978dev.tauri.choam.internal.mcas.HamtSpec:
1979 + Val/SpecVal 0.005s
1980 + HAMT logicalIdx 0.095s
1981 + HAMT examples 0.027s
1982 + HAMT lookup/upsert/toArray/remove (default generator) 10.309s
1983 + HAMT lookup/upsert/toArray/remove (RIG generator) 6.768s
1984 + HAMT removedIfBlue (default generator) 0.06s
1985 + HAMT removedIfBlue (RIG generator) 0.034s
1986 + HAMT computeIfAbsent (default generator) 0.326s
1987 + HAMT computeIfAbsent (RIG generator) 0.255s
1988 + HAMT computeOrModify (default generator) 0.205s
1989 + HAMT computeOrModify (RIG generator) 0.068s
1990 + Iteration order should be independent of insertion order (default generator) 0.063s
1991 + Iteration order should be independent of insertion order (RIG generator) 0.047s
1992 + Ordering should be independent of elements 0.275s
1993 + Lots of elements 0.776s
1994 + Merging HAMTs 0.085s
1995 + Merging HAMTs after removal (example) 0.001s
1996 + Merging HAMTs after removal 0.185s
1997 + HAMT equals/hashCode 0.134s
1998 + HAMT toString 0.002s
1999 + forAll 0.04s
2000 + isBlue (default generator) 0.148s
2001 + isBlue (RIG generator) 0.086s
2002 + valuesIterator examples 0.012s
2003 + valuesIterator (default generator) 0.036s
2004 + valuesIterator (RIG generator) 0.032s
2005 + packSizeAndBlue 0.007s
2006dev.tauri.choam.internal.skiplist.SkipListParallelSpec:
2007 + get race 0.379s
2008 + put race 0.181s
2009 + del / foreach race 0.071s
2010dev.tauri.choam.internal.mcas.LogMap2Spec:
2011 + insert 0.061s
2012 + overwrite 0.097s
2013 + LogMap2#size 0.002s
2014 + LogMap2#revalidate 0.002s
2015dev.tauri.choam.internal.mcas.McasSpecThreadConfinedMcas:
2016 + k-CAS should succeed if old values match, and there is no contention 0.003s
2017 + k-CAS should fail if any of the old values doesn't match 0.005s
2018 + k-CAS should be able to succeed after one successful operation 0.002s
2019 + Snapshotting should work 0.001s
2020 + Snapshotting should work when cancelling 0.001s
2021 + read should be able to read from a fresh ref 0.0s
2022 + Platform default must be thread-safe 0.0s
2023 + A successful k-CAS should increase the version of the refs 0.002s
2024 + A failed k-CAS should not increase the version of the refs 0.001s
2025 + Version.None must not be stored 0.001s
2026 + readIntoLog should work (no conflict) 0.006s
2027 + tryPerform2 should work (read-only) 0.002s
2028 + tryPerform2 should work (read-write) 0.002s
2029 + tryPerform2 should work (FailedVal) 0.003s
2030 + empty descriptor 0.001s
2031 + singleCasDirect also changes the global commitTs 0.002s
2032 + Merging disjoint descriptors should work 0.003s
2033 + Merging overlapping descriptors does not work 0.001s
2034 + mcas.Descriptor iterator 0.001s
2035 + equals/hashCode/toString for descriptors 0.007s
2036 + readOnly for descriptors 0.002s
2037 + Version numbers must be unique 0.004s
2038 + Expected version must also be checked 0.001s
2039 + subscriber notification should be called on success 0.002s
2040 + subscriber notification should NOT be called on failure 0.001s
2041 + Mcas#isCurrentContext 0.001s
2042 + Stripes 0.001s
2043 + Temporary buffer 0.0s
2044 + makeCopy 0.004s
2045Starting 'EMCAS should allow null as ov or nv'
2046Finished 'EMCAS should allow null as ov or nv'
2047Starting 'EMCAS should clean up finalized descriptors'
2048Finished 'EMCAS should clean up finalized descriptors'
2049Starting 'EMCAS should handle versions correctly on cleanup (after success)'
2050Finished 'EMCAS should handle versions correctly on cleanup (after success)'
2051Starting 'EMCAS should handle versions correctly on cleanup (after failure)'
2052Finished 'EMCAS should handle versions correctly on cleanup (after failure)'
2053Starting 'EMCAS should not clean up an object referenced from another thread'
2054Finished 'EMCAS should not clean up an object referenced from another thread'
2055Starting 'EMCAS should clean up finalized descriptors if the original thread releases them'
2056Finished 'EMCAS should clean up finalized descriptors if the original thread releases them'
2057Starting 'EMCAS op should be finalizable even if a thread dies mid-op'
2058Finished 'EMCAS op should be finalizable even if a thread dies mid-op'
2059Starting 'ThreadContext should be collected by the JVM GC if a thread terminates'
2060Finished 'ThreadContext should be collected by the JVM GC if a thread terminates'
2061Starting 'Emcas.isCurrentContext'
2062Finished 'Emcas.isCurrentContext'
2063Starting 'Emcas.isCurrentContext should not call currentContext'
2064Finished 'Emcas.isCurrentContext should not call currentContext'
2065Starting 'EMCAS should not simply replace active descriptors (mark should be handled)'
2066Finished 'EMCAS should not simply replace active descriptors (mark should be handled)'
2067Starting 'EMCAS read should help the other operation'
2068Finished 'EMCAS read should help the other operation'
2069Starting 'EMCAS read should roll back the other op if necessary'
2070Finished 'EMCAS read should roll back the other op if necessary'
2071Starting 'ThreadContexts should be thread-local'
2072Finished 'ThreadContexts should be thread-local'
2073Starting 'ThreadContexts should work even if thread IDs are reused'
2074Finished 'ThreadContexts should work even if thread IDs are reused'
2075Starting 'ThreadContext cleanup'
2076Finished 'ThreadContext cleanup'
2077Starting 'Descriptors should be sorted'
2078Finished 'Descriptors should be sorted'
2079Starting 'Descriptor toString'
2080Finished 'Descriptor toString'
2081Starting 'Version mismatch, but expected value is the same'
2082Finished 'Version mismatch, but expected value is the same'
2083Starting 'There should be no global version-CAS'
2084Finished 'There should be no global version-CAS'
2085Starting 'Version.Incr should be 1'
2086Finished 'Version.Incr should be 1'
2087Starting 'Threads should have different `ThreadLocalRefIdGen`s'
2088Finished 'Threads should have different `ThreadLocalRefIdGen`s'
2089Starting 'EmcasDescriptor#instRo'
2090Finished 'EmcasDescriptor#instRo'
2091Starting 'EmcasDescriptor#fallback'
2092Finished 'EmcasDescriptor#fallback'
2093Starting 'EmcasDescriptor#fallback call before wasFinalized call'
2094Finished 'EmcasDescriptor#fallback call before wasFinalized call'
2095Starting 'There should be no EmcasWordDesc created for RO HWDs (the first time; in optimistic mode)'
2096Finished 'There should be no EmcasWordDesc created for RO HWDs (the first time; in optimistic mode)'
2097Starting 'In pessimistic mode, even RO HWDs must have WDs created'
2098Finished 'In pessimistic mode, even RO HWDs must have WDs created'
2099Starting 'AbstractDescriptor#readOnly is false, but in fact it is read-only'
2100Finished 'AbstractDescriptor#readOnly is false, but in fact it is read-only'
2101dev.tauri.choam.internal.mcas.emcas.EmcasSpec:
2102 + EMCAS should allow null as ov or nv 0.013s
2103 + EMCAS should clean up finalized descriptors 0.5s
2104 + EMCAS should handle versions correctly on cleanup (after success) 0.241s
2105 + EMCAS should handle versions correctly on cleanup (after failure) 0.244s
2106 + EMCAS should not clean up an object referenced from another thread 0.028s
2107 + EMCAS should clean up finalized descriptors if the original thread releases them 0.241s
2108 + EMCAS op should be finalizable even if a thread dies mid-op 0.975s
2109 + ThreadContext should be collected by the JVM GC if a thread terminates 0.014s
2110 + Emcas.isCurrentContext 0.003s
2111 + Emcas.isCurrentContext should not call currentContext 0.001s
2112 + EMCAS should not simply replace active descriptors (mark should be handled) 2.368s
2113 + EMCAS read should help the other operation 0.002s
2114 + EMCAS read should roll back the other op if necessary 0.002s
2115 + ThreadContexts should be thread-local 0.04s
2116 + ThreadContexts should work even if thread IDs are reused 0.002s
2117 + ThreadContext cleanup 0.648s
2118 + Descriptors should be sorted 0.001s
2119 + Descriptor toString 0.003s
2120 + Version mismatch, but expected value is the same 0.244s
2121 + There should be no global version-CAS 0.002s
2122 + Version.Incr should be 1 0.0s
2123 + Threads should have different `ThreadLocalRefIdGen`s 0.006s
2124 + EmcasDescriptor#instRo 0.002s
2125 + EmcasDescriptor#fallback 0.002s
2126 + EmcasDescriptor#fallback call before wasFinalized call 0.002s
2127 + There should be no EmcasWordDesc created for RO HWDs (the first time; in optimistic mode) 0.003s
2128 + In pessimistic mode, even RO HWDs must have WDs created 0.0s
2129 + AbstractDescriptor#readOnly is false, but in fact it is read-only 0.003s
2130dev.tauri.choam.internal.mcas.AssertSpec:
2131 + _assert should be enabled during tests (for now) 0.001s
2132dev.tauri.choam.internal.mcas.emcas.EmcasSpecIO:
2133 + EMCAS sharing commit-ts (disjoint) 0.078s
2134 + EMCAS sharing commit-ts (real conflict) 0.037s
2135dev.tauri.choam.internal.mcas.McasSpecJvmEmcas:
2136 + k-CAS should succeed if old values match, and there is no contention 0.0s
2137 + k-CAS should fail if any of the old values doesn't match 0.0s
2138 + k-CAS should be able to succeed after one successful operation 0.0s
2139 + Snapshotting should work 0.0s
2140 + Snapshotting should work when cancelling 0.001s
2141 + read should be able to read from a fresh ref 0.0s
2142 + Platform default must be thread-safe 0.0s
2143 + A successful k-CAS should increase the version of the refs 0.0s
2144 + A failed k-CAS should not increase the version of the refs 0.001s
2145 + Version.None must not be stored 0.0s
2146 + readIntoLog should work (no conflict) 0.002s
2147 + tryPerform2 should work (read-only) 0.0s
2148 + tryPerform2 should work (read-write) 0.0s
2149 + tryPerform2 should work (FailedVal) 0.0s
2150 + empty descriptor 0.001s
2151 + singleCasDirect also changes the global commitTs 0.0s
2152 + Merging disjoint descriptors should work 0.0s
2153 + Merging overlapping descriptors does not work 0.0s
2154 + mcas.Descriptor iterator 0.001s
2155 + equals/hashCode/toString for descriptors 0.0s
2156 + readOnly for descriptors 0.0s
2157 + Version numbers must be unique 0.001s
2158 + Expected version must also be checked 0.0s
2159 + subscriber notification should be called on success 0.0s
2160 + subscriber notification should NOT be called on failure 0.001s
2161 + Mcas#isCurrentContext 0.0s
2162 + Stripes 0.0s
2163 + Temporary buffer 0.0s
2164 + makeCopy 0.001s
2165 + readIntoLog should work (version conflict) 0.008s
2166 + readIntoLog should work (real conflict) 0.004s
2167 + tryPerform2 should work (read-only, concurrent commit) 0.002s
2168 + tryPerform2 should work (read-write, concurrent commit) 0.004s
2169 + Merging must detect if the logs are inconsistent 0.002s
2170 + Stripes multithreaded 0.016s
2171 + Temporary buffer multithreaded 0.002s
2172dev.tauri.choam.internal.mcas.MutHamtSpec:
2173 + HAMT logicalIdx 0.008s
2174 + necessarySize 0.005s
2175 + physicalIdx 0.003s
2176 + packSizeDiffAndBlue 0.002s
2177 + HAMT examples (1) 0.018s
2178 + HAMT examples (2) 0.0s
2179 + HAMT examples (3) 0.001s
2180 + HAMT lookup/upsert/toArray (default generator) 10.767s
2181 + HAMT lookup/upsert/toArray (RIG generator) 9.963s
2182 + HAMT removeIfBlue (default generator) 0.065s
2183 + HAMT removeIfBlue (RIG generator) 0.033s
2184 + HAMT computeIfAbsent (default generator) 8.513s
2185 + HAMT computeIfAbsent (RIG generator) 7.129s
2186 + HAMT computeOrModify (default generator) 8.366s
2187 + HAMT computeOrModify (RIG generator) 7.244s
2188 + Iteration order should be independent of insertion order (default generator) 0.062s
2189 + Iteration order should be independent of insertion order (RIG generator) 0.053s
2190 + Ordering should be independent of elements 0.19s
2191 + Lots of elements 0.64s
2192 + Merging HAMTs 0.078s
2193 + Merging HAMTs after removal (example) 0.001s
2194 + Merging HAMTs after removal 0.136s
2195 + HAMT equals/hashCode 0.076s
2196 + HAMT toString 0.001s
2197 + forAll 0.03s
2198 + isBlue (default generator) 0.334s
2199 + isBlue (RIG generator) 0.264s
2200 + copyToImmutable (default generator) 0.075s
2201 + copyToImmutable (RIG generator) 0.051s
2202 + valuesIterator examples 0.008s
2203 + valuesIterator (default generator) 0.035s
2204 + valuesIterator (RIG generator) 0.037s
2205 + addToSize 0.025s
2206 + addToSize overflow 0.001s
2207 + repro 0.003s
2208dev.tauri.choam.internal.mcas.McasSpecJvmSpinLockMcas:
2209 + k-CAS should succeed if old values match, and there is no contention 0.001s
2210 + k-CAS should fail if any of the old values doesn't match 0.0s
2211 + k-CAS should be able to succeed after one successful operation 0.001s
2212 + Snapshotting should work 0.0s
2213 + Snapshotting should work when cancelling 0.0s
2214 + read should be able to read from a fresh ref 0.0s
2215 + Platform default must be thread-safe 0.001s
2216 + A successful k-CAS should increase the version of the refs 0.0s
2217 + A failed k-CAS should not increase the version of the refs 0.0s
2218 + Version.None must not be stored 0.0s
2219 + readIntoLog should work (no conflict) 0.0s
2220 + tryPerform2 should work (read-only) 0.001s
2221 + tryPerform2 should work (read-write) 0.0s
2222 + tryPerform2 should work (FailedVal) 0.0s
2223 + empty descriptor 0.0s
2224 + singleCasDirect also changes the global commitTs 0.0s
2225 + Merging disjoint descriptors should work 0.001s
2226 + Merging overlapping descriptors does not work 0.0s
2227 + mcas.Descriptor iterator 0.0s
2228 + equals/hashCode/toString for descriptors 0.0s
2229 + readOnly for descriptors 0.0s
2230 + Version numbers must be unique 0.001s
2231 + Expected version must also be checked 0.0s
2232 + subscriber notification should be called on success 0.0s
2233 + subscriber notification should NOT be called on failure 0.0s
2234 + Mcas#isCurrentContext 0.001s
2235 + Stripes 0.0s
2236 + Temporary buffer 0.0s
2237 + makeCopy 0.001s
2238 + readIntoLog should work (version conflict) 0.001s
2239 + readIntoLog should work (real conflict) 0.001s
2240 + tryPerform2 should work (read-only, concurrent commit) 0.0s
2241 + tryPerform2 should work (read-write, concurrent commit) 0.001s
2242 + Merging must detect if the logs are inconsistent 0.0s
2243 + Stripes multithreaded 0.014s
2244 + Temporary buffer multithreaded 0.0s
2245dev.tauri.choam.internal.mcas.McasSpecJvmThreadConfinedMcas:
2246 + k-CAS should succeed if old values match, and there is no contention 0.0s
2247 + k-CAS should fail if any of the old values doesn't match 0.0s
2248 + k-CAS should be able to succeed after one successful operation 0.001s
2249 + Snapshotting should work 0.0s
2250 + Snapshotting should work when cancelling 0.0s
2251 + read should be able to read from a fresh ref 0.0s
2252 + Platform default must be thread-safe 0.0s
2253 + A successful k-CAS should increase the version of the refs 0.0s
2254 + A failed k-CAS should not increase the version of the refs 0.0s
2255 + Version.None must not be stored 0.0s
2256 + readIntoLog should work (no conflict) 0.0s
2257 + tryPerform2 should work (read-only) 0.0s
2258 + tryPerform2 should work (read-write) 0.0s
2259 + tryPerform2 should work (FailedVal) 0.0s
2260 + empty descriptor 0.0s
2261 + singleCasDirect also changes the global commitTs 0.0s
2262 + Merging disjoint descriptors should work 0.0s
2263 + Merging overlapping descriptors does not work 0.0s
2264 + mcas.Descriptor iterator 0.0s
2265 + equals/hashCode/toString for descriptors 0.0s
2266 + readOnly for descriptors 0.0s
2267 + Version numbers must be unique 0.0s
2268 + Expected version must also be checked 0.0s
2269 + subscriber notification should be called on success 0.001s
2270 + subscriber notification should NOT be called on failure 0.0s
2271 + Mcas#isCurrentContext 0.0s
2272 + Stripes 0.0s
2273 + Temporary buffer 0.0s
2274 + makeCopy 0.001s
2275 + readIntoLog should work (version conflict) 0.0s
2276 + readIntoLog should work (real conflict) 0.001s
2277 + tryPerform2 should work (read-only, concurrent commit) 0.0s
2278 + tryPerform2 should work (read-write, concurrent commit) 0.001s
2279 + Merging must detect if the logs are inconsistent 0.0s
2280==> s dev.tauri.choam.internal.mcas.McasSpecJvmThreadConfinedMcas.Stripes multithreaded skipped 0.006s
2281 + Temporary buffer multithreaded 0.0s
2282dev.tauri.choam.OsRngSpec:
2283 + OsRng#nextBytes 0.004s
2284 + Multi-threaded use 0.135s
2285 + Use different RNGs 0.075s
2286 + Race 0.073s
2287dev.tauri.choam.internal.mcas.OsRngInternalSpec:
2288 + UnixRng should be closeable 0.002s
2289dev.tauri.choam.internal.skiplist.SkipListSpec:
2290 + put / get 0.002s
2291 + put / del 0.009s
2292 + put / remove 0.011s
2293 + put / replace 0.008s
2294 + putIfAbsent 0.002s
2295 + foreach / iterator 0.002s
2296 + empty list get 0.002s
2297 + put then get 0.049s
2298 + put then del 0.019s
2299 + put then remove 0.01s
2300 + put then replace 0.01s
2301 + putIfAbsent doesn't overwrite values 0.005s
2302 + foreach returns each KV-pair 0.01s
2303 + random put / del / remove / replace / get 0.06s
2304 + null keys/values 0.061s
2305dev.tauri.choam.internal.mcas.BloomFilterSpec:
2306 + Bloom filter 0.015s
2307 + BloomFilter64 0.016s
2308 + BloomFilter64#estimatedSize 0.0s
2309==> i dev.tauri.choam.internal.mcas.BloomFilterSpec.BloomFilter64 false positive rate ignored 0.0s
2310dev.tauri.choam.internal.mcas.DescriptorSpec_DefaultMcas:
2311 + Descriptor.mergeReads 0.005s
2312dev.tauri.choam.internal.mcas.ConstsSpec:
2313 + nextPowerOf2 0.005s
2314dev.tauri.choam.internal.CompileTimeSystemPropertySpec:
2315 + getBoolean 0.002s
2316Starting build for ProjectRef(file:/build/repo/,stream) (choam-stream)... [3/10]
2317Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -Xkind-projector, --java-output-version:17, 11, -language:higherKinds, -no-indent, -Xverify-signatures, -Wconf:any:v,cat=deprecation:s,id=E147:s,id=E175:s, -Wunused:all, -Ycheck-all-patmat, -Xcheck-macros, -Xsemanticdb, -semanticdb-target, /build/repo/stream/jvm/target/scala-3.8.0-RC3/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
2318[info] compiling 20 Scala sources to /build/repo/data/jvm/target/scala-3.8.0-RC3/classes ...
2319[info] done compiling
2320[info] compiling 8 Scala sources to /build/repo/async/jvm/target/scala-3.8.0-RC3/classes ...
2321[info] done compiling
2322[info] compiling 4 Scala sources to /build/repo/stream/jvm/target/scala-3.8.0-RC3/classes ...
2323[info] done compiling
2324[info] compiling 34 Scala sources to /build/repo/data/jvm/target/scala-3.8.0-RC3/test-classes ...
2325[info] done compiling
2326[info] compiling 22 Scala sources to /build/repo/async/jvm/target/scala-3.8.0-RC3/test-classes ...
2327[info] done compiling
2328[info] compiling 12 Scala sources to /build/repo/stream/jvm/target/scala-3.8.0-RC3/test-classes ...
2329[info] done compiling
2330WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
2331WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_3/3.8.0-RC3/scala3-library_3-3.8.0-RC3.jar)
2332WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
2333WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
2334dev.tauri.choam.stream.PubSubSpecTickedAsync_DefaultMcas_IO:
2335 + DropOldest - basics 1.028s
2336 + DropOldest - closing 0.178s
2337 + DropOldest - closing without subscribers 0.092s
2338 + DropOldest - awaitShutdown 0.21s
2339 + DropOldest - subscribe with non-default strategy 0.071s
2340 + DropOldest - numberOfSubscriptions 0.112s
2341 + DropOldest - initial Rxn should run for each subscription 0.054s
2342 + DropOldest - chunk bigger than capacity is an error 0.081s
2343 + DropOldest - subscribe/close race (ticked) 0.034s
2344 + DropOldest - subscribe/close/publish race (ticked) 0.033s
2345 + DropOldest - closing mustn't conflict with item dropping 0.041s
2346 + DropOldest - Initial element mustn't count against the buffer size 0.029s
2347 + DropOldest - should never backpressure 1.305s
2348 + DropOldest - single element buffer 0.004s
2349 + DropOldest - should drop oldest elements 0.008s
2350 + DropOldest - size computation 0.157s
2351 + DropNewest - basics 0.064s
2352 + DropNewest - closing 0.076s
2353 + DropNewest - closing without subscribers 0.038s
2354 + DropNewest - awaitShutdown 0.064s
2355 + DropNewest - subscribe with non-default strategy 0.042s
2356 + DropNewest - numberOfSubscriptions 0.048s
2357 + DropNewest - initial Rxn should run for each subscription 0.045s
2358 + DropNewest - chunk bigger than capacity is an error 0.024s
2359 + DropNewest - subscribe/close race (ticked) 0.014s
2360 + DropNewest - subscribe/close/publish race (ticked) 0.014s
2361 + DropNewest - closing mustn't conflict with item dropping 0.025s
2362 + DropNewest - Initial element mustn't count against the buffer size 0.018s
2363 + DropNewest - should never backpressure 0.546s
2364 + DropNewest - single element buffer 0.001s
2365 + DropNewest - should drop newest elements 0.048s
2366 + Unbounded - basics 0.045s
2367 + Unbounded - closing 0.051s
2368 + Unbounded - closing without subscribers 0.028s
2369 + Unbounded - awaitShutdown 0.05s
2370 + Unbounded - subscribe with non-default strategy 0.029s
2371 + Unbounded - numberOfSubscriptions 0.037s
2372 + Unbounded - initial Rxn should run for each subscription 0.023s
2373==> s dev.tauri.choam.stream.PubSubSpecTickedAsync_DefaultMcas_IO.Unbounded - chunk bigger than capacity is an error skipped 0.005s
2374 + Unbounded - subscribe/close race (ticked) 0.013s
2375 + Unbounded - subscribe/close/publish race (ticked) 0.01s
2376 + Unbounded - should never backpressure 0.786s
2377 + Backpressure - basics 0.048s
2378 + Backpressure - closing 0.041s
2379 + Backpressure - closing without subscribers 0.022s
2380 + Backpressure - awaitShutdown 0.035s
2381 + Backpressure - subscribe with non-default strategy 0.02s
2382 + Backpressure - numberOfSubscriptions 0.033s
2383 + Backpressure - initial Rxn should run for each subscription 0.022s
2384 + Backpressure - chunk bigger than capacity is an error 0.015s
2385 + Backpressure - subscribe/close race (ticked) 0.011s
2386 + Backpressure - subscribe/close/publish race (ticked) 0.012s
2387 + Backpressure - single element buffer 0.001s
2388 + Backpressure - backpressuring 0.079s
2389 + Backpressure (async) - backpressuring 0.101s
2390 + Backpressure (async) - awaitShutdown while being backpressured 0.115s
2391 + DropOldest (async) - basics 0.058s
2392 + DropOldest (async) - closing 0.054s
2393 + DropOldest (async) - closing without subscribers 0.045s
2394 + DropOldest (async) - awaitShutdown 0.077s
2395 + DropOldest (async) - subscribe with non-default strategy 0.042s
2396 + DropOldest (async) - initial Rxn should run for each subscription 0.044s
2397 + DropOldest (async) - chunk bigger than capacity is an error 0.042s
2398 + DropNewest (async) - basics 0.079s
2399 + DropNewest (async) - closing 0.069s
2400 + DropNewest (async) - closing without subscribers 0.027s
2401 + DropNewest (async) - awaitShutdown 0.058s
2402 + DropNewest (async) - subscribe with non-default strategy 0.034s
2403 + DropNewest (async) - initial Rxn should run for each subscription 0.038s
2404 + DropNewest (async) - chunk bigger than capacity is an error 0.021s
2405 + Unbounded (async) - basics 0.065s
2406 + Unbounded (async) - closing 0.041s
2407 + Unbounded (async) - closing without subscribers 0.022s
2408 + Unbounded (async) - awaitShutdown 0.038s
2409 + Unbounded (async) - subscribe with non-default strategy 0.021s
2410 + Unbounded (async) - initial Rxn should run for each subscription 0.021s
2411==> s dev.tauri.choam.stream.PubSubSpecTickedAsync_DefaultMcas_IO.Unbounded (async) - chunk bigger than capacity is an error skipped 0.0s
2412 + Backpressure (async) - basics 0.041s
2413 + Backpressure (async) - closing 0.039s
2414 + Backpressure (async) - closing without subscribers 0.022s
2415 + Backpressure (async) - awaitShutdown 0.037s
2416 + Backpressure (async) - subscribe with non-default strategy 0.02s
2417 + Backpressure (async) - initial Rxn should run for each subscription 0.019s
2418 + Backpressure (async) - chunk bigger than capacity is an error 0.016s
2419 + FS2 Topic 0.024s
2420 + FS2 Topic backpressure 0.057s
2421dev.tauri.choam.stream.PubSubSpecAsync_DefaultMcas_ZIO:
2422 + DropOldest - racing publishers (bufferSize = 1024) 3.33s
2423 + DropOldest - racing publishers (bufferSize = 1) 1.879s
2424 + DropOldest - subscribe/close race 0.157s
2425 + DropOldest - subscribe/close/publish race 0.026s
2426 + DropNewest - racing publishers (bufferSize = 1024) 1.216s
2427 + DropNewest - racing publishers (bufferSize = 1) 0.659s
2428 + DropNewest - subscribe/close race 0.083s
2429 + DropNewest - subscribe/close/publish race 0.012s
2430 + Unbounded - racing publishers (bufferSize = 1024) 0.914s
2431 + Unbounded - racing publishers (bufferSize = 1) 0.946s
2432 + Unbounded - subscribe/close race 0.062s
2433 + Unbounded - subscribe/close/publish race 0.012s
2434 + Backpressure - racing publishers (bufferSize = 1024) 1.013s
2435 + Backpressure - racing publishers (bufferSize = 1) 0.449s
2436 + Backpressure - subscribe/close race 0.061s
2437 + Backpressure - subscribe/close/publish race 0.013s
2438dev.tauri.choam.stream.StreamSpec_SpinLockMcas_IO:
2439 + UnboundedQueue to stream 0.04s
2440 + BoundedQueue to stream 0.027s
2441 + AsyncQueue converters 0.01s
2442 + Stream interrupter (Promise#asCats) 2.014s
2443dev.tauri.choam.stream.SignallingRefSpec_Emcas_TickedIO:
2444 + SignallingRef#continuous 0.028s
2445 + SignallingRef#discrete 0.177s
2446 + SignallingRef#discrete should receive at least the current value 0.003s
2447dev.tauri.choam.stream.StreamSpec_Emcas_IO:
2448 + UnboundedQueue to stream 0.009s
2449 + BoundedQueue to stream 0.004s
2450 + AsyncQueue converters 0.001s
2451 + Stream interrupter (Promise#asCats) 2.002s
2452dev.tauri.choam.stream.SignallingRefSpec_ThreadConfinedMcas_TickedIO:
2453 + SignallingRef#continuous 0.009s
2454 + SignallingRef#discrete 0.091s
2455 + SignallingRef#discrete should receive at least the current value 0.001s
2456dev.tauri.choam.stream.PubSubSpecTickedSimple_DefaultMcas_IO:
2457 + DropOldest - basics 0.079s
2458 + DropOldest - closing 0.058s
2459 + DropOldest - closing without subscribers 0.029s
2460 + DropOldest - awaitShutdown 0.05s
2461 + DropOldest - subscribe with non-default strategy 0.024s
2462 + DropOldest - numberOfSubscriptions 0.051s
2463 + DropOldest - initial Rxn should run for each subscription 0.028s
2464 + DropOldest - chunk bigger than capacity is an error 0.014s
2465 + DropOldest - subscribe/close race (ticked) 0.007s
2466 + DropOldest - subscribe/close/publish race (ticked) 0.007s
2467 + DropOldest - closing mustn't conflict with item dropping 0.01s
2468 + DropOldest - Initial element mustn't count against the buffer size 0.009s
2469 + DropOldest - should never backpressure 1.156s
2470 + DropOldest - single element buffer 0.001s
2471 + DropOldest - should drop oldest elements 0.001s
2472 + DropOldest - size computation 0.056s
2473 + DropNewest - basics 0.033s
2474 + DropNewest - closing 0.032s
2475 + DropNewest - closing without subscribers 0.017s
2476 + DropNewest - awaitShutdown 0.037s
2477 + DropNewest - subscribe with non-default strategy 0.017s
2478 + DropNewest - numberOfSubscriptions 0.034s
2479 + DropNewest - initial Rxn should run for each subscription 0.017s
2480 + DropNewest - chunk bigger than capacity is an error 0.011s
2481 + DropNewest - subscribe/close race (ticked) 0.009s
2482 + DropNewest - subscribe/close/publish race (ticked) 0.006s
2483 + DropNewest - closing mustn't conflict with item dropping 0.009s
2484 + DropNewest - Initial element mustn't count against the buffer size 0.006s
2485 + DropNewest - should never backpressure 0.6s
2486 + DropNewest - single element buffer 0.001s
2487 + DropNewest - should drop newest elements 0.022s
2488 + Unbounded - basics 0.026s
2489 + Unbounded - closing 0.028s
2490 + Unbounded - closing without subscribers 0.014s
2491 + Unbounded - awaitShutdown 0.024s
2492 + Unbounded - subscribe with non-default strategy 0.014s
2493 + Unbounded - numberOfSubscriptions 0.025s
2494 + Unbounded - initial Rxn should run for each subscription 0.015s
2495==> s dev.tauri.choam.stream.PubSubSpecTickedSimple_DefaultMcas_IO.Unbounded - chunk bigger than capacity is an error skipped 0.0s
2496 + Unbounded - subscribe/close race (ticked) 0.007s
2497 + Unbounded - subscribe/close/publish race (ticked) 0.006s
2498 + Unbounded - should never backpressure 0.875s
2499 + Backpressure - basics 0.036s
2500 + Backpressure - closing 0.039s
2501 + Backpressure - closing without subscribers 0.016s
2502 + Backpressure - awaitShutdown 0.027s
2503 + Backpressure - subscribe with non-default strategy 0.016s
2504 + Backpressure - numberOfSubscriptions 0.026s
2505 + Backpressure - initial Rxn should run for each subscription 0.016s
2506 + Backpressure - chunk bigger than capacity is an error 0.016s
2507 + Backpressure - subscribe/close race (ticked) 0.007s
2508 + Backpressure - subscribe/close/publish race (ticked) 0.006s
2509 + Backpressure - single element buffer 0.0s
2510 + Backpressure - backpressuring 0.027s
2511dev.tauri.choam.stream.PubSubSpecSimple_DefaultMcas_ZIO:
2512 + DropOldest - racing publishers (bufferSize = 1024) 1.088s
2513 + DropOldest - racing publishers (bufferSize = 1) 0.846s
2514 + DropOldest - subscribe/close race 0.055s
2515 + DropOldest - subscribe/close/publish race 0.009s
2516 + DropNewest - racing publishers (bufferSize = 1024) 1.109s
2517 + DropNewest - racing publishers (bufferSize = 1) 0.778s
2518 + DropNewest - subscribe/close race 0.043s
2519 + DropNewest - subscribe/close/publish race 0.011s
2520 + Unbounded - racing publishers (bufferSize = 1024) 0.676s
2521 + Unbounded - racing publishers (bufferSize = 1) 0.75s
2522 + Unbounded - subscribe/close race 0.04s
2523 + Unbounded - subscribe/close/publish race 0.009s
2524 + Backpressure - racing publishers (bufferSize = 1024) 0.838s
2525 + Backpressure - racing publishers (bufferSize = 1) 1.283s
2526 + Backpressure - subscribe/close race 0.039s
2527 + Backpressure - subscribe/close/publish race 0.008s
2528dev.tauri.choam.stream.StreamSpec_ThreadConfinedMcas_IO:
2529==> s dev.tauri.choam.stream.StreamSpec_ThreadConfinedMcas_IO.UnboundedQueue to stream skipped 0.001s
2530==> s dev.tauri.choam.stream.StreamSpec_ThreadConfinedMcas_IO.BoundedQueue to stream skipped 0.001s
2531 + AsyncQueue converters 0.001s
2532 + Stream interrupter (Promise#asCats) 2.001s
2533dev.tauri.choam.stream.PubSubSpecAsync_DefaultMcas_IO:
2534 + DropOldest - racing publishers (bufferSize = 1024) 4.154s
2535 + DropOldest - racing publishers (bufferSize = 1) 5.173s
2536 + DropOldest - subscribe/close race 0.041s
2537 + DropOldest - subscribe/close/publish race 0.008s
2538 + DropNewest - racing publishers (bufferSize = 1024) 5.217s
2539 + DropNewest - racing publishers (bufferSize = 1) 4.477s
2540 + DropNewest - subscribe/close race 0.037s
2541 + DropNewest - subscribe/close/publish race 0.006s
2542 + Unbounded - racing publishers (bufferSize = 1024) 5.017s
2543 + Unbounded - racing publishers (bufferSize = 1) 5.257s
2544 + Unbounded - subscribe/close race 0.036s
2545 + Unbounded - subscribe/close/publish race 0.006s
2546 + Backpressure - racing publishers (bufferSize = 1024) 4.663s
2547 + Backpressure - racing publishers (bufferSize = 1) 3.896s
2548 + Backpressure - subscribe/close race 0.051s
2549 + Backpressure - subscribe/close/publish race 0.007s
2550dev.tauri.choam.stream.PubSubSpecSimple_DefaultMcas_IO:
2551 + DropOldest - racing publishers (bufferSize = 1024) 4.687s
2552 + DropOldest - racing publishers (bufferSize = 1) 4.776s
2553 + DropOldest - subscribe/close race 0.034s
2554 + DropOldest - subscribe/close/publish race 0.008s
2555 + DropNewest - racing publishers (bufferSize = 1024) 4.875s
2556 + DropNewest - racing publishers (bufferSize = 1) 4.223s
2557 + DropNewest - subscribe/close race 0.034s
2558 + DropNewest - subscribe/close/publish race 0.005s
2559 + Unbounded - racing publishers (bufferSize = 1024) 4.886s
2560 + Unbounded - racing publishers (bufferSize = 1) 5.382s
2561 + Unbounded - subscribe/close race 0.039s
2562 + Unbounded - subscribe/close/publish race 0.007s
2563 + Backpressure - racing publishers (bufferSize = 1024) 5.286s
2564 + Backpressure - racing publishers (bufferSize = 1) 4.891s
2565 + Backpressure - subscribe/close race 0.03s
2566 + Backpressure - subscribe/close/publish race 0.006s
2567dev.tauri.choam.stream.SignallingRefSpec_SpinLockMcas_TickedIO:
2568 + SignallingRef#continuous 0.012s
2569 + SignallingRef#discrete 0.151s
2570 + SignallingRef#discrete should receive at least the current value 0.0s
2571Starting build for ProjectRef(file:/build/repo/,data) (choam-data)... [4/10]
2572Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -Xkind-projector, --java-output-version:17, 11, -language:higherKinds, -no-indent, -Xverify-signatures, -Wconf:any:v,cat=deprecation:s,id=E147:s,id=E175:s, -Wunused:all, -Ycheck-all-patmat, -Xcheck-macros, -Xsemanticdb, -semanticdb-target, /build/repo/data/jvm/target/scala-3.8.0-RC3/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
2573WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
2574WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_3/3.8.0-RC3/scala3-library_3-3.8.0-RC3.jar)
2575WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
2576WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
2577dev.tauri.choam.data.MapSpec_SimpleHash_ThreadConfinedMcas_SyncIO:
2578 + Map should perform put correctly 0.184s
2579 + Map should perform get correctly 0.005s
2580 + Map should perform del correctly 0.008s
2581 + Map should perform replace correctly 0.004s
2582 + Map should perform remove correctly 0.008s
2583 + Map should perform putIfAbsent correctly 0.005s
2584 + Map should support custom hash/eqv/order 0.027s
2585 + Map get should not find anything in an empty map 0.162s
2586 + Map get should find a previously inserted single key 0.033s
2587 + Map get should find all previously inserted keys 0.185s
2588 + Map get should find an equal key which is not equal according to universal equality 0.005s
2589 + Map del should remove the kv pair 0.006s
2590 + Map insertion should handle hash collisions correctly 0.073s
2591 + Resurrecting a tombed but uncommitted ref 0.005s
2592 + Map creation API 0.016s
2593 + Map#asCats (MapRef) 0.011s
2594 + Map should support null keys/values 0.108s
2595 + Map.Extra should perform `clear` correctly 0.005s
2596 + Map.Extra should perform `keys` correctly 0.009s
2597 + Map.Extra should perform `values` correctly 0.004s
2598 + Map.Extra should perform `items` correctly 0.003s
2599dev.tauri.choam.data.DroppingQueueSpec_ThreadConfinedMcas:
2600 + Dropping property 0.285s
2601 + DroppingQueue simple 0.007s
2602 + DroppingQueue multiple ops in one Rxn 0.002s
2603dev.tauri.choam.data.SetSpec_Ordered_ThreadConfinedMcas_SyncIO:
2604 + Empty contains 0.017s
2605 + add / contains 0.093s
2606 + add / remove 0.05s
2607dev.tauri.choam.data.EliminatorSpec_ThreadConfinedMcas_IO:
2608 + Eliminator.apply 0.007s
2609 + Eliminator.tagged 0.003s
2610 + EliminationStackForTesting (basic) 0.005s
2611 + EliminationStack2 (basic) 0.005s
2612dev.tauri.choam.data.UnboundedDequeSpec_DefaultMcas_IO:
2613 + Basics 0.02s
2614dev.tauri.choam.data.StackSpec_Elimination2_ThreadConfinedMcas_IO:
2615 + Stack push/pop 0.007s
2616 + Stack multiple ops in one Rxn 0.004s
2617 + Stack should include the elements passed to its constructor 0.003s
2618dev.tauri.choam.data.RefSpec_Map_TtrieHash_Emcas_IO:
2619 + ifM instead of guard/guardNot 0.011s
2620 + Ref#get 0.006s
2621 + Ref#update et. al. 0.004s
2622 + Ref#update 0.004s
2623 + Ref#update example 0.003s
2624 + Ref#modify et. al. 0.002s
2625 + Ref#flatModify 0.008s
2626 + Ref#getAndSet 0.004s
2627 + Ref#set 0.006s
2628 + RefLike#getAndUpd 0.001s
2629 + RefLike#updAndGet 0.005s
2630 + Ref#asCats 0.024s
2631 + CatsRef[Rxn, A] 0.004s
2632==> s dev.tauri.choam.data.RefSpec_Map_TtrieHash_Emcas_IO.Regular Ref shouldn't have .withListeners skipped 0.009s
2633 + Map put, update, del (sequential) 0.17s
2634 + Map put, update, del (parallel) 0.284s
2635 + Map unsafeSnapshot 0.043s
2636 + Setting ref to default value should remove from the map 0.003s
2637 + Map double get with concurrent insert 0.119s
2638 + Map double get with concurrent delete 0.113s
2639 + Ttrie insert/remove should not leak memory 0.809s
2640 + Ttrie failed lookups should not leak memory 0.168s
2641 + Ttrie removing not included keys should not leak memory 0.133s
2642dev.tauri.choam.data.MapSpec_SimpleOrdered_ThreadConfinedMcas_SyncIO:
2643 + Map should perform put correctly 0.004s
2644 + Map should perform get correctly 0.0s
2645 + Map should perform del correctly 0.001s
2646 + Map should perform replace correctly 0.001s
2647 + Map should perform remove correctly 0.001s
2648 + Map should perform putIfAbsent correctly 0.001s
2649 + Map should support custom hash/eqv/order 0.0s
2650 + Map get should not find anything in an empty map 0.005s
2651 + Map get should find a previously inserted single key 0.008s
2652 + Map get should find all previously inserted keys 0.069s
2653 + Map get should find an equal key which is not equal according to universal equality 0.001s
2654 + Map del should remove the kv pair 0.003s
2655 + Map insertion should handle hash collisions correctly 0.031s
2656 + Resurrecting a tombed but uncommitted ref 0.0s
2657 + Map creation API 0.0s
2658 + Map#asCats (MapRef) 0.004s
2659 + Map should support null keys/values 0.033s
2660 + Map.Extra should perform `clear` correctly 0.001s
2661 + Map.Extra should perform `keys` correctly 0.001s
2662 + Map.Extra should perform `values` correctly 0.0s
2663 + Map.Extra should perform `items` correctly 0.001s
2664dev.tauri.choam.data.DroppingQueueSpec_Emcas:
2665 + Dropping property 0.232s
2666 + DroppingQueue simple 0.001s
2667 + DroppingQueue multiple ops in one Rxn 0.0s
2668dev.tauri.choam.data.SetSpec_Ordered_Emcas_SyncIO:
2669 + Empty contains 0.005s
2670 + add / contains 0.065s
2671 + add / remove 0.053s
2672dev.tauri.choam.data.QueueWithRemoveSpec_ThreadConfinedMcas_IO:
2673 + Queue should include the elements passed to its constructor 0.007s
2674 + Queue transfer 0.003s
2675 + Queue should work correctly 0.004s
2676 + Queue multiple enq/deq in one Rxn 0.003s
2677==> s dev.tauri.choam.data.QueueWithRemoveSpec_ThreadConfinedMcas_IO.Queue parallel multiple enq/deq skipped 0.002s
2678 + Queue.WithRemove removers 0.003s
2679 + Queue.WithRemove removers with enq/deq 0.005s
2680 + Queue.WithRemove enq then remove 0.002s
2681 + Null element 0.006s
2682 + enqueueWithRemover 0.003s
2683==> s dev.tauri.choam.data.QueueWithRemoveSpec_ThreadConfinedMcas_IO.Concurrent removals skipped 0.002s
2684 + RemoveQueue#isEmpty 0.005s
2685 + RemoveQueue#peek 0.006s
2686dev.tauri.choam.data.MapSpec_TtrieHash_SpinLockMcas_SyncIO:
2687 + Map should perform put correctly 0.002s
2688 + Map should perform get correctly 0.001s
2689 + Map should perform del correctly 0.0s
2690 + Map should perform replace correctly 0.003s
2691 + Map should perform remove correctly 0.001s
2692 + Map should perform putIfAbsent correctly 0.001s
2693 + Map should support custom hash/eqv/order 0.002s
2694 + Map get should not find anything in an empty map 0.01s
2695 + Map get should find a previously inserted single key 0.014s
2696 + Map get should find all previously inserted keys 0.146s
2697 + Map get should find an equal key which is not equal according to universal equality 0.001s
2698 + Map del should remove the kv pair 0.001s
2699 + Map insertion should handle hash collisions correctly 0.046s
2700 + Resurrecting a tombed but uncommitted ref 0.0s
2701 + Map creation API 0.0s
2702 + Map#asCats (MapRef) 0.0s
2703 + Map should support null keys/values 0.105s
2704dev.tauri.choam.data.ExchangerSpecCommon_Emcas_ZIO:
2705 + A single party never succeeds with an exchange 0.215s
2706 + Different runs produce distinct exchanger objects 0.023s
2707 + The dual is always the same object 0.009s
2708 + The dual of an exchanger's dual is itself (object identity) 0.002s
2709 + The dual must have the same key 0.002s
2710dev.tauri.choam.data.QueueSourceSinkSpec_ThreadConfinedMcas_IO:
2711 + QueueSourceSink enq/deq 0.004s
2712 + QueueSourceSink multiple ops in one Rxn 0.002s
2713dev.tauri.choam.data.ExchangerSpecCommon_Emcas_IO:
2714 + A single party never succeeds with an exchange 0.004s
2715 + Different runs produce distinct exchanger objects 0.001s
2716 + The dual is always the same object 0.0s
2717 + The dual of an exchanger's dual is itself (object identity) 0.0s
2718 + The dual must have the same key 0.001s
2719dev.tauri.choam.data.CounterSpecSimple_Emcas_IO:
2720 + Counter functionality 0.009s
2721 + Multiple ops in one Rxn 0.001s
2722 + Parallel access 0.473s
2723dev.tauri.choam.data.MapSpec_SimpleHash_SpinLockMcas_SyncIO:
2724 + Map should perform put correctly 0.001s
2725 + Map should perform get correctly 0.0s
2726 + Map should perform del correctly 0.001s
2727 + Map should perform replace correctly 0.0s
2728 + Map should perform remove correctly 0.0s
2729 + Map should perform putIfAbsent correctly 0.001s
2730 + Map should support custom hash/eqv/order 0.0s
2731 + Map get should not find anything in an empty map 0.003s
2732 + Map get should find a previously inserted single key 0.004s
2733 + Map get should find all previously inserted keys 0.066s
2734 + Map get should find an equal key which is not equal according to universal equality 0.001s
2735 + Map del should remove the kv pair 0.0s
2736 + Map insertion should handle hash collisions correctly 0.028s
2737 + Resurrecting a tombed but uncommitted ref 0.0s
2738 + Map creation API 0.001s
2739 + Map#asCats (MapRef) 0.0s
2740 + Map should support null keys/values 0.034s
2741 + Map.Extra should perform `clear` correctly 0.0s
2742 + Map.Extra should perform `keys` correctly 0.001s
2743 + Map.Extra should perform `values` correctly 0.002s
2744 + Map.Extra should perform `items` correctly 0.0s
2745dev.tauri.choam.data.StackSpec_Elimination2_Emcas_IO:
2746 + Multiple producers/consumers 0.042s
2747 + Elimination stack conflict after the elimination 5.307s
2748 + Elimination stack conflict before the elimination 3.695s
2749 + Stack push/pop 0.0s
2750 + Stack multiple ops in one Rxn 0.0s
2751 + Stack should include the elements passed to its constructor 0.0s
2752dev.tauri.choam.data.stm.TRefWrapSpec_DefaultMcas_IO:
2753 + Wrapping a Queue.unbounded with AllocationStrategy.withStm(true) 0.11s
2754 + Wrapping a Queue.bounded with AllocationStrategy.withStm(true) 0.059s
2755dev.tauri.choam.data.StackSpec_Treiber_SpinLockMcas_IO:
2756 + Stack push/pop 0.0s
2757 + Stack multiple ops in one Rxn 0.0s
2758 + Stack should include the elements passed to its constructor 0.001s
2759 + Multiple producers/consumers 0.017s
2760 + Elimination stack conflict after the elimination 5.236s
2761dev.tauri.choam.data.StackSpec_Treiber_ThreadConfinedMcas_IO:
2762 + Stack push/pop 0.0s
2763 + Stack multiple ops in one Rxn 0.0s
2764 + Stack should include the elements passed to its constructor 0.0s
2765dev.tauri.choam.core.ExchangerSpecCommon_ThreadConfinedMcas_IO:
2766 + A single party never succeeds with an exchange 0.002s
2767 + Different runs produce distinct exchanger objects 0.0s
2768 + The dual is always the same object 0.0s
2769 + The dual of an exchanger's dual is itself (object identity) 0.0s
2770 + The dual must have the same key 0.001s
2771dev.tauri.choam.data.StackSpec_Treiber_Emcas_IO:
2772 + Stack push/pop 0.001s
2773 + Stack multiple ops in one Rxn 0.0s
2774 + Stack should include the elements passed to its constructor 0.001s
2775 + Multiple producers/consumers 0.017s
2776 + Elimination stack conflict after the elimination 5.236s
2777dev.tauri.choam.data.QueueMsSpec_ThreadConfinedMcas_IO:
2778 + Queue should include the elements passed to its constructor 0.001s
2779 + Queue transfer 0.001s
2780 + Queue should work correctly 0.0s
2781 + Queue multiple enq/deq in one Rxn 0.0s
2782==> s dev.tauri.choam.data.QueueMsSpec_ThreadConfinedMcas_IO.Queue parallel multiple enq/deq skipped 0.001s
2783 + MS-queue lagging tail 0.004s
2784dev.tauri.choam.data.QueueMsSpecJvm_SpinLockMcas_ZIO:
2785 + Queue should include the elements passed to its constructor 0.018s
2786 + Queue transfer 0.011s
2787 + Queue should work correctly 0.019s
2788 + Queue multiple enq/deq in one Rxn 0.006s
2789 + Queue parallel multiple enq/deq 0.433s
2790 + MS-queue lagging tail 0.011s
2791 + Queue should allow multiple producers and consumers 0.125s
2792dev.tauri.choam.data.QueueGcHostileSpec_ThreadConfinedMcas_IO:
2793 + Queue should include the elements passed to its constructor 0.004s
2794 + Queue transfer 0.001s
2795 + Queue should work correctly 0.0s
2796 + Queue multiple enq/deq in one Rxn 0.0s
2797==> s dev.tauri.choam.data.QueueGcHostileSpec_ThreadConfinedMcas_IO.Queue parallel multiple enq/deq skipped 0.001s
2798dev.tauri.choam.data.MapSpec_TtrieOrder_Emcas_SyncIO:
2799 + Map should perform put correctly 0.002s
2800 + Map should perform get correctly 0.0s
2801 + Map should perform del correctly 0.0s
2802 + Map should perform replace correctly 0.0s
2803 + Map should perform remove correctly 0.0s
2804 + Map should perform putIfAbsent correctly 0.001s
2805 + Map should support custom hash/eqv/order 0.0s
2806 + Map get should not find anything in an empty map 0.006s
2807 + Map get should find a previously inserted single key 0.004s
2808 + Map get should find all previously inserted keys 0.152s
2809 + Map get should find an equal key which is not equal according to universal equality 0.0s
2810 + Map del should remove the kv pair 0.001s
2811 + Map insertion should handle hash collisions correctly 0.018s
2812 + Resurrecting a tombed but uncommitted ref 0.0s
2813 + Map creation API 0.0s
2814 + Map#asCats (MapRef) 0.001s
2815 + Map should support null keys/values 0.042s
2816dev.tauri.choam.data.RefSpec_Map_TtrieHash_SpinLockMcas_IO:
2817 + ifM instead of guard/guardNot 0.001s
2818 + Ref#get 0.0s
2819 + Ref#update et. al. 0.0s
2820 + Ref#update 0.0s
2821 + Ref#update example 0.001s
2822 + Ref#modify et. al. 0.0s
2823 + Ref#flatModify 0.0s
2824 + Ref#getAndSet 0.0s
2825 + Ref#set 0.001s
2826 + RefLike#getAndUpd 0.0s
2827 + RefLike#updAndGet 0.001s
2828 + Ref#asCats 0.0s
2829 + CatsRef[Rxn, A] 0.0s
2830==> s dev.tauri.choam.data.RefSpec_Map_TtrieHash_SpinLockMcas_IO.Regular Ref shouldn't have .withListeners skipped 0.001s
2831 + Map put, update, del (sequential) 0.016s
2832 + Map put, update, del (parallel) 0.03s
2833 + Map unsafeSnapshot 0.009s
2834 + Setting ref to default value should remove from the map 0.0s
2835 + Map double get with concurrent insert 0.031s
2836 + Map double get with concurrent delete 0.049s
2837 + Ttrie insert/remove should not leak memory 0.344s
2838 + Ttrie failed lookups should not leak memory 0.095s
2839 + Ttrie removing not included keys should not leak memory 0.096s
2840dev.tauri.choam.data.CounterSpecStriped_Emcas_ZIO:
2841 + Counter functionality 0.011s
2842 + Multiple ops in one Rxn 0.002s
2843 + Parallel access 0.717s
2844dev.tauri.choam.core.ExchangerStatsSpecJvm_Emcas_IO:
2845 + Statistics 0.005s
2846 + An Exchanger and its dual must use the same key in a StatMap 0.019s
2847 + A StatMap must persist between different unsafePerform runs 0.017s
2848 + A StatMap must not prevent an Exchanger from being garbage collected 0.078s
2849dev.tauri.choam.data.MapSpecPar_TtrieHash_SpinLockMcas_IO:
2850 + Parallel get/put/del 1.84s
2851dev.tauri.choam.data.stm.TQueueSpecTicked_Direct_DefaultMcas_IO:
2852 + TQueue 0.031s
2853 + TQueue cancel take 0.032s
2854 + TQueue cancel take + put race 0.033s
2855 + TQueue ordered wakeup(?) 0.004s
2856dev.tauri.choam.data.RefSpec_Map_SimpleOrdered_SpinLockMcas_IO:
2857 + ifM instead of guard/guardNot 0.0s
2858 + Ref#get 0.003s
2859 + Ref#update et. al. 0.0s
2860 + Ref#update 0.0s
2861 + Ref#update example 0.0s
2862 + Ref#modify et. al. 0.0s
2863 + Ref#flatModify 0.001s
2864 + Ref#getAndSet 0.001s
2865 + Ref#set 0.0s
2866 + RefLike#getAndUpd 0.0s
2867 + RefLike#updAndGet 0.001s
2868 + Ref#asCats 0.0s
2869 + CatsRef[Rxn, A] 0.001s
2870==> s dev.tauri.choam.data.RefSpec_Map_SimpleOrdered_SpinLockMcas_IO.Regular Ref shouldn't have .withListeners skipped 0.001s
2871 + Map put, update, del (sequential) 0.032s
2872 + Map put, update, del (parallel) 0.064s
2873 + Map unsafeSnapshot 0.012s
2874 + Setting ref to default value should remove from the map 0.0s
2875 + Map double get with concurrent insert 0.03s
2876 + Map double get with concurrent delete 0.044s
2877dev.tauri.choam.data.QueueWithSizeSpecJvm_Emcas_IO:
2878 + Queue should include the elements passed to its constructor 0.004s
2879 + Queue transfer 0.001s
2880 + Queue should work correctly 0.0s
2881 + Queue multiple enq/deq in one Rxn 0.003s
2882 + Queue parallel multiple enq/deq 0.088s
2883 + Queue size composed with other ops 0.006s
2884 + Queue should allow multiple producers and consumers 0.055s
2885dev.tauri.choam.data.QueueWithRemoveSpecJvm_Emcas_ZIO:
2886 + Queue should include the elements passed to its constructor 0.001s
2887 + Queue transfer 0.001s
2888 + Queue should work correctly 0.0s
2889 + Queue multiple enq/deq in one Rxn 0.001s
2890 + Queue parallel multiple enq/deq 0.08s
2891 + Queue.WithRemove removers 0.012s
2892 + Queue.WithRemove removers with enq/deq 0.015s
2893 + Queue.WithRemove enq then remove 0.007s
2894 + Null element 0.016s
2895 + enqueueWithRemover 0.012s
2896 + Concurrent removals 0.036s
2897 + RemoveQueue#isEmpty 0.016s
2898 + RemoveQueue#peek 0.018s
2899 + Queue should allow multiple producers and consumers 0.041s
2900dev.tauri.choam.data.RingBufferSpec_Strict_Emcas:
2901 + RingBuffer property 0.068s
2902 + RingBuffer simple 0.016s
2903 + RingBuffer small 0.01s
2904 + RingBuffer multiple ops in one Rxn 0.003s
2905dev.tauri.choam.data.RingBufferSpec_Strict_ThreadConfinedMcas:
2906 + RingBuffer property 0.054s
2907 + RingBuffer simple 0.001s
2908 + RingBuffer small 0.001s
2909 + RingBuffer multiple ops in one Rxn 0.001s
2910dev.tauri.choam.data.SetSpec_Hash_SpinLockMcas_SyncIO:
2911 + Empty contains 0.003s
2912 + add / contains 0.033s
2913 + add / remove 0.038s
2914dev.tauri.choam.data.MapSpec_TtrieHash_Emcas_SyncIO:
2915 + Map should perform put correctly 0.0s
2916 + Map should perform get correctly 0.0s
2917 + Map should perform del correctly 0.0s
2918 + Map should perform replace correctly 0.0s
2919 + Map should perform remove correctly 0.0s
2920 + Map should perform putIfAbsent correctly 0.0s
2921 + Map should support custom hash/eqv/order 0.001s
2922 + Map get should not find anything in an empty map 0.003s
2923 + Map get should find a previously inserted single key 0.003s
2924 + Map get should find all previously inserted keys 0.07s
2925 + Map get should find an equal key which is not equal according to universal equality 0.0s
2926 + Map del should remove the kv pair 0.001s
2927 + Map insertion should handle hash collisions correctly 0.011s
2928 + Resurrecting a tombed but uncommitted ref 0.0s
2929 + Map creation API 0.0s
2930 + Map#asCats (MapRef) 0.0s
2931 + Map should support null keys/values 0.024s
2932dev.tauri.choam.data.RefSpec_Map_SimpleOrdered_Emcas_IO:
2933 + ifM instead of guard/guardNot 0.0s
2934 + Ref#get 0.0s
2935 + Ref#update et. al. 0.001s
2936 + Ref#update 0.0s
2937 + Ref#update example 0.001s
2938 + Ref#modify et. al. 0.0s
2939 + Ref#flatModify 0.0s
2940 + Ref#getAndSet 0.0s
2941 + Ref#set 0.001s
2942 + RefLike#getAndUpd 0.0s
2943 + RefLike#updAndGet 0.0s
2944 + Ref#asCats 0.0s
2945 + CatsRef[Rxn, A] 0.0s
2946==> s dev.tauri.choam.data.RefSpec_Map_SimpleOrdered_Emcas_IO.Regular Ref shouldn't have .withListeners skipped 0.001s
2947 + Map put, update, del (sequential) 0.014s
2948 + Map put, update, del (parallel) 0.04s
2949 + Map unsafeSnapshot 0.004s
2950 + Setting ref to default value should remove from the map 0.0s
2951 + Map double get with concurrent insert 0.016s
2952 + Map double get with concurrent delete 0.023s
2953dev.tauri.choam.data.RefSpec_Map_SimpleHash_ThreadConfinedMcas_IO:
2954 + ifM instead of guard/guardNot 0.0s
2955 + Ref#get 0.0s
2956 + Ref#update et. al. 0.001s
2957 + Ref#update 0.0s
2958 + Ref#update example 0.0s
2959 + Ref#modify et. al. 0.001s
2960 + Ref#flatModify 0.0s
2961 + Ref#getAndSet 0.0s
2962 + Ref#set 0.0s
2963 + RefLike#getAndUpd 0.0s
2964 + RefLike#updAndGet 0.0s
2965 + Ref#asCats 0.003s
2966 + CatsRef[Rxn, A] 0.0s
2967==> s dev.tauri.choam.data.RefSpec_Map_SimpleHash_ThreadConfinedMcas_IO.Regular Ref shouldn't have .withListeners skipped 0.001s
2968 + Map put, update, del (sequential) 0.015s
2969==> s dev.tauri.choam.data.RefSpec_Map_SimpleHash_ThreadConfinedMcas_IO.Map put, update, del (parallel) skipped 0.0s
2970 + Map unsafeSnapshot 0.006s
2971 + Setting ref to default value should remove from the map 0.0s
2972==> s dev.tauri.choam.data.RefSpec_Map_SimpleHash_ThreadConfinedMcas_IO.Map double get with concurrent insert skipped 0.003s
2973==> s dev.tauri.choam.data.RefSpec_Map_SimpleHash_ThreadConfinedMcas_IO.Map double get with concurrent delete skipped 0.0s
2974dev.tauri.choam.data.RingBufferSpec_Lazy_ThreadConfinedMcas:
2975 + RingBuffer property 0.064s
2976 + RingBuffer simple 0.001s
2977 + RingBuffer small 0.0s
2978 + RingBuffer multiple ops in one Rxn 0.0s
2979dev.tauri.choam.data.QueueWithRemoveSpecJvm_SpinLockMcas_IO:
2980 + Queue should include the elements passed to its constructor 0.0s
2981 + Queue transfer 0.001s
2982 + Queue should work correctly 0.0s
2983 + Queue multiple enq/deq in one Rxn 0.0s
2984 + Queue parallel multiple enq/deq 0.052s
2985 + Queue.WithRemove removers 0.0s
2986 + Queue.WithRemove removers with enq/deq 0.0s
2987 + Queue.WithRemove enq then remove 0.001s
2988 + Null element 0.0s
2989 + enqueueWithRemover 0.0s
2990 + Concurrent removals 0.021s
2991 + RemoveQueue#isEmpty 0.0s
2992 + RemoveQueue#peek 0.0s
2993 + Queue should allow multiple producers and consumers 0.044s
2994dev.tauri.choam.data.RefSpec_Map_TtrieOrder_Emcas_IO:
2995 + ifM instead of guard/guardNot 0.0s
2996 + Ref#get 0.0s
2997 + Ref#update et. al. 0.001s
2998 + Ref#update 0.0s
2999 + Ref#update example 0.0s
3000 + Ref#modify et. al. 0.0s
3001 + Ref#flatModify 0.0s
3002 + Ref#getAndSet 0.001s
3003 + Ref#set 0.0s
3004 + RefLike#getAndUpd 0.0s
3005 + RefLike#updAndGet 0.0s
3006 + Ref#asCats 0.0s
3007 + CatsRef[Rxn, A] 0.004s
3008==> s dev.tauri.choam.data.RefSpec_Map_TtrieOrder_Emcas_IO.Regular Ref shouldn't have .withListeners skipped 0.0s
3009 + Map put, update, del (sequential) 0.024s
3010 + Map put, update, del (parallel) 0.026s
3011 + Map unsafeSnapshot 0.005s
3012 + Setting ref to default value should remove from the map 0.0s
3013 + Map double get with concurrent insert 0.022s
3014 + Map double get with concurrent delete 0.03s
3015 + Ttrie insert/remove should not leak memory 0.201s
3016 + Ttrie failed lookups should not leak memory 0.104s
3017 + Ttrie removing not included keys should not leak memory 0.086s
3018dev.tauri.choam.data.QueueMsSpecJvm_SpinLockMcas_IO:
3019 + Queue should include the elements passed to its constructor 0.0s
3020 + Queue transfer 0.0s
3021 + Queue should work correctly 0.001s
3022 + Queue multiple enq/deq in one Rxn 0.0s
3023 + Queue parallel multiple enq/deq 0.031s
3024 + MS-queue lagging tail 0.0s
3025 + Queue should allow multiple producers and consumers 0.026s
3026dev.tauri.choam.data.QueueSourceSinkSpecJvm_Emcas_IO:
3027 + QueueSourceSink enq/deq 0.001s
3028 + QueueSourceSink multiple ops in one Rxn 0.0s
3029dev.tauri.choam.data.RefSpec_Map_SimpleOrdered_ThreadConfinedMcas_IO:
3030 + ifM instead of guard/guardNot 0.0s
3031 + Ref#get 0.001s
3032 + Ref#update et. al. 0.0s
3033 + Ref#update 0.0s
3034 + Ref#update example 0.0s
3035 + Ref#modify et. al. 0.001s
3036 + Ref#flatModify 0.0s
3037 + Ref#getAndSet 0.0s
3038 + Ref#set 0.0s
3039 + RefLike#getAndUpd 0.0s
3040 + RefLike#updAndGet 0.0s
3041 + Ref#asCats 0.0s
3042 + CatsRef[Rxn, A] 0.0s
3043==> s dev.tauri.choam.data.RefSpec_Map_SimpleOrdered_ThreadConfinedMcas_IO.Regular Ref shouldn't have .withListeners skipped 0.0s
3044 + Map put, update, del (sequential) 0.014s
3045==> s dev.tauri.choam.data.RefSpec_Map_SimpleOrdered_ThreadConfinedMcas_IO.Map put, update, del (parallel) skipped 0.001s
3046 + Map unsafeSnapshot 0.005s
3047 + Setting ref to default value should remove from the map 0.0s
3048==> s dev.tauri.choam.data.RefSpec_Map_SimpleOrdered_ThreadConfinedMcas_IO.Map double get with concurrent insert skipped 0.0s
3049==> s dev.tauri.choam.data.RefSpec_Map_SimpleOrdered_ThreadConfinedMcas_IO.Map double get with concurrent delete skipped 0.001s
3050dev.tauri.choam.data.MapSpec_SimpleOrdered_Emcas_SyncIO:
3051 + Map should perform put correctly 0.0s
3052 + Map should perform get correctly 0.0s
3053 + Map should perform del correctly 0.001s
3054 + Map should perform replace correctly 0.0s
3055 + Map should perform remove correctly 0.003s
3056 + Map should perform putIfAbsent correctly 0.0s
3057 + Map should support custom hash/eqv/order 0.0s
3058 + Map get should not find anything in an empty map 0.004s
3059 + Map get should find a previously inserted single key 0.001s
3060 + Map get should find all previously inserted keys 0.052s
3061 + Map get should find an equal key which is not equal according to universal equality 0.0s
3062 + Map del should remove the kv pair 0.0s
3063 + Map insertion should handle hash collisions correctly 0.013s
3064 + Resurrecting a tombed but uncommitted ref 0.0s
3065 + Map creation API 0.0s
3066 + Map#asCats (MapRef) 0.0s
3067 + Map should support null keys/values 0.018s
3068 + Map.Extra should perform `clear` correctly 0.0s
3069 + Map.Extra should perform `keys` correctly 0.0s
3070 + Map.Extra should perform `values` correctly 0.001s
3071 + Map.Extra should perform `items` correctly 0.0s
3072dev.tauri.choam.data.MapSpecPar_TtrieOrder_SpinLockMcas_IO:
3073 + Parallel get/put/del 1.537s
3074dev.tauri.choam.data.MapSpec_TtrieHash_ThreadConfinedMcas_SyncIO:
3075 + Map should perform put correctly 0.001s
3076 + Map should perform get correctly 0.0s
3077 + Map should perform del correctly 0.0s
3078 + Map should perform replace correctly 0.001s
3079 + Map should perform remove correctly 0.0s
3080 + Map should perform putIfAbsent correctly 0.0s
3081 + Map should support custom hash/eqv/order 0.0s
3082 + Map get should not find anything in an empty map 0.001s
3083 + Map get should find a previously inserted single key 0.002s
3084 + Map get should find all previously inserted keys 0.033s
3085 + Map get should find an equal key which is not equal according to universal equality 0.001s
3086 + Map del should remove the kv pair 0.0s
3087 + Map insertion should handle hash collisions correctly 0.01s
3088 + Resurrecting a tombed but uncommitted ref 0.0s
3089 + Map creation API 0.001s
3090 + Map#asCats (MapRef) 0.0s
3091 + Map should support null keys/values 0.019s
3092dev.tauri.choam.data.ExchangerSpecJvm_Emcas_IO:
3093 + Simple exchange 0.006s
3094 + One side transient failure 0.003s
3095 + One side doesn't do exchange 0.049s
3096 + Post-commit action can touch the same Refs 0.012s
3097 + Exchange with postCommits on both sides 0.064s
3098 + 2 Exchangers in 1 Rxn (second never succeeds) 0.21s
3099 + 2 Exchangers in 1 Rxn (second must succeed) 0.003s
3100 + Merging of non-disjoint logs must be detected, and cause a retry 3.211s
3101 + The 2 `Rxn`s run with separated logs 0.063s
3102dev.tauri.choam.data.UnboundedDequeSpec_DefaultMcas_ZIO:
3103 + Basics 0.008s
3104dev.tauri.choam.data.StackSpec_Elimination2_SpinLockMcas_IO:
3105 + Multiple producers/consumers 0.021s
3106 + Elimination stack conflict after the elimination 5.273s
3107 + Elimination stack conflict before the elimination 3.634s
3108 + Stack push/pop 0.0s
3109 + Stack multiple ops in one Rxn 0.0s
3110 + Stack should include the elements passed to its constructor 0.001s
3111dev.tauri.choam.data.CounterSpecStriped_ThreadConfinedMcas_IO:
3112 + Counter functionality 0.0s
3113 + Multiple ops in one Rxn 0.0s
3114dev.tauri.choam.data.CounterSpecStriped_Emcas_IO:
3115 + Counter functionality 0.001s
3116 + Multiple ops in one Rxn 0.0s
3117 + Parallel access 0.237s
3118dev.tauri.choam.data.MapSpecPar_TtrieOrder_Emcas_IO:
3119 + Parallel get/put/del 2.939s
3120dev.tauri.choam.core.ExchangerStatsSpecJvm_Emcas_ZIO:
3121 + Statistics 0.0s
3122 + An Exchanger and its dual must use the same key in a StatMap 0.012s
3123 + A StatMap must persist between different unsafePerform runs 0.011s
3124==> s dev.tauri.choam.core.ExchangerStatsSpecJvm_Emcas_ZIO.A StatMap must not prevent an Exchanger from being garbage collected skipped 0.019s
3125dev.tauri.choam.data.RingBufferSpec_Lazy_Emcas:
3126 + RingBuffer property 0.021s
3127 + RingBuffer simple 0.001s
3128 + RingBuffer small 0.001s
3129 + RingBuffer multiple ops in one Rxn 0.0s
3130dev.tauri.choam.data.DroppingQueueSpec_SpinLockMcas:
3131 + Dropping property 0.058s
3132 + DroppingQueue simple 0.001s
3133 + DroppingQueue multiple ops in one Rxn 0.0s
3134dev.tauri.choam.data.QueueMsSpecJvm_Emcas_ZIO:
3135 + Queue should include the elements passed to its constructor 0.001s
3136 + Queue transfer 0.001s
3137 + Queue should work correctly 0.001s
3138 + Queue multiple enq/deq in one Rxn 0.001s
3139 + Queue parallel multiple enq/deq 0.048s
3140 + MS-queue lagging tail 0.001s
3141 + Queue should allow multiple producers and consumers 0.035s
3142dev.tauri.choam.data.SetSpec_Ordered_SpinLockMcas_SyncIO:
3143 + Empty contains 0.005s
3144 + add / contains 0.033s
3145 + add / remove 0.026s
3146dev.tauri.choam.data.SetSpec_Hash_ThreadConfinedMcas_SyncIO:
3147 + Empty contains 0.001s
3148 + add / contains 0.015s
3149 + add / remove 0.017s
3150dev.tauri.choam.data.MapSpec_SimpleOrdered_SpinLockMcas_SyncIO:
3151 + Map should perform put correctly 0.0s
3152 + Map should perform get correctly 0.0s
3153 + Map should perform del correctly 0.0s
3154 + Map should perform replace correctly 0.001s
3155 + Map should perform remove correctly 0.0s
3156 + Map should perform putIfAbsent correctly 0.0s
3157 + Map should support custom hash/eqv/order 0.0s
3158 + Map get should not find anything in an empty map 0.001s
3159 + Map get should find a previously inserted single key 0.002s
3160 + Map get should find all previously inserted keys 0.047s
3161 + Map get should find an equal key which is not equal according to universal equality 0.0s
3162 + Map del should remove the kv pair 0.0s
3163 + Map insertion should handle hash collisions correctly 0.008s
3164 + Resurrecting a tombed but uncommitted ref 0.0s
3165 + Map creation API 0.0s
3166 + Map#asCats (MapRef) 0.0s
3167 + Map should support null keys/values 0.022s
3168 + Map.Extra should perform `clear` correctly 0.001s
3169 + Map.Extra should perform `keys` correctly 0.0s
3170 + Map.Extra should perform `values` correctly 0.0s
3171 + Map.Extra should perform `items` correctly 0.0s
3172dev.tauri.choam.data.MapSpec_TtrieOrder_SpinLockMcas_SyncIO:
3173 + Map should perform put correctly 0.001s
3174 + Map should perform get correctly 0.0s
3175 + Map should perform del correctly 0.0s
3176 + Map should perform replace correctly 0.001s
3177 + Map should perform remove correctly 0.0s
3178 + Map should perform putIfAbsent correctly 0.0s
3179 + Map should support custom hash/eqv/order 0.0s
3180 + Map get should not find anything in an empty map 0.002s
3181 + Map get should find a previously inserted single key 0.003s
3182 + Map get should find all previously inserted keys 0.037s
3183 + Map get should find an equal key which is not equal according to universal equality 0.001s
3184 + Map del should remove the kv pair 0.0s
3185 + Map insertion should handle hash collisions correctly 0.01s
3186 + Resurrecting a tombed but uncommitted ref 0.0s
3187 + Map creation API 0.0s
3188 + Map#asCats (MapRef) 0.0s
3189 + Map should support null keys/values 0.022s
3190dev.tauri.choam.data.QueueWithRemoveSpecJvm_Emcas_IO:
3191 + Queue should include the elements passed to its constructor 0.001s
3192 + Queue transfer 0.0s
3193 + Queue should work correctly 0.0s
3194 + Queue multiple enq/deq in one Rxn 0.001s
3195 + Queue parallel multiple enq/deq 0.031s
3196 + Queue.WithRemove removers 0.001s
3197 + Queue.WithRemove removers with enq/deq 0.0s
3198 + Queue.WithRemove enq then remove 0.0s
3199 + Null element 0.001s
3200 + enqueueWithRemover 0.0s
3201 + Concurrent removals 0.017s
3202 + RemoveQueue#isEmpty 0.001s
3203 + RemoveQueue#peek 0.0s
3204 + Queue should allow multiple producers and consumers 0.028s
3205dev.tauri.choam.data.RefSpec_Map_TtrieHash_ThreadConfinedMcas_IO:
3206 + ifM instead of guard/guardNot 0.004s
3207 + Ref#get 0.0s
3208 + Ref#update et. al. 0.001s
3209 + Ref#update 0.0s
3210 + Ref#update example 0.0s
3211 + Ref#modify et. al. 0.0s
3212 + Ref#flatModify 0.0s
3213 + Ref#getAndSet 0.001s
3214 + Ref#set 0.0s
3215 + RefLike#getAndUpd 0.0s
3216 + RefLike#updAndGet 0.0s
3217 + Ref#asCats 0.0s
3218 + CatsRef[Rxn, A] 0.001s
3219==> s dev.tauri.choam.data.RefSpec_Map_TtrieHash_ThreadConfinedMcas_IO.Regular Ref shouldn't have .withListeners skipped 0.0s
3220 + Map put, update, del (sequential) 0.018s
3221==> s dev.tauri.choam.data.RefSpec_Map_TtrieHash_ThreadConfinedMcas_IO.Map put, update, del (parallel) skipped 0.0s
3222 + Map unsafeSnapshot 0.007s
3223 + Setting ref to default value should remove from the map 0.0s
3224==> s dev.tauri.choam.data.RefSpec_Map_TtrieHash_ThreadConfinedMcas_IO.Map double get with concurrent insert skipped 0.0s
3225==> s dev.tauri.choam.data.RefSpec_Map_TtrieHash_ThreadConfinedMcas_IO.Map double get with concurrent delete skipped 0.001s
3226==> s dev.tauri.choam.data.RefSpec_Map_TtrieHash_ThreadConfinedMcas_IO.Ttrie insert/remove should not leak memory skipped 0.0s
3227==> s dev.tauri.choam.data.RefSpec_Map_TtrieHash_ThreadConfinedMcas_IO.Ttrie failed lookups should not leak memory skipped 0.001s
3228==> s dev.tauri.choam.data.RefSpec_Map_TtrieHash_ThreadConfinedMcas_IO.Ttrie removing not included keys should not leak memory skipped 0.0s
3229dev.tauri.choam.data.RingBufferSpec_Strict_SpinLockMcas:
3230 + RingBuffer property 0.039s
3231 + RingBuffer simple 0.001s
3232 + RingBuffer small 0.001s
3233 + RingBuffer multiple ops in one Rxn 0.0s
3234dev.tauri.choam.data.MapSpecPar_TtrieHash_Emcas_IO:
3235 + Parallel get/put/del 2.949s
3236dev.tauri.choam.data.EliminatorSpecJvm_Emcas_ZIO:
3237 + Eliminator.apply 0.002s
3238 + Eliminator.tagged 0.001s
3239 + EliminationStackForTesting (basic) 0.001s
3240 + EliminationStack2 (basic) 0.002s
3241 + EliminationStackForTesting (elimination) 2.84s
3242 + EliminationStackForTesting (overlapping descriptors) 0.003s
3243 + EliminationStack (elimination) 2.764s
3244 + EliminationStack (overlapping descriptors) 0.003s
3245 + Eliminator.tagged (parallel) 0.742s
3246 + EliminationStack.tagged 3.067s
3247 + EliminationStack.taggedFlaky 2.402s
3248dev.tauri.choam.data.MapSpec_TtrieOrder_ThreadConfinedMcas_SyncIO:
3249 + Map should perform put correctly 0.001s
3250 + Map should perform get correctly 0.001s
3251 + Map should perform del correctly 0.0s
3252 + Map should perform replace correctly 0.0s
3253 + Map should perform remove correctly 0.0s
3254 + Map should perform putIfAbsent correctly 0.0s
3255 + Map should support custom hash/eqv/order 0.0s
3256 + Map get should not find anything in an empty map 0.001s
3257 + Map get should find a previously inserted single key 0.001s
3258 + Map get should find all previously inserted keys 0.038s
3259 + Map get should find an equal key which is not equal according to universal equality 0.0s
3260 + Map del should remove the kv pair 0.0s
3261 + Map insertion should handle hash collisions correctly 0.01s
3262 + Resurrecting a tombed but uncommitted ref 0.0s
3263 + Map creation API 0.0s
3264 + Map#asCats (MapRef) 0.0s
3265 + Map should support null keys/values 0.021s
3266dev.tauri.choam.data.CounterSpecSimple_Emcas_ZIO:
3267 + Counter functionality 0.001s
3268 + Multiple ops in one Rxn 0.0s
3269 + Parallel access 0.284s
3270dev.tauri.choam.data.QueueGcHostileSpecJvm_Emcas_IO:
3271 + Queue should include the elements passed to its constructor 0.001s
3272 + Queue transfer 0.0s
3273 + Queue should work correctly 0.001s
3274 + Queue multiple enq/deq in one Rxn 0.0s
3275 + Queue parallel multiple enq/deq 0.057s
3276 + Queue should allow multiple producers and consumers 0.034s
3277dev.tauri.choam.data.RefSpec_Map_SimpleHash_SpinLockMcas_IO:
3278 + ifM instead of guard/guardNot 0.0s
3279 + Ref#get 0.0s
3280 + Ref#update et. al. 0.001s
3281 + Ref#update 0.0s
3282 + Ref#update example 0.0s
3283 + Ref#modify et. al. 0.0s
3284 + Ref#flatModify 0.0s
3285 + Ref#getAndSet 0.001s
3286 + Ref#set 0.0s
3287 + RefLike#getAndUpd 0.0s
3288 + RefLike#updAndGet 0.0s
3289 + Ref#asCats 0.001s
3290 + CatsRef[Rxn, A] 0.0s
3291==> s dev.tauri.choam.data.RefSpec_Map_SimpleHash_SpinLockMcas_IO.Regular Ref shouldn't have .withListeners skipped 0.004s
3292 + Map put, update, del (sequential) 0.014s
3293 + Map put, update, del (parallel) 0.032s
3294 + Map unsafeSnapshot 0.005s
3295 + Setting ref to default value should remove from the map 0.0s
3296 + Map double get with concurrent insert 0.023s
3297 + Map double get with concurrent delete 0.022s
3298dev.tauri.choam.data.RefSpec_Map_SimpleHash_Emcas_IO:
3299 + ifM instead of guard/guardNot 0.001s
3300 + Ref#get 0.0s
3301 + Ref#update et. al. 0.0s
3302 + Ref#update 0.0s
3303 + Ref#update example 0.001s
3304 + Ref#modify et. al. 0.0s
3305 + Ref#flatModify 0.0s
3306 + Ref#getAndSet 0.0s
3307 + Ref#set 0.0s
3308 + RefLike#getAndUpd 0.001s
3309 + RefLike#updAndGet 0.0s
3310 + Ref#asCats 0.0s
3311 + CatsRef[Rxn, A] 0.0s
3312==> s dev.tauri.choam.data.RefSpec_Map_SimpleHash_Emcas_IO.Regular Ref shouldn't have .withListeners skipped 0.003s
3313 + Map put, update, del (sequential) 0.013s
3314 + Map put, update, del (parallel) 0.031s
3315 + Map unsafeSnapshot 0.005s
3316 + Setting ref to default value should remove from the map 0.001s
3317 + Map double get with concurrent insert 0.01s
3318 + Map double get with concurrent delete 0.018s
3319dev.tauri.choam.data.RingBufferSpec_Lazy_SpinLockMcas:
3320 + RingBuffer property 0.031s
3321 + RingBuffer simple 0.001s
3322 + RingBuffer small 0.0s
3323 + RingBuffer multiple ops in one Rxn 0.001s
3324dev.tauri.choam.data.QueueWithRemoveSpecJvm_SpinLockMcas_ZIO:
3325 + Queue should include the elements passed to its constructor 0.001s
3326 + Queue transfer 0.001s
3327 + Queue should work correctly 0.0s
3328 + Queue multiple enq/deq in one Rxn 0.0s
3329 + Queue parallel multiple enq/deq 0.036s
3330 + Queue.WithRemove removers 0.001s
3331 + Queue.WithRemove removers with enq/deq 0.001s
3332 + Queue.WithRemove enq then remove 0.0s
3333 + Null element 0.001s
3334 + enqueueWithRemover 0.0s
3335 + Concurrent removals 0.015s
3336 + RemoveQueue#isEmpty 0.001s
3337 + RemoveQueue#peek 0.001s
3338 + Queue should allow multiple producers and consumers 0.032s
3339dev.tauri.choam.data.QueueMsSpecJvm_Emcas_IO:
3340 + Queue should include the elements passed to its constructor 0.001s
3341 + Queue transfer 0.0s
3342 + Queue should work correctly 0.001s
3343 + Queue multiple enq/deq in one Rxn 0.0s
3344 + Queue parallel multiple enq/deq 0.031s
3345 + MS-queue lagging tail 0.0s
3346 + Queue should allow multiple producers and consumers 0.028s
3347dev.tauri.choam.data.QueueWithSizeSpec_ThreadConfinedMcas_IO:
3348 + Queue should include the elements passed to its constructor 0.0s
3349 + Queue transfer 0.001s
3350 + Queue should work correctly 0.001s
3351 + Queue multiple enq/deq in one Rxn 0.002s
3352==> s dev.tauri.choam.data.QueueWithSizeSpec_ThreadConfinedMcas_IO.Queue parallel multiple enq/deq skipped 0.0s
3353 + Queue size composed with other ops 0.001s
3354dev.tauri.choam.data.MapSpec_SimpleHash_Emcas_SyncIO:
3355 + Map should perform put correctly 0.0s
3356 + Map should perform get correctly 0.001s
3357 + Map should perform del correctly 0.0s
3358 + Map should perform replace correctly 0.0s
3359 + Map should perform remove correctly 0.0s
3360 + Map should perform putIfAbsent correctly 0.0s
3361 + Map should support custom hash/eqv/order 0.001s
3362 + Map get should not find anything in an empty map 0.0s
3363 + Map get should find a previously inserted single key 0.001s
3364 + Map get should find all previously inserted keys 0.03s
3365 + Map get should find an equal key which is not equal according to universal equality 0.0s
3366 + Map del should remove the kv pair 0.001s
3367 + Map insertion should handle hash collisions correctly 0.009s
3368 + Resurrecting a tombed but uncommitted ref 0.0s
3369 + Map creation API 0.0s
3370 + Map#asCats (MapRef) 0.0s
3371 + Map should support null keys/values 0.018s
3372 + Map.Extra should perform `clear` correctly 0.0s
3373 + Map.Extra should perform `keys` correctly 0.001s
3374 + Map.Extra should perform `values` correctly 0.0s
3375 + Map.Extra should perform `items` correctly 0.0s
3376dev.tauri.choam.data.stm.TQueueSpecTicked_Wrapped_DefaultMcas_IO:
3377 + TQueue 0.013s
3378 + TQueue cancel take 0.017s
3379 + TQueue cancel take + put race 0.012s
3380 + TQueue ordered wakeup(?) 0.001s
3381dev.tauri.choam.data.RefSpec_Map_TtrieOrder_ThreadConfinedMcas_IO:
3382 + ifM instead of guard/guardNot 0.0s
3383 + Ref#get 0.0s
3384 + Ref#update et. al. 0.0s
3385 + Ref#update 0.0s
3386 + Ref#update example 0.001s
3387 + Ref#modify et. al. 0.0s
3388 + Ref#flatModify 0.0s
3389 + Ref#getAndSet 0.0s
3390 + Ref#set 0.001s
3391 + RefLike#getAndUpd 0.0s
3392 + RefLike#updAndGet 0.0s
3393 + Ref#asCats 0.0s
3394 + CatsRef[Rxn, A] 0.001s
3395==> s dev.tauri.choam.data.RefSpec_Map_TtrieOrder_ThreadConfinedMcas_IO.Regular Ref shouldn't have .withListeners skipped 0.0s
3396 + Map put, update, del (sequential) 0.019s
3397==> s dev.tauri.choam.data.RefSpec_Map_TtrieOrder_ThreadConfinedMcas_IO.Map put, update, del (parallel) skipped 0.001s
3398 + Map unsafeSnapshot 0.008s
3399 + Setting ref to default value should remove from the map 0.0s
3400==> s dev.tauri.choam.data.RefSpec_Map_TtrieOrder_ThreadConfinedMcas_IO.Map double get with concurrent insert skipped 0.0s
3401==> s dev.tauri.choam.data.RefSpec_Map_TtrieOrder_ThreadConfinedMcas_IO.Map double get with concurrent delete skipped 0.0s
3402==> s dev.tauri.choam.data.RefSpec_Map_TtrieOrder_ThreadConfinedMcas_IO.Ttrie insert/remove should not leak memory skipped 0.001s
3403==> s dev.tauri.choam.data.RefSpec_Map_TtrieOrder_ThreadConfinedMcas_IO.Ttrie failed lookups should not leak memory skipped 0.0s
3404==> s dev.tauri.choam.data.RefSpec_Map_TtrieOrder_ThreadConfinedMcas_IO.Ttrie removing not included keys should not leak memory skipped 0.0s
3405dev.tauri.choam.data.SetSpec_Hash_Emcas_SyncIO:
3406 + Empty contains 0.002s
3407 + add / contains 0.018s
3408 + add / remove 0.028s
3409dev.tauri.choam.data.RefSpec_Map_TtrieOrder_SpinLockMcas_IO:
3410 + ifM instead of guard/guardNot 0.0s
3411 + Ref#get 0.0s
3412 + Ref#update et. al. 0.0s
3413 + Ref#update 0.001s
3414 + Ref#update example 0.0s
3415 + Ref#modify et. al. 0.0s
3416 + Ref#flatModify 0.0s
3417 + Ref#getAndSet 0.001s
3418 + Ref#set 0.0s
3419 + RefLike#getAndUpd 0.0s
3420 + RefLike#updAndGet 0.0s
3421 + Ref#asCats 0.001s
3422 + CatsRef[Rxn, A] 0.0s
3423==> s dev.tauri.choam.data.RefSpec_Map_TtrieOrder_SpinLockMcas_IO.Regular Ref shouldn't have .withListeners skipped 0.0s
3424 + Map put, update, del (sequential) 0.012s
3425 + Map put, update, del (parallel) 0.037s
3426 + Map unsafeSnapshot 0.011s
3427 + Setting ref to default value should remove from the map 0.0s
3428 + Map double get with concurrent insert 0.025s
3429 + Map double get with concurrent delete 0.026s
3430 + Ttrie insert/remove should not leak memory 0.291s
3431 + Ttrie failed lookups should not leak memory 0.129s
3432 + Ttrie removing not included keys should not leak memory 0.124s
3433dev.tauri.choam.data.CounterSpecSimple_ThreadConfinedMcas_IO:
3434 + Counter functionality 0.001s
3435 + Multiple ops in one Rxn 0.0s
3436dev.tauri.choam.data.EliminatorSpecJvm_Emcas_IO:
3437 + Eliminator.apply 0.0s
3438 + Eliminator.tagged 0.001s
3439 + EliminationStackForTesting (basic) 0.0s
3440 + EliminationStack2 (basic) 0.0s
3441 + EliminationStackForTesting (elimination) 3.644s
3442 + EliminationStackForTesting (overlapping descriptors) 0.0s
3443 + EliminationStack (elimination) 3.623s
3444 + EliminationStack (overlapping descriptors) 0.0s
3445 + Eliminator.tagged (parallel) 0.916s
3446 + EliminationStack.tagged 4.113s
3447 + EliminationStack.taggedFlaky 2.862s
3448dev.tauri.choam.data.ExchangerSpecJvm_Emcas_ZIO:
3449 + Simple exchange 0.005s
3450 + One side transient failure 0.008s
3451 + One side doesn't do exchange 0.007s
3452 + Post-commit action can touch the same Refs 0.021s
3453 + Exchange with postCommits on both sides 0.037s
3454 + 2 Exchangers in 1 Rxn (second never succeeds) 0.017s
3455 + 2 Exchangers in 1 Rxn (second must succeed) 0.007s
3456 + Merging of non-disjoint logs must be detected, and cause a retry 3.342s
3457 + The 2 `Rxn`s run with separated logs 0.053s
3458Starting build for ProjectRef(file:/build/repo/,zi) (choam-zi)... [5/10]
3459Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -Xkind-projector, --java-output-version:17, 11, -language:higherKinds, -no-indent, -Xverify-signatures, -Wconf:any:v,cat=deprecation:s,id=E147:s,id=E175:s, -Wunused:all, -Ycheck-all-patmat, -Xcheck-macros, -Xsemanticdb, -semanticdb-target, /build/repo/zi/jvm/target/scala-3.8.0-RC3/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
3460[info] compiling 3 Scala sources to /build/repo/zi/jvm/target/scala-3.8.0-RC3/classes ...
3461[info] done compiling
3462[info] compiling 1 Scala source to /build/repo/zi/jvm/target/scala-3.8.0-RC3/test-classes ...
3463[info] done compiling
3464WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
3465WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_3/3.8.0-RC3/scala3-library_3-3.8.0-RC3.jar)
3466WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
3467WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
3468dev.tauri.choam.zi.MixinSpec:
3469 + RxnAppMixin 0.474s
3470 + TxnAppMixin 0.036s
3471 + Both (1) 0.009s
3472 + Both (2) 0.005s
3473Starting build for ProjectRef(file:/build/repo/,profiler) (choam-profiler)... [6/10]
3474Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -Xkind-projector, --java-output-version:17, 11, -language:higherKinds, -no-indent, -Xverify-signatures, -Wconf:any:v,cat=deprecation:s,id=E147:s,id=E175:s, -Wunused:all, -Ycheck-all-patmat, -Xcheck-macros, -Xsemanticdb, -semanticdb-target, /build/repo/profiler/target/scala-3.8.0-RC3/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
3475[info] compiling 1 Scala source to /build/repo/profiler/target/scala-3.8.0-RC3/classes ...
3476[info] done compiling
3477[info] compiling 1 Scala source to /build/repo/profiler/target/scala-3.8.0-RC3/test-classes ...
3478[info] done compiling
3479WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
3480WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_3/3.8.0-RC3/scala3-library_3-3.8.0-RC3.jar)
3481WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
3482WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
3483dev.tauri.choam.profiler.RxnProfilerSpecIO:
3484 + baseline 0.315s
3485 + config 0.036s
3486 + rxn.retriesPerCommit 0.347s
3487 + rxn.exchanges 0.023s
3488Starting build for ProjectRef(file:/build/repo/,internal) (choam-internal)... [7/10]
3489Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -Xkind-projector, --java-output-version:17, 11, -language:higherKinds, -no-indent, -Xverify-signatures, -Wconf:any:v,cat=deprecation:s,id=E147:s,id=E175:s, -Wunused:all, -Ycheck-all-patmat, -Xcheck-macros, -Xsemanticdb, -semanticdb-target, /build/repo/internal/jvm/target/scala-3.8.0-RC3/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
3490WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
3491WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_3/3.8.0-RC3/scala3-library_3-3.8.0-RC3.jar)
3492WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
3493WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
3494dev.tauri.choam.internal.LazyIdempotentSpecPar:
3495 + race 0.155s
3496dev.tauri.choam.internal.LazyIdempotentSpec:
3497 + simple 0.007s
3498 + full 0.006s
3499dev.tauri.choam.internal.AssertSpec:
3500 + _assert should be enabled during tests (for now) 0.001s
3501dev.tauri.choam.internal.VarHandleHelperSpec:
3502 + withInvokeExactBehavior 0.006s
3503Starting build for ProjectRef(file:/build/repo/,async) (choam-async)... [8/10]
3504Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -Xkind-projector, --java-output-version:17, 11, -language:higherKinds, -no-indent, -Xverify-signatures, -Wconf:any:v,cat=deprecation:s,id=E147:s,id=E175:s, -Wunused:all, -Ycheck-all-patmat, -Xcheck-macros, -Xsemanticdb, -semanticdb-target, /build/repo/async/jvm/target/scala-3.8.0-RC3/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
3505WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
3506WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_3/3.8.0-RC3/scala3-library_3-3.8.0-RC3.jar)
3507WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
3508WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
3509dev.tauri.choam.async.CountDownLatchSpec_ThreadConfinedMcas_IO_Real:
3510==> s dev.tauri.choam.async.CountDownLatchSpec_ThreadConfinedMcas_IO_Real.Release race skipped 0.301s
3511 + Releasing a completed CDL should not be a no-op 0.025s
3512==> s dev.tauri.choam.async.CountDownLatchSpec_ThreadConfinedMcas_IO_Real.CountDownLatch#asCats skipped 0.002s
3513dev.tauri.choam.async.UnboundedQueueSpec_WithSize_EMCAS_ZIO:
3514 + UnboundedQueue non-empty take 0.361s
3515 + UnboundedQueue empty take 0.051s
3516 + UnboundedQueue more enq in one Rxn 0.029s
3517 + UnboundedQueue enq and deq in one Rxn 0.02s
3518 + UnboundedQueue.WithSize#asCats 0.024s
3519dev.tauri.choam.async.PromiseSpecJvm_SpinLockMcas_IO_Real:
3520 + Completing a fulfilled promise should not be possible 0.004s
3521 + Completing a fulfilled promise should not call any callbacks 0.01s
3522 + Promise#get should be rerunnable 0.023s
3523 + Promise#tryGet should work 0.003s
3524 + Invariant functor instance 0.004s
3525 + Contravariant functor instance 0.006s
3526 + Covariant functor instance 0.003s
3527 + Promise#asCats 0.009s
3528 + Calling the callback should be followed by a thread shift (async boundary) 1.801s
3529dev.tauri.choam.async.OverflowQueueSpec_Lazy_EMCAS_ZIO:
3530 + RingBuffer property 0.511s
3531 + Dropping property 0.272s
3532 + RingBuffer simple 0.142s
3533 + RingBuffer small 0.055s
3534 + RingBuffer cancellation 0.039s
3535 + RingBuffer multiple ops in one Rxn 0.027s
3536 + RingBuffer#asCats 0.021s
3537 + DroppingQueue simple 0.022s
3538 + DroppingQueue multiple ops in one Rxn 0.006s
3539dev.tauri.choam.async.AsyncStackSpec_Elimination_Emcas_ZIO:
3540 + pop on a non-empty stack should work like on Treiber stack 0.017s
3541 + pop on a non-empty stack should work for concurrent pops 0.007s
3542 + pop on an empty stack should complete with the correponding push 0.004s
3543 + pop on an empty stack should work with racing pushes 0.007s
3544 + pops should be served in a FIFO manner 0.014s
3545 + cancellation should not cause elements to be lost 0.013s
3546 + Multiple ops in one Rxn 0.008s
3547dev.tauri.choam.async.BoundedQueueSpecLinked_EMCAS_IO:
3548 + BoundedQueue non-empty take 0.014s
3549 + BoundedQueue non-empty poll 0.005s
3550 + BoundedQueue empty take 1.443s
3551 + BoundedQueue empty poll 0.001s
3552 + BoundedQueue offer 0.003s
3553 + BoundedQueue offer with waiters 0.003s
3554 + BoundedQueue multiple offer in a Rxn 0.004s
3555 + BoundedQueue full put / take 0.009s
3556 + BoundedQueue full put / poll 0.009s
3557 + BoundedQueue small bound 0.002s
3558 + BoundedQueue illegal bound 0.002s
3559 + BoundedQueue canceled getter 0.005s
3560 + BoundedQueue canceled setter 0.007s
3561 + BoundedQueue#asCats 0.004s
3562 + currentSize should be correct even if changed in the same Rxn 0.005s
3563 + BoundedQueue big bound 0.172s
3564 + Sleeping 0.003s
3565dev.tauri.choam.async.PromiseSpecJvm_Emcas_IO_Real:
3566 + Completing a fulfilled promise should not be possible 0.0s
3567 + Completing a fulfilled promise should not call any callbacks 0.001s
3568 + Promise#get should be rerunnable 0.004s
3569 + Promise#tryGet should work 0.001s
3570 + Invariant functor instance 0.0s
3571 + Contravariant functor instance 0.001s
3572 + Covariant functor instance 0.001s
3573 + Promise#asCats 0.0s
3574 + Calling the callback should be followed by a thread shift (async boundary) 1.66s
3575dev.tauri.choam.async.PromiseSpec_ThreadConfinedMcas_IO_Real:
3576 + Completing a fulfilled promise should not be possible 0.002s
3577 + Completing a fulfilled promise should not call any callbacks 0.001s
3578==> s dev.tauri.choam.async.PromiseSpec_ThreadConfinedMcas_IO_Real.Promise#get should be rerunnable skipped 0.002s
3579 + Promise#tryGet should work 0.0s
3580==> s dev.tauri.choam.async.PromiseSpec_ThreadConfinedMcas_IO_Real.Invariant functor instance skipped 0.0s
3581==> s dev.tauri.choam.async.PromiseSpec_ThreadConfinedMcas_IO_Real.Contravariant functor instance skipped 0.002s
3582==> s dev.tauri.choam.async.PromiseSpec_ThreadConfinedMcas_IO_Real.Covariant functor instance skipped 0.0s
3583==> s dev.tauri.choam.async.PromiseSpec_ThreadConfinedMcas_IO_Real.Promise#asCats skipped 0.0s
3584dev.tauri.choam.async.UnboundedQueueSpec_Simple_EMCAS_ZIO:
3585 + UnboundedQueue non-empty take 0.008s
3586 + UnboundedQueue empty take 0.002s
3587 + UnboundedQueue more enq in one Rxn 0.002s
3588 + UnboundedQueue enq and deq in one Rxn 0.001s
3589dev.tauri.choam.async.CountDownLatchSpec_ThreadConfinedMcas_IO_Ticked:
3590 + Reaching 0 should call all registered `await`s 0.005s
3591 + A cancelled `await` should not be called 0.006s
3592 + AllocationStrategy 0.004s
3593dev.tauri.choam.async.AsyncStackSpec_Elimination_SpinLockMcas_ZIO:
3594 + pop on a non-empty stack should work like on Treiber stack 0.005s
3595 + pop on a non-empty stack should work for concurrent pops 0.002s
3596 + pop on an empty stack should complete with the correponding push 0.001s
3597 + pop on an empty stack should work with racing pushes 0.002s
3598 + pops should be served in a FIFO manner 0.002s
3599 + cancellation should not cause elements to be lost 0.003s
3600 + Multiple ops in one Rxn 0.002s
3601dev.tauri.choam.async.CountDownLatchSpec_Emcas_ZIO_Ticked:
3602 + Reaching 0 should call all registered `await`s 0.03s
3603 + A cancelled `await` should not be called 0.006s
3604 + AllocationStrategy 0.004s
3605dev.tauri.choam.async.BoundedQueueSpecArray_EMCAS_IO:
3606 + BoundedQueue non-empty take 0.003s
3607 + BoundedQueue non-empty poll 0.001s
3608 + BoundedQueue empty take 1.045s
3609 + BoundedQueue empty poll 0.0s
3610 + BoundedQueue offer 0.0s
3611 + BoundedQueue offer with waiters 0.001s
3612 + BoundedQueue multiple offer in a Rxn 0.0s
3613 + BoundedQueue full put / take 0.001s
3614 + BoundedQueue full put / poll 0.0s
3615 + BoundedQueue small bound 0.001s
3616 + BoundedQueue illegal bound 0.0s
3617 + BoundedQueue canceled getter 0.0s
3618 + BoundedQueue canceled setter 0.001s
3619 + BoundedQueue#asCats 0.0s
3620 + currentSize should be correct even if changed in the same Rxn 0.0s
3621 + BoundedQueue big bound 0.042s
3622 + Sleeping 0.0s
3623dev.tauri.choam.async.BoundedQueueSpecArray_EMCAS_ZIO:
3624 + BoundedQueue non-empty take 0.01s
3625 + BoundedQueue non-empty poll 0.005s
3626 + BoundedQueue empty take 1.155s
3627 + BoundedQueue empty poll 0.002s
3628 + BoundedQueue offer 0.006s
3629 + BoundedQueue offer with waiters 0.006s
3630 + BoundedQueue multiple offer in a Rxn 0.007s
3631 + BoundedQueue full put / take 0.019s
3632 + BoundedQueue full put / poll 0.019s
3633 + BoundedQueue small bound 0.005s
3634 + BoundedQueue illegal bound 0.0s
3635 + BoundedQueue canceled getter 0.01s
3636 + BoundedQueue canceled setter 0.011s
3637 + BoundedQueue#asCats 0.017s
3638 + currentSize should be correct even if changed in the same Rxn 0.005s
3639 + BoundedQueue big bound 0.045s
3640 + Sleeping 0.004s
3641dev.tauri.choam.async.WaitListSpec_Emcas_ZIO:
3642 + WaitList around a Ref 0.017s
3643 + WaitList#asyncSetCb 0.006s
3644 + GenWaitList#asyncSetCb 0.024s
3645 + WaitList (put): lots of cancels 0.4s
3646 + GenWaitList (put): lots of cancels 0.231s
3647 + WaitList (offer): lots of cancels 0.147s
3648 + WaitList: deque and poll race 0.017s
3649 + WaitList: deque wakes up, then goes to sleep again 0.011s
3650 + WaitList: deque gets cancelled right after (correctly) waking up 0.014s
3651 + GenWaitList (offer): lots of cancels 0.18s
3652 + GenWaitList: deque and poll race 0.007s
3653 + GenWaitList: deque wakes up, then goes to sleep again 0.003s
3654 + GenWaitList: deque gets cancelled right after (correctly) waking up 0.004s
3655 + GenWaitList: enqueue and offer race 0.017s
3656 + GenWaitList: enqueue wakes up, then goes to sleep again 0.015s
3657 + GenWaitList: enqueue gets cancelled right after (correctly) waking up 0.02s
3658 + GenWaitList: underlying queue is full, but there are getters 0.039s
3659 + WaitList: asyncGet should have no unnecessary wakeups 0.063s
3660 + GenWaitList: asyncGet should have no unnecessary wakeups 0.016s
3661 + GenWaitList: asyncSet should have no unnecessary wakeups 0.06s
3662dev.tauri.choam.async.CountDownLatchSpec_SpinLockMcas_IO_Ticked:
3663 + Reaching 0 should call all registered `await`s 0.002s
3664 + A cancelled `await` should not be called 0.001s
3665 + AllocationStrategy 0.001s
3666dev.tauri.choam.async.CountDownLatchSpec_Emcas_IO_Ticked:
3667 + Reaching 0 should call all registered `await`s 0.001s
3668 + A cancelled `await` should not be called 0.001s
3669 + AllocationStrategy 0.0s
3670dev.tauri.choam.async.UnboundedQueueSpec_Simple_EMCAS_IO:
3671 + UnboundedQueue non-empty take 0.001s
3672 + UnboundedQueue empty take 0.001s
3673 + UnboundedQueue more enq in one Rxn 0.001s
3674 + UnboundedQueue enq and deq in one Rxn 0.001s
3675dev.tauri.choam.async.PromiseSpecJvm_SpinLockMcas_ZIO_Real:
3676 + Completing a fulfilled promise should not be possible 0.009s
3677 + Completing a fulfilled promise should not call any callbacks 0.008s
3678 + Promise#get should be rerunnable 0.02s
3679 + Promise#tryGet should work 0.003s
3680 + Invariant functor instance 0.004s
3681 + Contravariant functor instance 0.004s
3682 + Covariant functor instance 0.004s
3683 + Promise#asCats 0.009s
3684 + Calling the callback should be followed by a thread shift (async boundary) 1.482s
3685dev.tauri.choam.async.OverflowQueueSpec_Strict_ThreadConfinedMcas_IO:
3686 + RingBuffer property 0.146s
3687 + Dropping property 0.107s
3688 + RingBuffer simple 0.005s
3689 + RingBuffer small 0.003s
3690 + RingBuffer cancellation 0.001s
3691 + RingBuffer multiple ops in one Rxn 0.001s
3692 + RingBuffer#asCats 0.001s
3693 + DroppingQueue simple 0.001s
3694 + DroppingQueue multiple ops in one Rxn 0.001s
3695dev.tauri.choam.async.PromiseSpec_SpinLockMcas_IO_Ticked:
3696 + Completing an empty promise should call all registered callbacks 0.006s
3697 + A cancelled callback should not be called 0.005s
3698 + Promise#unsafeComplete 0.008s
3699 + Promise.unsafeNew 0.003s
3700dev.tauri.choam.async.AsyncStackSpec_Elimination_ThreadConfinedMcas_IO:
3701 + pop on a non-empty stack should work like on Treiber stack 0.001s
3702 + pop on a non-empty stack should work for concurrent pops 0.001s
3703 + pop on an empty stack should complete with the correponding push 0.0s
3704 + pop on an empty stack should work with racing pushes 0.001s
3705 + pops should be served in a FIFO manner 0.001s
3706 + cancellation should not cause elements to be lost 0.001s
3707 + Multiple ops in one Rxn 0.001s
3708dev.tauri.choam.async.AsyncStackSpec_Treiber_SpinLockMcas_IO:
3709 + pop on a non-empty stack should work like on Treiber stack 0.001s
3710 + pop on a non-empty stack should work for concurrent pops 0.0s
3711 + pop on an empty stack should complete with the correponding push 0.001s
3712 + pop on an empty stack should work with racing pushes 0.0s
3713 + pops should be served in a FIFO manner 0.001s
3714 + cancellation should not cause elements to be lost 0.001s
3715 + Multiple ops in one Rxn 0.001s
3716dev.tauri.choam.async.PromiseSpecJvm_Emcas_ZIO_Real:
3717 + Completing a fulfilled promise should not be possible 0.001s
3718 + Completing a fulfilled promise should not call any callbacks 0.0s
3719 + Promise#get should be rerunnable 0.004s
3720 + Promise#tryGet should work 0.001s
3721 + Invariant functor instance 0.0s
3722 + Contravariant functor instance 0.001s
3723 + Covariant functor instance 0.0s
3724 + Promise#asCats 0.001s
3725 + Calling the callback should be followed by a thread shift (async boundary) 1.537s
3726dev.tauri.choam.async.CountDownLatchSpec_SpinLockMcas_IO_Real:
3727 + Release race 0.246s
3728 + Releasing a completed CDL should not be a no-op 0.0s
3729 + CountDownLatch#asCats 0.002s
3730dev.tauri.choam.async.AsyncStackSpec_Elimination_Emcas_IO:
3731 + pop on a non-empty stack should work like on Treiber stack 0.001s
3732 + pop on a non-empty stack should work for concurrent pops 0.001s
3733 + pop on an empty stack should complete with the correponding push 0.0s
3734 + pop on an empty stack should work with racing pushes 0.001s
3735 + pops should be served in a FIFO manner 0.001s
3736 + cancellation should not cause elements to be lost 0.001s
3737 + Multiple ops in one Rxn 0.001s
3738dev.tauri.choam.async.PromiseSpec_SpinLockMcas_ZIO_Ticked:
3739 + Completing an empty promise should call all registered callbacks 0.009s
3740 + A cancelled callback should not be called 0.007s
3741 + Promise#unsafeComplete 0.007s
3742 + Promise.unsafeNew 0.004s
3743dev.tauri.choam.async.WaitListSpec_ThreadConfinedMcas_IO:
3744 + WaitList around a Ref 0.001s
3745 + WaitList#asyncSetCb 0.0s
3746 + GenWaitList#asyncSetCb 0.003s
3747 + WaitList (put): lots of cancels 0.429s
3748 + GenWaitList (put): lots of cancels 0.266s
3749 + WaitList (offer): lots of cancels 0.11s
3750 + WaitList: deque and poll race 0.004s
3751 + WaitList: deque wakes up, then goes to sleep again 0.002s
3752 + WaitList: deque gets cancelled right after (correctly) waking up 0.004s
3753 + GenWaitList (offer): lots of cancels 0.154s
3754 + GenWaitList: deque and poll race 0.004s
3755 + GenWaitList: deque wakes up, then goes to sleep again 0.003s
3756 + GenWaitList: deque gets cancelled right after (correctly) waking up 0.003s
3757 + GenWaitList: enqueue and offer race 0.004s
3758 + GenWaitList: enqueue wakes up, then goes to sleep again 0.004s
3759 + GenWaitList: enqueue gets cancelled right after (correctly) waking up 0.004s
3760 + GenWaitList: underlying queue is full, but there are getters 0.008s
3761 + WaitList: asyncGet should have no unnecessary wakeups 0.01s
3762 + GenWaitList: asyncGet should have no unnecessary wakeups 0.007s
3763 + GenWaitList: asyncSet should have no unnecessary wakeups 0.013s
3764dev.tauri.choam.async.PromiseSpec_Emcas_ZIO_Ticked:
3765 + Completing an empty promise should call all registered callbacks 0.003s
3766 + A cancelled callback should not be called 0.0s
3767 + Promise#unsafeComplete 0.001s
3768 + Promise.unsafeNew 0.0s
3769dev.tauri.choam.async.CountDownLatchSpec_Emcas_ZIO_Real:
3770 + Release race 0.31s
3771 + Releasing a completed CDL should not be a no-op 0.003s
3772 + CountDownLatch#asCats 0.004s
3773dev.tauri.choam.async.OverflowQueueSpec_Strict_EMCAS_ZIO:
3774 + RingBuffer property 0.072s
3775 + Dropping property 0.069s
3776 + RingBuffer simple 0.001s
3777 + RingBuffer small 0.001s
3778 + RingBuffer cancellation 0.0s
3779 + RingBuffer multiple ops in one Rxn 0.001s
3780 + RingBuffer#asCats 0.0s
3781 + DroppingQueue simple 0.001s
3782 + DroppingQueue multiple ops in one Rxn 0.0s
3783dev.tauri.choam.async.BoundedQueueSpecArray_ThreadConfinedMcas_IO:
3784 + BoundedQueue non-empty take 0.0s
3785 + BoundedQueue non-empty poll 0.0s
3786 + BoundedQueue empty take 0.823s
3787 + BoundedQueue empty poll 0.0s
3788 + BoundedQueue offer 0.0s
3789 + BoundedQueue offer with waiters 0.001s
3790 + BoundedQueue multiple offer in a Rxn 0.0s
3791 + BoundedQueue full put / take 0.001s
3792 + BoundedQueue full put / poll 0.0s
3793 + BoundedQueue small bound 0.001s
3794 + BoundedQueue illegal bound 0.0s
3795 + BoundedQueue canceled getter 0.001s
3796 + BoundedQueue canceled setter 0.0s
3797 + BoundedQueue#asCats 0.001s
3798 + currentSize should be correct even if changed in the same Rxn 0.0s
3799dev.tauri.choam.async.AsyncStackSpec_Treiber_Emcas_IO:
3800 + pop on a non-empty stack should work like on Treiber stack 0.0s
3801 + pop on a non-empty stack should work for concurrent pops 0.0s
3802 + pop on an empty stack should complete with the correponding push 0.001s
3803 + pop on an empty stack should work with racing pushes 0.0s
3804 + pops should be served in a FIFO manner 0.0s
3805 + cancellation should not cause elements to be lost 0.0s
3806 + Multiple ops in one Rxn 0.001s
3807dev.tauri.choam.async.CountDownLatchSpec_SpinLockMcas_ZIO_Ticked:
3808 + Reaching 0 should call all registered `await`s 0.002s
3809 + A cancelled `await` should not be called 0.001s
3810 + AllocationStrategy 0.0s
3811dev.tauri.choam.async.WaitListSpec_SpinLockMcas_IO:
3812 + WaitList around a Ref 0.0s
3813 + WaitList#asyncSetCb 0.001s
3814 + GenWaitList#asyncSetCb 0.0s
3815 + WaitList (put): lots of cancels 0.3s
3816 + GenWaitList (put): lots of cancels 0.219s
3817 + WaitList (offer): lots of cancels 0.121s
3818 + WaitList: deque and poll race 0.003s
3819 + WaitList: deque wakes up, then goes to sleep again 0.002s
3820 + WaitList: deque gets cancelled right after (correctly) waking up 0.003s
3821 + GenWaitList (offer): lots of cancels 0.149s
3822 + GenWaitList: deque and poll race 0.007s
3823 + GenWaitList: deque wakes up, then goes to sleep again 0.005s
3824 + GenWaitList: deque gets cancelled right after (correctly) waking up 0.006s
3825 + GenWaitList: enqueue and offer race 0.007s
3826 + GenWaitList: enqueue wakes up, then goes to sleep again 0.003s
3827 + GenWaitList: enqueue gets cancelled right after (correctly) waking up 0.004s
3828 + GenWaitList: underlying queue is full, but there are getters 0.006s
3829 + WaitList: asyncGet should have no unnecessary wakeups 0.007s
3830 + GenWaitList: asyncGet should have no unnecessary wakeups 0.014s
3831 + GenWaitList: asyncSet should have no unnecessary wakeups 0.01s
3832dev.tauri.choam.async.UnboundedQueueSpec_Simple_ThreadConfinedMcas_IO:
3833 + UnboundedQueue non-empty take 0.001s
3834 + UnboundedQueue empty take 0.0s
3835 + UnboundedQueue more enq in one Rxn 0.0s
3836 + UnboundedQueue enq and deq in one Rxn 0.001s
3837dev.tauri.choam.async.AsyncStackSpec_Treiber_SpinLockMcas_ZIO:
3838 + pop on a non-empty stack should work like on Treiber stack 0.003s
3839 + pop on a non-empty stack should work for concurrent pops 0.0s
3840 + pop on an empty stack should complete with the correponding push 0.0s
3841 + pop on an empty stack should work with racing pushes 0.001s
3842 + pops should be served in a FIFO manner 0.0s
3843 + cancellation should not cause elements to be lost 0.0s
3844 + Multiple ops in one Rxn 0.001s
3845dev.tauri.choam.async.BoundedQueueSpecLinked_ThreadConfinedMcas_IO:
3846 + BoundedQueue non-empty take 0.001s
3847 + BoundedQueue non-empty poll 0.0s
3848 + BoundedQueue empty take 0.851s
3849 + BoundedQueue empty poll 0.001s
3850 + BoundedQueue offer 0.0s
3851 + BoundedQueue offer with waiters 0.0s
3852 + BoundedQueue multiple offer in a Rxn 0.0s
3853 + BoundedQueue full put / take 0.001s
3854 + BoundedQueue full put / poll 0.0s
3855 + BoundedQueue small bound 0.0s
3856 + BoundedQueue illegal bound 0.0s
3857 + BoundedQueue canceled getter 0.0s
3858 + BoundedQueue canceled setter 0.001s
3859 + BoundedQueue#asCats 0.0s
3860 + currentSize should be correct even if changed in the same Rxn 0.0s
3861dev.tauri.choam.async.OverflowQueueSpec_Strict_EMCAS_IO:
3862 + RingBuffer property 0.044s
3863 + Dropping property 0.041s
3864 + RingBuffer simple 0.001s
3865 + RingBuffer small 0.001s
3866 + RingBuffer cancellation 0.0s
3867 + RingBuffer multiple ops in one Rxn 0.0s
3868 + RingBuffer#asCats 0.001s
3869 + DroppingQueue simple 0.0s
3870 + DroppingQueue multiple ops in one Rxn 0.0s
3871dev.tauri.choam.async.PromiseSpec_Emcas_IO_Ticked:
3872 + Completing an empty promise should call all registered callbacks 0.0s
3873 + A cancelled callback should not be called 0.001s
3874 + Promise#unsafeComplete 0.0s
3875 + Promise.unsafeNew 0.0s
3876dev.tauri.choam.async.UnboundedQueueSpec_WithSize_EMCAS_IO:
3877 + UnboundedQueue non-empty take 0.001s
3878 + UnboundedQueue empty take 0.0s
3879 + UnboundedQueue more enq in one Rxn 0.001s
3880 + UnboundedQueue enq and deq in one Rxn 0.0s
3881 + UnboundedQueue.WithSize#asCats 0.001s
3882dev.tauri.choam.async.AsyncStackSpec_Treiber_ThreadConfinedMcas_IO:
3883 + pop on a non-empty stack should work like on Treiber stack 0.001s
3884 + pop on a non-empty stack should work for concurrent pops 0.0s
3885 + pop on an empty stack should complete with the correponding push 0.0s
3886 + pop on an empty stack should work with racing pushes 0.001s
3887 + pops should be served in a FIFO manner 0.0s
3888 + cancellation should not cause elements to be lost 0.0s
3889 + Multiple ops in one Rxn 0.001s
3890dev.tauri.choam.async.WaitListSpec_Emcas_IO:
3891 + WaitList around a Ref 0.001s
3892 + WaitList#asyncSetCb 0.0s
3893 + GenWaitList#asyncSetCb 0.0s
3894 + WaitList (put): lots of cancels 0.134s
3895 + GenWaitList (put): lots of cancels 0.178s
3896 + WaitList (offer): lots of cancels 0.137s
3897 + WaitList: deque and poll race 0.003s
3898 + WaitList: deque wakes up, then goes to sleep again 0.003s
3899 + WaitList: deque gets cancelled right after (correctly) waking up 0.003s
3900 + GenWaitList (offer): lots of cancels 0.148s
3901 + GenWaitList: deque and poll race 0.003s
3902 + GenWaitList: deque wakes up, then goes to sleep again 0.002s
3903 + GenWaitList: deque gets cancelled right after (correctly) waking up 0.002s
3904 + GenWaitList: enqueue and offer race 0.004s
3905 + GenWaitList: enqueue wakes up, then goes to sleep again 0.003s
3906 + GenWaitList: enqueue gets cancelled right after (correctly) waking up 0.003s
3907 + GenWaitList: underlying queue is full, but there are getters 0.005s
3908 + WaitList: asyncGet should have no unnecessary wakeups 0.006s
3909 + GenWaitList: asyncGet should have no unnecessary wakeups 0.005s
3910 + GenWaitList: asyncSet should have no unnecessary wakeups 0.009s
3911dev.tauri.choam.async.CountDownLatchSpec_Emcas_IO_Real:
3912 + Release race 0.084s
3913 + Releasing a completed CDL should not be a no-op 0.0s
3914 + CountDownLatch#asCats 0.001s
3915dev.tauri.choam.async.UnboundedQueueSpec_WithSize_ThreadConfinedMcas_IO:
3916 + UnboundedQueue non-empty take 0.001s
3917 + UnboundedQueue empty take 0.0s
3918 + UnboundedQueue more enq in one Rxn 0.0s
3919 + UnboundedQueue enq and deq in one Rxn 0.001s
3920 + UnboundedQueue.WithSize#asCats 0.0s
3921dev.tauri.choam.async.PromiseSpec_ThreadConfinedMcas_IO_Ticked:
3922 + Completing an empty promise should call all registered callbacks 0.0s
3923 + A cancelled callback should not be called 0.0s
3924 + Promise#unsafeComplete 0.0s
3925 + Promise.unsafeNew 0.001s
3926dev.tauri.choam.async.AsyncStackSpec_Elimination_SpinLockMcas_IO:
3927 + pop on a non-empty stack should work like on Treiber stack 0.0s
3928 + pop on a non-empty stack should work for concurrent pops 0.001s
3929 + pop on an empty stack should complete with the correponding push 0.0s
3930 + pop on an empty stack should work with racing pushes 0.0s
3931 + pops should be served in a FIFO manner 0.0s
3932 + cancellation should not cause elements to be lost 0.001s
3933 + Multiple ops in one Rxn 0.0s
3934dev.tauri.choam.async.WaitListSpec_SpinLockMcas_ZIO:
3935 + WaitList around a Ref 0.002s
3936 + WaitList#asyncSetCb 0.0s
3937 + GenWaitList#asyncSetCb 0.001s
3938 + WaitList (put): lots of cancels 0.11s
3939 + GenWaitList (put): lots of cancels 0.145s
3940 + WaitList (offer): lots of cancels 0.103s
3941 + WaitList: deque and poll race 0.003s
3942 + WaitList: deque wakes up, then goes to sleep again 0.003s
3943 + WaitList: deque gets cancelled right after (correctly) waking up 0.003s
3944 + GenWaitList (offer): lots of cancels 0.109s
3945 + GenWaitList: deque and poll race 0.003s
3946 + GenWaitList: deque wakes up, then goes to sleep again 0.002s
3947 + GenWaitList: deque gets cancelled right after (correctly) waking up 0.003s
3948 + GenWaitList: enqueue and offer race 0.004s
3949 + GenWaitList: enqueue wakes up, then goes to sleep again 0.003s
3950 + GenWaitList: enqueue gets cancelled right after (correctly) waking up 0.004s
3951 + GenWaitList: underlying queue is full, but there are getters 0.006s
3952 + WaitList: asyncGet should have no unnecessary wakeups 0.007s
3953 + GenWaitList: asyncGet should have no unnecessary wakeups 0.005s
3954 + GenWaitList: asyncSet should have no unnecessary wakeups 0.009s
3955dev.tauri.choam.async.BoundedQueueSpecLinked_EMCAS_ZIO:
3956 + BoundedQueue non-empty take 0.002s
3957 + BoundedQueue non-empty poll 0.001s
3958 + BoundedQueue empty take 0.843s
3959 + BoundedQueue empty poll 0.0s
3960 + BoundedQueue offer 0.001s
3961 + BoundedQueue offer with waiters 0.0s
3962 + BoundedQueue multiple offer in a Rxn 0.0s
3963 + BoundedQueue full put / take 0.0s
3964 + BoundedQueue full put / poll 0.001s
3965 + BoundedQueue small bound 0.0s
3966 + BoundedQueue illegal bound 0.0s
3967 + BoundedQueue canceled getter 0.0s
3968 + BoundedQueue canceled setter 0.001s
3969 + BoundedQueue#asCats 0.0s
3970 + currentSize should be correct even if changed in the same Rxn 0.0s
3971 + BoundedQueue big bound 0.029s
3972 + Sleeping 0.001s
3973dev.tauri.choam.async.AsyncStackSpec_Treiber_Emcas_ZIO:
3974 + pop on a non-empty stack should work like on Treiber stack 0.002s
3975 + pop on a non-empty stack should work for concurrent pops 0.0s
3976 + pop on an empty stack should complete with the correponding push 0.0s
3977 + pop on an empty stack should work with racing pushes 0.0s
3978 + pops should be served in a FIFO manner 0.001s
3979 + cancellation should not cause elements to be lost 0.0s
3980 + Multiple ops in one Rxn 0.0s
3981dev.tauri.choam.async.WaitListSpecPar_DefaultMcas_IO:
3982 + AsyncQueue.unbounded: deque cancel race 0.016s
3983 + AsyncQueue.unbounded: deque and poll race 1.005s
3984 + AsyncQueue.unboundedWithSize: deque cancel race 0.014s
3985 + AsyncQueue.unboundedWithSize: deque and poll race 1.004s
3986 + AsyncQueue.bounded: deque cancel race 0.015s
3987 + AsyncQueue.bounded: deque and poll race 1.003s
3988 + BoundedQueue.linked: deque cancel race 0.012s
3989 + BoundedQueue.linked: deque and poll race 1.004s
3990 + AsyncQueue.dropping: deque cancel race 0.012s
3991 + AsyncQueue.dropping: deque and poll race 1.003s
3992 + AsyncQueue.ringBuffer: deque cancel race 0.012s
3993 + AsyncQueue.ringBuffer: deque and poll race 1.002s
3994 + AsyncQueue.bounded: enqueue cancel race (1 waiter; bound = 1) 1.054s
3995 + AsyncQueue.bounded: enqueue cancel race (2 waiters; bound = 1) 1.009s
3996 + AsyncQueue.bounded: enqueue cancel race (1 waiter; bound = 8) 1.535s
3997 + AsyncQueue.bounded: enqueue cancel race (2 waiters; bound = 8) 1.559s
3998 + BoundedQueue.linked: enqueue cancel race (1 waiter; bound = 1) 0.511s
3999 + BoundedQueue.linked: enqueue cancel race (2 waiters; bound = 1) 0.708s
4000 + BoundedQueue.linked: enqueue cancel race (1 waiter; bound = 8) 1.502s
4001 + BoundedQueue.linked: enqueue cancel race (2 waiters; bound = 8) 1.644s
4002dev.tauri.choam.async.CountDownLatchSpec_SpinLockMcas_ZIO_Real:
4003 + Release race 0.137s
4004 + Releasing a completed CDL should not be a no-op 0.0s
4005 + CountDownLatch#asCats 0.001s
4006dev.tauri.choam.async.OverflowQueueSpec_Lazy_EMCAS_IO:
4007 + RingBuffer property 0.058s
4008 + Dropping property 0.065s
4009 + RingBuffer simple 0.001s
4010 + RingBuffer small 0.001s
4011 + RingBuffer cancellation 0.001s
4012 + RingBuffer multiple ops in one Rxn 0.0s
4013 + RingBuffer#asCats 0.0s
4014 + DroppingQueue simple 0.001s
4015 + DroppingQueue multiple ops in one Rxn 0.0s
4016dev.tauri.choam.async.OverflowQueueSpec_Lazy_ThreadConfinedMcas_IO:
4017 + RingBuffer property 0.058s
4018 + Dropping property 0.065s
4019 + RingBuffer simple 0.001s
4020 + RingBuffer small 0.0s
4021 + RingBuffer cancellation 0.001s
4022 + RingBuffer multiple ops in one Rxn 0.0s
4023 + RingBuffer#asCats 0.0s
4024 + DroppingQueue simple 0.001s
4025 + DroppingQueue multiple ops in one Rxn 0.0s
4026Starting build for ProjectRef(file:/build/repo/,ce) (choam-ce)... [9/10]
4027Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -Xkind-projector, --java-output-version:17, 11, -language:higherKinds, -no-indent, -Xverify-signatures, -Wconf:any:v,cat=deprecation:s,id=E147:s,id=E175:s, -Wunused:all, -Ycheck-all-patmat, -Xcheck-macros, -Xsemanticdb, -semanticdb-target, /build/repo/ce/jvm/target/scala-3.8.0-RC3/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
4028[info] compiling 3 Scala sources to /build/repo/ce/jvm/target/scala-3.8.0-RC3/classes ...
4029[info] done compiling
4030[info] compiling 1 Scala source to /build/repo/ce/jvm/target/scala-3.8.0-RC3/test-classes ...
4031[info] done compiling
4032WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
4033WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_3/3.8.0-RC3/scala3-library_3-3.8.0-RC3.jar)
4034WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
4035WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
4036dev.tauri.choam.ce.MixinSpec:
4037 + RxnAppMixin 0.261s
4038 + TxnAppMixin 0.015s
4039 + Both (1) 0.007s
4040 + Both (2) 0.007s
4041
4042************************
4043Build summary:
4044[{
4045 "module": "choam-core",
4046 "compile": {"status": "ok", "tookMs": 28391, "warnings": 2, "errors": 0, "sourceVersion": "3.8"},
4047 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
4048 "test-compile": {"status": "ok", "tookMs": 26891, "warnings": 1, "errors": 0, "sourceVersion": "3.8"},
4049 "test": {"status": "ok", "tookMs": 68306, "passed": 1420, "failed": 0, "ignored": 1, "skipped": 5, "total": 1426, "byFramework": [{"framework": "munit", "stats": {"passed": 1420, "failed": 0, "ignored": 1, "skipped": 5, "total": 1426}}]},
4050 "publish": {"status": "skipped", "tookMs": 0},
4051 "metadata": {
4052 "crossScalaVersions": ["2.13.17", "3.3.7"]
4053}
4054},{
4055 "module": "choam-docs",
4056 "compile": {"status": "ok", "tookMs": 54, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
4057 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
4058 "test-compile": {"status": "ok", "tookMs": 90, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
4059 "test": {"status": "ok", "tookMs": 92, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
4060 "publish": {"status": "skipped", "tookMs": 0},
4061 "metadata": {
4062 "crossScalaVersions": ["2.13.17", "3.3.7"]
4063}
4064},{
4065 "module": "choam-mcas",
4066 "compile": {"status": "ok", "tookMs": 107, "warnings": 1, "errors": 0, "sourceVersion": "3.8"},
4067 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
4068 "test-compile": {"status": "ok", "tookMs": 164, "warnings": 4, "errors": 0, "sourceVersion": "3.8"},
4069 "test": {"status": "ok", "tookMs": 97315, "passed": 271, "failed": 0, "ignored": 1, "skipped": 1, "total": 273, "byFramework": [{"framework": "munit", "stats": {"passed": 271, "failed": 0, "ignored": 1, "skipped": 1, "total": 273}}]},
4070 "publish": {"status": "skipped", "tookMs": 0},
4071 "metadata": {
4072 "crossScalaVersions": ["2.13.17", "3.3.7"]
4073}
4074},{
4075 "module": "choam-stream",
4076 "compile": {"status": "ok", "tookMs": 4133, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
4077 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
4078 "test-compile": {"status": "ok", "tookMs": 13106, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
4079 "test": {"status": "ok", "tookMs": 114688, "passed": 220, "failed": 0, "ignored": 0, "skipped": 5, "total": 225, "byFramework": [{"framework": "munit", "stats": {"passed": 220, "failed": 0, "ignored": 0, "skipped": 5, "total": 225}}]},
4080 "publish": {"status": "skipped", "tookMs": 0},
4081 "metadata": {
4082 "crossScalaVersions": ["2.13.17", "3.3.7"]
4083}
4084},{
4085 "module": "choam-data",
4086 "compile": {"status": "ok", "tookMs": 145, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
4087 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
4088 "test-compile": {"status": "ok", "tookMs": 273, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
4089 "test": {"status": "ok", "tookMs": 85983, "passed": 759, "failed": 0, "ignored": 0, "skipped": 36, "total": 795, "byFramework": [{"framework": "munit", "stats": {"passed": 759, "failed": 0, "ignored": 0, "skipped": 36, "total": 795}}]},
4090 "publish": {"status": "skipped", "tookMs": 0},
4091 "metadata": {
4092 "crossScalaVersions": ["2.13.17", "3.3.7"]
4093}
4094},{
4095 "module": "choam-zi",
4096 "compile": {"status": "ok", "tookMs": 631, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
4097 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
4098 "test-compile": {"status": "ok", "tookMs": 1120, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
4099 "test": {"status": "ok", "tookMs": 1538, "passed": 4, "failed": 0, "ignored": 0, "skipped": 0, "total": 4, "byFramework": [{"framework": "munit", "stats": {"passed": 4, "failed": 0, "ignored": 0, "skipped": 0, "total": 4}}]},
4100 "publish": {"status": "skipped", "tookMs": 0},
4101 "metadata": {
4102 "crossScalaVersions": ["2.13.17", "3.3.7"]
4103}
4104},{
4105 "module": "choam-profiler",
4106 "compile": {"status": "ok", "tookMs": 809, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
4107 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
4108 "test-compile": {"status": "ok", "tookMs": 1049, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
4109 "test": {"status": "ok", "tookMs": 1891, "passed": 4, "failed": 0, "ignored": 0, "skipped": 0, "total": 4, "byFramework": [{"framework": "munit", "stats": {"passed": 4, "failed": 0, "ignored": 0, "skipped": 0, "total": 4}}]},
4110 "publish": {"status": "skipped", "tookMs": 0},
4111 "metadata": {
4112 "crossScalaVersions": ["2.13.17", "3.3.7"]
4113}
4114},{
4115 "module": "choam-internal",
4116 "compile": {"status": "ok", "tookMs": 36, "warnings": 1, "errors": 0, "sourceVersion": "3.8"},
4117 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
4118 "test-compile": {"status": "ok", "tookMs": 79, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
4119 "test": {"status": "ok", "tookMs": 965, "passed": 5, "failed": 0, "ignored": 0, "skipped": 0, "total": 5, "byFramework": [{"framework": "munit", "stats": {"passed": 5, "failed": 0, "ignored": 0, "skipped": 0, "total": 5}}]},
4120 "publish": {"status": "skipped", "tookMs": 0},
4121 "metadata": {
4122 "crossScalaVersions": ["2.13.17", "3.3.7"]
4123}
4124},{
4125 "module": "choam-async",
4126 "compile": {"status": "ok", "tookMs": 207, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
4127 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
4128 "test-compile": {"status": "ok", "tookMs": 346, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
4129 "test": {"status": "ok", "tookMs": 38520, "passed": 456, "failed": 0, "ignored": 0, "skipped": 7, "total": 463, "byFramework": [{"framework": "munit", "stats": {"passed": 456, "failed": 0, "ignored": 0, "skipped": 7, "total": 463}}]},
4130 "publish": {"status": "skipped", "tookMs": 0},
4131 "metadata": {
4132 "crossScalaVersions": ["2.13.17", "3.3.7"]
4133}
4134},{
4135 "module": "choam-ce",
4136 "compile": {"status": "ok", "tookMs": 771, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
4137 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
4138 "test-compile": {"status": "ok", "tookMs": 861, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
4139 "test": {"status": "ok", "tookMs": 1407, "passed": 4, "failed": 0, "ignored": 0, "skipped": 0, "total": 4, "byFramework": [{"framework": "munit", "stats": {"passed": 4, "failed": 0, "ignored": 0, "skipped": 0, "total": 4}}]},
4140 "publish": {"status": "skipped", "tookMs": 0},
4141 "metadata": {
4142 "crossScalaVersions": ["2.13.17", "3.3.7"]
4143}
4144}]
4145************************
4146[success] Total time: 531 s (0:08:51.0), completed Dec 4, 2025, 3:34:31 PM
4147[0JChecking patch project/plugins.sbt...
4148Checking patch build.sbt...
4149Applied patch project/plugins.sbt cleanly.
4150Applied patch build.sbt cleanly.