Loading AconfigFlags.bp +6 −0 Original line number Diff line number Diff line Loading @@ -529,6 +529,12 @@ java_aconfig_library { defaults: ["framework-minus-apex-aconfig-java-defaults"], } cc_aconfig_library { name: "com.android.internal.os_flags_c_lib", aconfig_declarations: "com.android.internal.os.flags-aconfig", host_supported: true, } // VirtualDeviceManager cc_aconfig_library { name: "android.companion.virtualdevice.flags-aconfig-cc", Loading ravenwood/tests/bivalenttest/Android.bp +38 −10 Original line number Diff line number Diff line Loading @@ -29,17 +29,20 @@ cc_library_shared { "libutils", "libcutils", ], static_libs: [ "libaconfig_storage_read_api_cc", "com.android.internal.os_flags_c_lib", ], } java_defaults { name: "ravenwood-bivalent-defaults", name: "ravenwood-bivalent-light-defaults", static_libs: [ "androidx.annotation_annotation", "androidx.test.ext.junit", "androidx.test.rules", "junit-params", "platform-parametric-runner-lib", "platform-compat-test-rules", // To make sure it won't cause VerifyError (b/324063814) Loading @@ -56,6 +59,39 @@ java_defaults { ], } java_defaults { name: "ravenwood-bivalent-defaults", defaults: [ "ravenwood-bivalent-light-defaults", ], static_libs: [ // This has a robolectric dependency, which would slow down builds. "platform-parametric-runner-lib", ], } android_ravenwood_test { name: "RavenwoodBivalentTest", defaults: ["ravenwood-bivalent-defaults"], target_sdk_version: "34", package_name: "com.android.ravenwoodtest.bivalenttest", auto_gen_config: true, } // Same as RavenwoodBivalentTest, minus ravenizer/*, to remove // the "platform-parametric-runner-lib" dependency, for faster rebuilds android_ravenwood_test { name: "RavenwoodBivalentTest-light", defaults: ["ravenwood-bivalent-light-defaults"], exclude_srcs: [ "test/**/ravenizer/*.java", "test/**/ravenizer/*.kt", ], target_sdk_version: "34", package_name: "com.android.ravenwoodtest.bivalenttest", auto_gen_config: true, } java_defaults { name: "ravenwood-bivalent-device-defaults", defaults: ["ravenwood-bivalent-defaults"], Loading @@ -82,14 +118,6 @@ java_defaults { test_config_template: "AndroidTestTemplate.xml", } android_ravenwood_test { name: "RavenwoodBivalentTest", defaults: ["ravenwood-bivalent-defaults"], target_sdk_version: "34", package_name: "com.android.ravenwoodtest.bivalenttest", auto_gen_config: true, } android_test { name: "RavenwoodBivalentTest_device", defaults: ["ravenwood-bivalent-device-defaults"], Loading ravenwood/tests/bivalenttest/jni/ravenwood_core_test_jni.cpp +33 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ */ #include <nativehelper/JNIHelp.h> #include <com_android_internal_os.h> #include <atomic> #include "jni.h" #include "utils/Log.h" Loading Loading @@ -79,6 +80,31 @@ static const JNINativeMethod sMethods_NarTestData[] = { "nGetTotalAlloc", "()I", (void*)NarTestData_nGetTotalAlloc }, }; // JNI methods for RavenwoodAconfigNativeFlagsTest static jboolean getRavenwoodFlagRo1(JNIEnv* env, jclass clazz) { return ::com::android::internal::os::ravenwood_flag_ro_1(); } static jboolean getRavenwoodFlagRo2(JNIEnv* env, jclass clazz) { return ::com::android::internal::os::ravenwood_flag_ro_2(); } static jboolean getRavenwoodFlagRw1(JNIEnv* env, jclass clazz) { return ::com::android::internal::os::ravenwood_flag_rw_1(); } static jboolean getRavenwoodFlagRw2(JNIEnv* env, jclass clazz) { return ::com::android::internal::os::ravenwood_flag_rw_2(); } static const JNINativeMethod sMethods_RavenwoodAconfigNativeFlagsTest[] = { { "getRavenwoodFlagRo1", "()Z", (void*)getRavenwoodFlagRo1 }, { "getRavenwoodFlagRo2", "()Z", (void*)getRavenwoodFlagRo2 }, { "getRavenwoodFlagRw1", "()Z", (void*)getRavenwoodFlagRw1 }, { "getRavenwoodFlagRw2", "()Z", (void*)getRavenwoodFlagRw2 }, }; extern "C" jint JNI_OnLoad(JavaVM* vm, void* /* reserved */) { JNIEnv* env = NULL; Loading @@ -104,6 +130,13 @@ extern "C" jint JNI_OnLoad(JavaVM* vm, void* /* reserved */) if (res < 0) { return res; } res = jniRegisterNativeMethods(env, "com/android/ravenwoodtest/bivalenttest/aconfig/RavenwoodAconfigNativeFlagsTest", sMethods_RavenwoodAconfigNativeFlagsTest, NELEM(sMethods_RavenwoodAconfigNativeFlagsTest)); if (res < 0) { return res; } return JNI_VERSION_1_4; } ravenwood/tests/bivalenttest/test/com/android/ravenwoodtest/bivalenttest/aconfig/RavenwoodAconfigNativeFlagsTest.java 0 → 100644 +58 −0 Original line number Diff line number Diff line /* * Copyright (C) 2025 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.ravenwoodtest.bivalenttest.aconfig; import static org.junit.Assert.assertEquals; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.android.internal.os.Flags; import com.android.ravenwoodtest.bivalenttest.RavenwoodJniTest; import org.junit.Test; import org.junit.runner.RunWith; @RunWith(AndroidJUnit4.class) public class RavenwoodAconfigNativeFlagsTest { static { RavenwoodJniTest.initializeJni(); } private static native boolean getRavenwoodFlagRo1(); private static native boolean getRavenwoodFlagRo2(); private static native boolean getRavenwoodFlagRw1(); private static native boolean getRavenwoodFlagRw2(); @Test public void testRavenwoodFlagRo1() { assertEquals(Flags.ravenwoodFlagRo1(), getRavenwoodFlagRo1()); } @Test public void testRavenwoodFlagRo2() { assertEquals(Flags.ravenwoodFlagRo2(), getRavenwoodFlagRo2()); } @Test public void testRavenwoodFlagRw1() { assertEquals(Flags.ravenwoodFlagRw1(), getRavenwoodFlagRw1()); } @Test public void testRavenwoodFlagRw2() { assertEquals(Flags.ravenwoodFlagRw2(), getRavenwoodFlagRw2()); } } Loading
AconfigFlags.bp +6 −0 Original line number Diff line number Diff line Loading @@ -529,6 +529,12 @@ java_aconfig_library { defaults: ["framework-minus-apex-aconfig-java-defaults"], } cc_aconfig_library { name: "com.android.internal.os_flags_c_lib", aconfig_declarations: "com.android.internal.os.flags-aconfig", host_supported: true, } // VirtualDeviceManager cc_aconfig_library { name: "android.companion.virtualdevice.flags-aconfig-cc", Loading
ravenwood/tests/bivalenttest/Android.bp +38 −10 Original line number Diff line number Diff line Loading @@ -29,17 +29,20 @@ cc_library_shared { "libutils", "libcutils", ], static_libs: [ "libaconfig_storage_read_api_cc", "com.android.internal.os_flags_c_lib", ], } java_defaults { name: "ravenwood-bivalent-defaults", name: "ravenwood-bivalent-light-defaults", static_libs: [ "androidx.annotation_annotation", "androidx.test.ext.junit", "androidx.test.rules", "junit-params", "platform-parametric-runner-lib", "platform-compat-test-rules", // To make sure it won't cause VerifyError (b/324063814) Loading @@ -56,6 +59,39 @@ java_defaults { ], } java_defaults { name: "ravenwood-bivalent-defaults", defaults: [ "ravenwood-bivalent-light-defaults", ], static_libs: [ // This has a robolectric dependency, which would slow down builds. "platform-parametric-runner-lib", ], } android_ravenwood_test { name: "RavenwoodBivalentTest", defaults: ["ravenwood-bivalent-defaults"], target_sdk_version: "34", package_name: "com.android.ravenwoodtest.bivalenttest", auto_gen_config: true, } // Same as RavenwoodBivalentTest, minus ravenizer/*, to remove // the "platform-parametric-runner-lib" dependency, for faster rebuilds android_ravenwood_test { name: "RavenwoodBivalentTest-light", defaults: ["ravenwood-bivalent-light-defaults"], exclude_srcs: [ "test/**/ravenizer/*.java", "test/**/ravenizer/*.kt", ], target_sdk_version: "34", package_name: "com.android.ravenwoodtest.bivalenttest", auto_gen_config: true, } java_defaults { name: "ravenwood-bivalent-device-defaults", defaults: ["ravenwood-bivalent-defaults"], Loading @@ -82,14 +118,6 @@ java_defaults { test_config_template: "AndroidTestTemplate.xml", } android_ravenwood_test { name: "RavenwoodBivalentTest", defaults: ["ravenwood-bivalent-defaults"], target_sdk_version: "34", package_name: "com.android.ravenwoodtest.bivalenttest", auto_gen_config: true, } android_test { name: "RavenwoodBivalentTest_device", defaults: ["ravenwood-bivalent-device-defaults"], Loading
ravenwood/tests/bivalenttest/jni/ravenwood_core_test_jni.cpp +33 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ */ #include <nativehelper/JNIHelp.h> #include <com_android_internal_os.h> #include <atomic> #include "jni.h" #include "utils/Log.h" Loading Loading @@ -79,6 +80,31 @@ static const JNINativeMethod sMethods_NarTestData[] = { "nGetTotalAlloc", "()I", (void*)NarTestData_nGetTotalAlloc }, }; // JNI methods for RavenwoodAconfigNativeFlagsTest static jboolean getRavenwoodFlagRo1(JNIEnv* env, jclass clazz) { return ::com::android::internal::os::ravenwood_flag_ro_1(); } static jboolean getRavenwoodFlagRo2(JNIEnv* env, jclass clazz) { return ::com::android::internal::os::ravenwood_flag_ro_2(); } static jboolean getRavenwoodFlagRw1(JNIEnv* env, jclass clazz) { return ::com::android::internal::os::ravenwood_flag_rw_1(); } static jboolean getRavenwoodFlagRw2(JNIEnv* env, jclass clazz) { return ::com::android::internal::os::ravenwood_flag_rw_2(); } static const JNINativeMethod sMethods_RavenwoodAconfigNativeFlagsTest[] = { { "getRavenwoodFlagRo1", "()Z", (void*)getRavenwoodFlagRo1 }, { "getRavenwoodFlagRo2", "()Z", (void*)getRavenwoodFlagRo2 }, { "getRavenwoodFlagRw1", "()Z", (void*)getRavenwoodFlagRw1 }, { "getRavenwoodFlagRw2", "()Z", (void*)getRavenwoodFlagRw2 }, }; extern "C" jint JNI_OnLoad(JavaVM* vm, void* /* reserved */) { JNIEnv* env = NULL; Loading @@ -104,6 +130,13 @@ extern "C" jint JNI_OnLoad(JavaVM* vm, void* /* reserved */) if (res < 0) { return res; } res = jniRegisterNativeMethods(env, "com/android/ravenwoodtest/bivalenttest/aconfig/RavenwoodAconfigNativeFlagsTest", sMethods_RavenwoodAconfigNativeFlagsTest, NELEM(sMethods_RavenwoodAconfigNativeFlagsTest)); if (res < 0) { return res; } return JNI_VERSION_1_4; }
ravenwood/tests/bivalenttest/test/com/android/ravenwoodtest/bivalenttest/aconfig/RavenwoodAconfigNativeFlagsTest.java 0 → 100644 +58 −0 Original line number Diff line number Diff line /* * Copyright (C) 2025 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.ravenwoodtest.bivalenttest.aconfig; import static org.junit.Assert.assertEquals; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.android.internal.os.Flags; import com.android.ravenwoodtest.bivalenttest.RavenwoodJniTest; import org.junit.Test; import org.junit.runner.RunWith; @RunWith(AndroidJUnit4.class) public class RavenwoodAconfigNativeFlagsTest { static { RavenwoodJniTest.initializeJni(); } private static native boolean getRavenwoodFlagRo1(); private static native boolean getRavenwoodFlagRo2(); private static native boolean getRavenwoodFlagRw1(); private static native boolean getRavenwoodFlagRw2(); @Test public void testRavenwoodFlagRo1() { assertEquals(Flags.ravenwoodFlagRo1(), getRavenwoodFlagRo1()); } @Test public void testRavenwoodFlagRo2() { assertEquals(Flags.ravenwoodFlagRo2(), getRavenwoodFlagRo2()); } @Test public void testRavenwoodFlagRw1() { assertEquals(Flags.ravenwoodFlagRw1(), getRavenwoodFlagRw1()); } @Test public void testRavenwoodFlagRw2() { assertEquals(Flags.ravenwoodFlagRw2(), getRavenwoodFlagRw2()); } }