Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5c97595a authored by Michael Wright's avatar Michael Wright
Browse files

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
parent 2e7197c2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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/",
+12 −10
Original line number Diff line number Diff line
@@ -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...
        try {
            checkShouldSamplePackage(0.3f, 0.6f, false, true);
            fail();
        } catch (AssertionError expected) {
        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.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,