Build Logs

durban/choam • 3.8.0-RC2:2025-11-28

Errors

28

Warnings

128

Total Lines

4150

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