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