Use TrackingAwaiter properly to track lost exceptions. Using the static method wasn't guaranteed to catch all bugs. Also convert to a singleton since there's no reason to have multiple instances.
--
MOS_MIGRATED_REVID=102158719
diff --git a/src/test/java/com/google/devtools/build/skyframe/ChainedFunction.java b/src/test/java/com/google/devtools/build/skyframe/ChainedFunction.java
index 4f87bb3..48325b0 100644
--- a/src/test/java/com/google/devtools/build/skyframe/ChainedFunction.java
+++ b/src/test/java/com/google/devtools/build/skyframe/ChainedFunction.java
@@ -54,12 +54,12 @@
notifyStart.countDown();
}
if (waitToFinish != null) {
- TrackingAwaiter.waitAndMaybeThrowInterrupt(waitToFinish,
- key + " timed out waiting to finish");
+ TrackingAwaiter.INSTANCE.awaitLatchAndTrackExceptions(
+ waitToFinish, key + " timed out waiting to finish");
if (waitForException) {
SkyFunctionEnvironment skyEnv = (SkyFunctionEnvironment) env;
- TrackingAwaiter.waitAndMaybeThrowInterrupt(skyEnv.getExceptionLatchForTesting(),
- key + " timed out waiting for exception");
+ TrackingAwaiter.INSTANCE.awaitLatchAndTrackExceptions(
+ skyEnv.getExceptionLatchForTesting(), key + " timed out waiting for exception");
}
}
for (SkyKey dep : deps) {