Build Logs

durban/choam • 3.8.0-RC4:2025-12-22

Errors

28

Warnings

120

Total Lines

4206

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