Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sbt/sbt-jcstress
Trust no-one, and especially not memory visibility.
https://github.com/sbt/sbt-jcstress
concurrency java openjdk sbt scala testing
Last synced: 25 days ago
JSON representation
Trust no-one, and especially not memory visibility.
- Host: GitHub
- URL: https://github.com/sbt/sbt-jcstress
- Owner: sbt
- Created: 2017-04-08T19:38:18.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2021-12-09T22:09:52.000Z (almost 3 years ago)
- Last Synced: 2024-09-30T13:05:26.831Z (about 1 month ago)
- Topics: concurrency, java, openjdk, sbt, scala, testing
- Language: HTML
- Homepage: http://kto.so
- Size: 242 KB
- Stars: 19
- Watchers: 7
- Forks: 6
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# sbt-jcstress
[ ![Download](https://api.bintray.com/packages/ktosopl/sbt-plugins/sbt-jcstress/images/download.svg) ](https://bintray.com/ktosopl/sbt-plugins/sbt-jcstress/_latestVersion)
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](http://htmlpreview.github.io/?https://github.com/ktoso/sbt-jcstress/blob/master/example-output/index.html) of how a failed spec would look like (modified example to make it fail):![failure summary table](example-output.png)
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