Rohypnol

Rohypnol - Rohypnol pills for your JVM

License

License

GroupId

GroupId

info.jerrinot
ArtifactId

ArtifactId

rohypnol-root
Last Version

Last Version

0.1
Release Date

Release Date

Type

Type

pom
Description

Description

Rohypnol
Rohypnol - Rohypnol pills for your JVM
Project URL

Project URL

https://github.com/jerrinot/rohypnol
Source Code Management

Source Code Management

https://github.com/jerrinot/rohypnol

Download rohypnol-root

Filename Size
rohypnol-root-0.1.pom 7 KB
Browse

How to add to project

<!-- https://jarcasting.com/artifacts/info.jerrinot/rohypnol-root/ -->
<dependency>
    <groupId>info.jerrinot</groupId>
    <artifactId>rohypnol-root</artifactId>
    <version>0.1</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/info.jerrinot/rohypnol-root/
implementation 'info.jerrinot:rohypnol-root:0.1'
// https://jarcasting.com/artifacts/info.jerrinot/rohypnol-root/
implementation ("info.jerrinot:rohypnol-root:0.1")
'info.jerrinot:rohypnol-root:pom:0.1'
<dependency org="info.jerrinot" name="rohypnol-root" rev="0.1">
  <artifact name="rohypnol-root" type="pom" />
</dependency>
@Grapes(
@Grab(group='info.jerrinot', module='rohypnol-root', version='0.1')
)
libraryDependencies += "info.jerrinot" % "rohypnol-root" % "0.1"
[info.jerrinot/rohypnol-root "0.1"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

  • maven
  • core
  • maven-it

Rohypnol

Feed your junit tests with rohypnol and reveal race conditions!

The idea is to use a Java-agent to insert randomized pauses into your code. This should reveal race-conditions.

Usage:

Start your JVM with -javaagent:<path>/rohypnol-1.0-SNAPSHOT-allinone.jar

Configration:

Currently hard-coded. It instruments only classes starting with com.hazelcast and parameters are in Constants

TODO:

  • Configurable strategy to select classes & methods to instrument.
  • Configurable {White/Black}list to feed the pill to selected threads only.
  • Multiple strategies to generate sleep duration. Currently it always uses uniform distribution.

Credits:

@Holmistr came-up with the idea. Implementation bugs are mine.

Versions

Version
0.1