Increase MediaScannerNotificationTest Timeout
Bug 5728172
Raising the timeout to a ridiculous amount just to see if it passes
in the lab at all. Improve the error message to see the file count.
Change-Id: Ifc23604eee6bfbfe84769ee4a17036941d0df183
diff --git a/tests/tests/media/src/android/media/cts/MediaScannerNotificationTest.java b/tests/tests/media/src/android/media/cts/MediaScannerNotificationTest.java
index c753ff1..f6ceacf 100644
--- a/tests/tests/media/src/android/media/cts/MediaScannerNotificationTest.java
+++ b/tests/tests/media/src/android/media/cts/MediaScannerNotificationTest.java
@@ -24,6 +24,7 @@
import android.os.Environment;
import android.test.AndroidTestCase;
+import java.io.File;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
@@ -52,7 +53,7 @@
static class ScannerNotificationReceiver extends BroadcastReceiver {
- private static final int TIMEOUT_MS = 30 * 1000;
+ private static final int TIMEOUT_MS = 4 * 60 * 1000;
private final String mAction;
private final CountDownLatch mLatch = new CountDownLatch(1);
@@ -69,8 +70,26 @@
}
public void waitForBroadcast() throws InterruptedException {
- assertTrue("Failed to receive broadcast for " + mAction,
- mLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
+ if (!mLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS)) {
+ int numFiles = countFiles(Environment.getExternalStorageDirectory());
+ fail("Failed to receive broadcast in " + TIMEOUT_MS + "ms for " + mAction
+ + " while trying to scan " + numFiles + " files!");
+ }
+ }
+
+ private int countFiles(File dir) {
+ int count = 0;
+ File[] files = dir.listFiles();
+ if (files != null) {
+ for (File file : files) {
+ if (file.isDirectory()) {
+ count += countFiles(file);
+ } else {
+ count++;
+ }
+ }
+ }
+ return count;
}
}
}