Skip to content

sbt/sbt-jcstress

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

sbt-jcstress

Download

The Java Concurrency Stress tests (jcstress) is an experimental harness and a suite of tests to aid the research in the correctness of concurrency support in the JVM, class libraries, and hardware.

jcstress is part of OpenJDK: https://wiki.openjdk.java.net/display/CodeTools/jcstress

Sidenote: jcstress is a very specialized tool, and unlike jmh (and sbt-jmh), it is rather unlikely you actually need it - unless you're implementing low level concurrency primitives.

The plugin is available for sbt 1.0.0.


The purpose of this plugin is to make it trivial to use jcstress with sbt.

Get the latest via:

// project/plugins.sbt
addSbtPlugin("pl.project13.scala" % "sbt-jcstress" % pluginVersionHere)

and enable it:

// build.sbt
enablePlugins(JCStressPlugin)

To run all tests you can simply invoke:

 > jcstress:run

Results are then available in results/index.html and respective pages for each test. Here's an example of how a failed spec would look like (modified example to make it fail):

failure summary table

Contribute!

Please note that this plugin is mostly developed on a "on demand" basis by and for myself, contributions are very (!) welcome since I most likely will not focus much on it unless I need more features (and for now estimates and internal are all I needed).

License

Apache v2

About

Trust no-one, and especially not memory visibility.

Topics

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •