noise-tester is a tool to cause diverse schedulings in parallel
tests for the JVM. It achieves this by inserting code that randomly
slows the threads down.
The software runs on Java 8 and depends on ASM, a Java bytecode manipulation library:
http://download.forge.ow2.org/asm/asm-5.1-bin.zip
The asm-all-5.1.jar from this archive has to be in the class path
to use or compile noise-tester.
The code can be compiled with the following command:
javac -d noise-tester/bin/ \
-sourcepath noise-tester/src/ \
noise-tester/src/instrumentation/agent/Agent.javaAnd packaged into a JAR:
jar cvfm noise-tester.jar \
noise-tester/META-INF/MANIFEST.MF \
-C noise-tester/bin/ .noise-tester can be used as a Java agent to instrument your
code. For this the following has to be added to the JVM arguments:
-javaagent:/path/to/noise-tester.jar=/path/to/instrumentation-rulesTo determine how many times a test should be run, you can use the
ParallelMetricRule Junit 4 rule.