From b1e823a8527752d47365e3b9f8e190f478b6ba68 Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Tue, 23 Aug 2016 10:09:40 -0700 Subject: Fixed test case that fails because of string order. Test: m -j32 FrameworksCoreTests && adb install -r -g ${ANDROID_PRODUCT_OUT}/data/app/FrameworksCoreTests/FrameworksCoreTests.apk && adb shell am instrument -e class "android.net.NetworkPolicyManagerTest" -w "com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner" BUG: 28791717 Change-Id: Iaef6d8f1a82c6ab4af88f71e5b9e42e0386ed512 --- .../src/android/net/NetworkPolicyManagerTest.java | 39 +++++++++++++++------- 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/core/tests/coretests/src/android/net/NetworkPolicyManagerTest.java b/core/tests/coretests/src/android/net/NetworkPolicyManagerTest.java index d0de2ceffe3b..b5e3a71adfa4 100644 --- a/core/tests/coretests/src/android/net/NetworkPolicyManagerTest.java +++ b/core/tests/coretests/src/android/net/NetworkPolicyManagerTest.java @@ -30,11 +30,14 @@ import static android.net.NetworkPolicyManager.uidPoliciesToString; import static android.net.NetworkPolicyManager.uidRulesToString; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; +import java.util.Arrays; + @RunWith(JUnit4.class) public class NetworkPolicyManagerTest { @@ -48,22 +51,27 @@ public class NetworkPolicyManagerTest { uidRulesToStringTest(RULE_REJECT_ALL, "64 (REJECT_ALL)"); uidRulesToStringTest(RULE_ALLOW_METERED | RULE_ALLOW_ALL, - "33 (ALLOW_METERED|ALLOW_ALL)"); + "33 (ALLOW_METERED|ALLOW_ALL)", + "33 (ALLOW_ALL|ALLOW_METERED)"); uidRulesToStringTest(RULE_ALLOW_METERED | RULE_REJECT_ALL, - "65 (ALLOW_METERED|REJECT_ALL)"); + "65 (ALLOW_METERED|REJECT_ALL)", + "65 (REJECT_ALL|ALLOW_METERED)"); uidRulesToStringTest(RULE_TEMPORARY_ALLOW_METERED | RULE_ALLOW_ALL, - "34 (TEMPORARY_ALLOW_METERED|ALLOW_ALL)"); + "34 (TEMPORARY_ALLOW_METERED|ALLOW_ALL)", + "34 (ALLOW_ALL|TEMPORARY_ALLOW_METERED)"); uidRulesToStringTest(RULE_TEMPORARY_ALLOW_METERED | RULE_REJECT_ALL, - "66 (TEMPORARY_ALLOW_METERED|REJECT_ALL)"); + "66 (TEMPORARY_ALLOW_METERED|REJECT_ALL)", + "66 (REJECT_ALL|TEMPORARY_ALLOW_METERED)"); uidRulesToStringTest(RULE_REJECT_METERED | RULE_ALLOW_ALL, - "36 (REJECT_METERED|ALLOW_ALL)"); + "36 (REJECT_METERED|ALLOW_ALL)", + "36 (ALLOW_ALL|REJECT_METERED)"); uidRulesToStringTest(RULE_REJECT_METERED | RULE_REJECT_ALL, - "68 (REJECT_METERED|REJECT_ALL)"); + "68 (REJECT_METERED|REJECT_ALL)", + "68 (REJECT_ALL|REJECT_METERED)"); } - private void uidRulesToStringTest(int uidRules, String expected) { - final String actual = uidRulesToString(uidRules); - assertEquals("Wrong string for uidRules " + uidRules, expected, actual); + private void uidRulesToStringTest(int uidRules, String... expectedOptions) { + assertContains(uidRulesToString(uidRules), expectedOptions); } @Test @@ -75,9 +83,8 @@ public class NetworkPolicyManagerTest { "2 (ALLOW_BACKGROUND_BATTERY_SAVE)"); } - private void uidPoliciesToStringTest(int policyRules, String expected) { - final String actual = uidPoliciesToString(policyRules); - assertEquals("Wrong string for policyRules " + policyRules, expected, actual); + private void uidPoliciesToStringTest(int policyRules, String... expectedOptions) { + assertContains(uidPoliciesToString(policyRules), expectedOptions); } @Test @@ -130,4 +137,12 @@ public class NetworkPolicyManagerTest { assertEquals(RULE_REJECT_ALL, MASK_ALL_NETWORKS & (RULE_REJECT_ALL | RULE_REJECT_METERED)); } + + // TODO: use Truth or Hamcrest + private void assertContains(String actual, String...expectedOptions) { + for (String expected : expectedOptions) { + if (expected.equals(actual)) return; + } + fail(actual + " not in " + Arrays.toString(expectedOptions)); + } } -- cgit v1.2.3-59-g8ed1b