Avoid catching AssertionError for actual failures.

ActivityManagerServiceUtilsTest was checking to make sure its test
method would actually validate input and correctly fail. Unfortunately,
it also caught the AssertionError for the test _actually_ failing.

Bug: 217923092
Test: errorprone build
      ActivityManagerUtilsTest#testCheckShouldSamplePackage
Change-Id: Icd5a62c470b0f3d15de65f4b43d4355ba9c4661c
This commit is contained in:
Michael Wright
2022-02-04 20:08:57 +00:00
parent 2e7197c2ae
commit 5c97595aaf
2 changed files with 13 additions and 10 deletions

View File

@@ -18,6 +18,7 @@ java_defaults {
// "-Xep:AndroidFrameworkUid:ERROR",
"-Xep:SelfEquals:ERROR",
"-Xep:NullTernary:ERROR",
"-Xep:TryFailThrowable:ERROR",
// NOTE: only enable to generate local patchfiles
// "-XepPatchChecks:refaster:frameworks/base/errorprone/refaster/EfficientXml.java.refaster",
// "-XepPatchLocation:/tmp/refaster/",

View File

@@ -17,7 +17,7 @@ package com.android.server.am;
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.fail;
import static org.junit.Assert.assertTrue;
import androidx.test.filters.SmallTest;
@@ -89,18 +89,20 @@ public class ActivityManagerUtilsTest {
}
@Test
public void testSheckShouldSamplePackage() {
public void testCheckShouldSamplePackage() {
// Just make sure checkShouldSamplePackage is actually working...
assertFailure(() -> checkShouldSamplePackage(0.3f, 0.6f, false, true));
assertFailure(() -> checkShouldSamplePackage(0.6f, 0.3f, true, false));
}
private static void assertFailure(Runnable r) {
boolean failed = false;
try {
checkShouldSamplePackage(0.3f, 0.6f, false, true);
fail();
} catch (AssertionError expected) {
}
try {
checkShouldSamplePackage(0.6f, 0.3f, true, false);
fail();
} catch (AssertionError expected) {
r.run();
} catch (AssertionError e) {
failed = true;
}
assertTrue(failed);
}
private void checkShouldSamplePackage(float inputSampleRate, float expectedRate,