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

Commit 884ec2de authored by Makoto Onuki's avatar Makoto Onuki
Browse files

Add tests for resource flags

- Flags work, except all RW flags are treated as "enabled".
- Also enable tests that no longer need to be disabled
- Also added a java system prop that has the runtime directory
path

Bug: 396458006
Test: $ANDROID_BUILD_TOP/frameworks/base/ravenwood/scripts/run-ravenwood-tests.sh -s
Flag: EXEMPT host test change only

Change-Id: I0402da0ba59c27c17b6dd4d2f646cdee7800a290
parent ccb970ba
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -23,7 +23,9 @@ import static android.platform.test.ravenwood.RavenwoodSystemServer.ANDROID_PACK
import static com.android.ravenwood.common.RavenwoodCommonUtils.RAVENWOOD_EMPTY_RESOURCES_APK;
import static com.android.ravenwood.common.RavenwoodCommonUtils.RAVENWOOD_INST_RESOURCE_APK;
import static com.android.ravenwood.common.RavenwoodCommonUtils.RAVENWOOD_RESOURCE_APK;
import static com.android.ravenwood.common.RavenwoodCommonUtils.RAVENWOOD_RUNTIME_PATH_JAVA_SYSPROP;
import static com.android.ravenwood.common.RavenwoodCommonUtils.RAVENWOOD_VERSION_JAVA_SYSPROP;
import static com.android.ravenwood.common.RavenwoodCommonUtils.getRavenwoodRuntimePath;
import static com.android.ravenwood.common.RavenwoodCommonUtils.parseNullableInt;
import static com.android.ravenwood.common.RavenwoodCommonUtils.withDefault;

@@ -271,6 +273,13 @@ public class RavenwoodRuntimeEnvironmentController {
        dumpJavaProperties();
        dumpOtherInfo();

        System.setProperty(RAVENWOOD_VERSION_JAVA_SYSPROP, "1");
        var runtimePath = getRavenwoodRuntimePath();
        System.setProperty(RAVENWOOD_RUNTIME_PATH_JAVA_SYSPROP, runtimePath);

        Log.i(TAG, "PWD=" + System.getProperty("user.dir"));
        Log.i(TAG, "RuntimePath=" + runtimePath);

        // Make sure libravenwood_runtime is loaded.
        System.load(RavenwoodCommonUtils.getJniLibraryPath(RAVENWOOD_NATIVE_RUNTIME_NAME));

@@ -314,7 +323,6 @@ public class RavenwoodRuntimeEnvironmentController {
        Typeface.loadPreinstalledSystemFontMap();
        Typeface.loadNativeSystemFonts();

        System.setProperty(RAVENWOOD_VERSION_JAVA_SYSPROP, "1");
        // This will let AndroidJUnit4 use the original runner.
        System.setProperty("android.junit.runner",
                "androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner");
+2 −0
Original line number Diff line number Diff line
@@ -68,6 +68,8 @@ public class RavenwoodCommonUtils {
            RAVENWOOD_RUNTIME_PATH + "ravenwood-data/ravenwood-empty-res.apk";

    public static final String RAVENWOOD_VERSION_JAVA_SYSPROP = "android.ravenwood.version";
    public static final String RAVENWOOD_RUNTIME_PATH_JAVA_SYSPROP =
            "android.ravenwood.runtime_path";

    /**
     * @return if we're running on Ravenwood.
+0 −4
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ import com.android.internal.os.Flags
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Assert.fail
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
@@ -40,7 +39,6 @@ class RavenwoodAconfigSimpleReadTests {
    }

    @Test
    @Ignore // TODO: Enable this test after rolling out the "2" flags.
    fun testTrueFlags() {
        assertTrue(Flags.ravenwoodFlagRo2())
        assertTrue(Flags.ravenwoodFlagRw2())
@@ -67,14 +65,12 @@ class RavenwoodAconfigCheckFlagsRuleTests {

    @Test
    @RequiresFlagsDisabled(Flags.FLAG_RAVENWOOD_FLAG_RO_2)
    @Ignore // TODO: Enable this test after rolling out the "2" flags.
    fun testRequireFlagsDisabledRo() {
        fail("This test shouldn't be executed")
    }

    @Test
    @RequiresFlagsDisabled(Flags.FLAG_RAVENWOOD_FLAG_RW_2)
    @Ignore // TODO: Enable this test after rolling out the "2" flags.
    fun testRequireFlagsDisabledRw() {
        fail("This test shouldn't be executed")
    }
+2 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ package {
android_ravenwood_test {
    name: "RavenwoodResApkTest",

    resource_apk: "RavenwoodResApkTest-apk",
    resource_apk: "RavenwoodResApkTest-res",

    libs: [
        // Normally, tests shouldn't directly access it, but we need to access RavenwoodCommonUtils
@@ -24,6 +24,7 @@ android_ravenwood_test {
    ],
    srcs: [
        "test/**/*.java",
        ":RavenwoodResApkTest-res{.aapt.srcjar}",
    ],
    sdk_version: "test_current",
    auto_gen_config: true,
+7 −1
Original line number Diff line number Diff line
@@ -8,7 +8,13 @@ package {
}

android_app {
    name: "RavenwoodResApkTest-apk",
    name: "RavenwoodResApkTest-res",

    sdk_version: "current",

    use_resource_processor: false,

    flags_packages: [
        "com.android.internal.os.flags-aconfig",
    ],
}
Loading