Add an optional 'seed' value to the AUPT test runner
Change-Id: I79d85094ecf2033fa52dc01e62fbfc32ed13d319
diff --git a/libraries/aupt-lib/src/android/support/test/aupt/AuptTestRunner.java b/libraries/aupt-lib/src/android/support/test/aupt/AuptTestRunner.java
index 75030bf..23c4e45 100644
--- a/libraries/aupt-lib/src/android/support/test/aupt/AuptTestRunner.java
+++ b/libraries/aupt-lib/src/android/support/test/aupt/AuptTestRunner.java
@@ -50,6 +50,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Random;
/**
* Test runner to use when running AUPT tests.
@@ -67,6 +68,7 @@
private Bundle mParams;
private long mIterations;
+ private Random mRandom;
private boolean mShuffle;
private boolean mGenerateAnr;
private long mTestCaseTimeout = TimeUnit.MINUTES.toMillis(10);
@@ -99,6 +101,9 @@
mIterations = parseLongParam("iterations", 1);
mShuffle = parseBooleanParam("shuffle", false);
+ long seed = parseLongParam("seed", (new Random()).nextLong());
+ Log.d(LOG_TAG, String.format("Using seed value: %s", seed));
+ mRandom = new Random(seed);
// set to 'generateANR to 'true' when more info required for debugging on test timeout'
mGenerateAnr = parseBooleanParam("generateANR", false);
if (parseBooleanParam("quitOnError", false)) {
@@ -309,10 +314,11 @@
for (int i = 0; i < mIterations; i++) {
if (mShuffle) {
- Collections.shuffle(testCases);
+ Collections.shuffle(testCases, mRandom);
}
completeList.addAll(testCases);
}
+
mTestCases = completeList;
return mTestCases;
}