Files
java-core-examples/cow/scripts/run-all.sh
T

26 lines
1.2 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")/.."
mvn -q -B compile
java -cp target/classes com.ankurm.cow.IteratorSnapshotDemo 2>&1 \
| grep -vE 'JAVA_TOOL_OPTIONS|^WARNING' > output/01-iterator-snapshot-demo.txt
java -cp target/classes com.ankurm.cow.SynchronizedListCmeDemo 2>&1 \
| grep -vE 'JAVA_TOOL_OPTIONS|^WARNING' > output/02-synchronizedlist-cme-demo.txt
mvn -q -B test
cp target/surefire-reports/com.ankurm.cow.CowClaimsTest.txt output/03-tests.txt
mvn -q -B package -DskipTests
java -jar target/benchmarks.jar ReadThroughputBenchmark -rf text -rff output/04-read-throughput-jmh.txt
java -jar target/benchmarks.jar WriteThroughputBenchmark -rf text -rff output/05-write-throughput-jmh.txt
{ echo '$ javap -p java.util.concurrent.CopyOnWriteArrayList | grep -i lock'; \
javap -p java.util.concurrent.CopyOnWriteArrayList 2>&1 | grep -vE 'JAVA_TOOL_OPTIONS|^WARNING' | grep -i lock; } \
> output/06-javap-lock-field.txt
echo "Regenerated output/01-06. output/07-write-throughput-race.txt is a one-off captured failure"
echo "from an earlier, deliberately buggy version of the write benchmark - see the README - and"
echo "is NOT regenerated by this script."