mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Add timeout to CountDownLatch awaits
This is to avoid tests hanging forever PiperOrigin-RevId: 665826507
This commit is contained in:
parent
351593a250
commit
059ad62377
@ -22,6 +22,7 @@ import static androidx.media3.transformer.AndroidTestUtil.PNG_ASSET;
|
|||||||
import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
|
import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
|
||||||
import static com.google.common.collect.Iterables.getLast;
|
import static com.google.common.collect.Iterables.getLast;
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.view.SurfaceView;
|
import android.view.SurfaceView;
|
||||||
@ -46,6 +47,7 @@ import com.google.common.collect.Iterables;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.CountDownLatch;
|
import java.util.concurrent.CountDownLatch;
|
||||||
|
import java.util.concurrent.TimeoutException;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@ -480,8 +482,10 @@ public class CompositionPlayerSeekTest {
|
|||||||
latch = new CountDownLatch(count);
|
latch = new CountDownLatch(count);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void await() throws InterruptedException {
|
public void await() throws InterruptedException, TimeoutException {
|
||||||
latch.await();
|
if (!latch.await(TEST_TIMEOUT_MS, MILLISECONDS)) {
|
||||||
|
throw new TimeoutException();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void countDown() {
|
public void countDown() {
|
||||||
|
@ -48,6 +48,7 @@ import static androidx.media3.transformer.Transformer.PROGRESS_STATE_UNAVAILABLE
|
|||||||
import static androidx.media3.transformer.Transformer.PROGRESS_STATE_WAITING_FOR_AVAILABILITY;
|
import static androidx.media3.transformer.Transformer.PROGRESS_STATE_WAITING_FOR_AVAILABILITY;
|
||||||
import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
|
import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
import static java.util.concurrent.TimeUnit.SECONDS;
|
||||||
import static org.junit.Assert.assertThrows;
|
import static org.junit.Assert.assertThrows;
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
import static org.mockito.ArgumentMatchers.eq;
|
import static org.mockito.ArgumentMatchers.eq;
|
||||||
@ -122,6 +123,9 @@ import org.robolectric.shadows.ShadowMediaCodec;
|
|||||||
*/
|
*/
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public final class MediaItemExportTest {
|
public final class MediaItemExportTest {
|
||||||
|
|
||||||
|
private static final long TEST_TIMEOUT_SECONDS = 10;
|
||||||
|
|
||||||
@Rule public final TemporaryFolder outputDir = new TemporaryFolder();
|
@Rule public final TemporaryFolder outputDir = new TemporaryFolder();
|
||||||
|
|
||||||
private final Context context = ApplicationProvider.getApplicationContext();
|
private final Context context = ApplicationProvider.getApplicationContext();
|
||||||
@ -1079,7 +1083,9 @@ public final class MediaItemExportTest {
|
|||||||
countDownLatch.countDown();
|
countDownLatch.countDown();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
countDownLatch.await();
|
if (!countDownLatch.await(TEST_TIMEOUT_SECONDS, SECONDS)) {
|
||||||
|
throw new TimeoutException();
|
||||||
|
}
|
||||||
|
|
||||||
assertThat(exception.get()).isNull();
|
assertThat(exception.get()).isNull();
|
||||||
DumpFileAsserts.assertOutput(
|
DumpFileAsserts.assertOutput(
|
||||||
@ -1109,7 +1115,9 @@ public final class MediaItemExportTest {
|
|||||||
countDownLatch.countDown();
|
countDownLatch.countDown();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
countDownLatch.await();
|
if (!countDownLatch.await(TEST_TIMEOUT_SECONDS, SECONDS)) {
|
||||||
|
throw new TimeoutException();
|
||||||
|
}
|
||||||
|
|
||||||
assertThat(illegalStateException.get()).isNotNull();
|
assertThat(illegalStateException.get()).isNotNull();
|
||||||
}
|
}
|
||||||
@ -1422,7 +1430,9 @@ public final class MediaItemExportTest {
|
|||||||
countDownLatch.countDown();
|
countDownLatch.countDown();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
countDownLatch.await();
|
if (!countDownLatch.await(TEST_TIMEOUT_SECONDS, SECONDS)) {
|
||||||
|
throw new TimeoutException();
|
||||||
|
}
|
||||||
|
|
||||||
assertThat(illegalStateException.get()).isNotNull();
|
assertThat(illegalStateException.get()).isNotNull();
|
||||||
}
|
}
|
||||||
@ -1529,7 +1539,9 @@ public final class MediaItemExportTest {
|
|||||||
countDownLatch.countDown();
|
countDownLatch.countDown();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
countDownLatch.await();
|
if (!countDownLatch.await(TEST_TIMEOUT_SECONDS, SECONDS)) {
|
||||||
|
throw new TimeoutException();
|
||||||
|
}
|
||||||
|
|
||||||
assertThat(illegalStateException.get()).isNotNull();
|
assertThat(illegalStateException.get()).isNotNull();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user