Loading tests/DynamicCodeLoggerIntegrationTests/Android.bp 0 → 100644 +60 −0 Original line number Diff line number Diff line // // Copyright 2017 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 { default_applicable_licenses: ["frameworks_base_license"], } java_test_helper_library { name: "DynamicCodeLoggerTestLibrary", srcs: ["src/com/android/dcl/**/*.java"], } cc_library_shared { name: "DynamicCodeLoggerNativeTestLibrary", srcs: ["src/cpp/com_android_dcl_Jni.cpp"], header_libs: ["jni_headers"], sdk_version: "28", stl: "c++_static", } cc_binary { name: "DynamicCodeLoggerNativeExecutable", srcs: ["src/cpp/test_executable.cpp"], } android_test { name: "DynamicCodeLoggerIntegrationTests", sdk_version: "current", test_suites: ["device-tests"], certificate: "shared", srcs: ["src/com/android/server/pm/**/*.java"], static_libs: [ "androidx.test.rules", "truth-prebuilt", ], compile_multilib: "both", jni_libs: ["DynamicCodeLoggerNativeTestLibrary"], java_resources: [ ":DynamicCodeLoggerTestLibrary", ":DynamicCodeLoggerNativeExecutable", ], } tests/DynamicCodeLoggerIntegrationTests/Android.mkdeleted 100644 → 0 +0 −95 Original line number Diff line number Diff line # # Copyright 2017 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. # LOCAL_PATH:= $(call my-dir) # Build a tiny library that the test app can dynamically load include $(CLEAR_VARS) LOCAL_MODULE_TAGS := tests LOCAL_MODULE := DynamicCodeLoggerTestLibrary LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 LOCAL_LICENSE_CONDITIONS := notice LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../NOTICE LOCAL_SRC_FILES := $(call all-java-files-under, src/com/android/dcl) include $(BUILD_JAVA_LIBRARY) dynamiccodeloggertest_jar := $(LOCAL_BUILT_MODULE) # Also build a native library that the test app can dynamically load include $(CLEAR_VARS) LOCAL_MODULE_TAGS := tests LOCAL_MODULE := DynamicCodeLoggerNativeTestLibrary LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 LOCAL_LICENSE_CONDITIONS := notice LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../NOTICE LOCAL_SRC_FILES := src/cpp/com_android_dcl_Jni.cpp LOCAL_HEADER_LIBRARIES := jni_headers LOCAL_SDK_VERSION := 28 LOCAL_NDK_STL_VARIANT := c++_static include $(BUILD_SHARED_LIBRARY) # And a standalone native executable that we can exec. include $(CLEAR_VARS) LOCAL_MODULE_TAGS := tests LOCAL_MODULE := DynamicCodeLoggerNativeExecutable LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 LOCAL_LICENSE_CONDITIONS := notice LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../NOTICE LOCAL_SRC_FILES := src/cpp/test_executable.cpp include $(BUILD_EXECUTABLE) dynamiccodeloggertest_executable := $(LOCAL_BUILT_MODULE) # Build the test app itself include $(CLEAR_VARS) LOCAL_MODULE_TAGS := tests LOCAL_PACKAGE_NAME := DynamicCodeLoggerIntegrationTests LOCAL_SDK_VERSION := current LOCAL_COMPATIBILITY_SUITE := device-tests LOCAL_CERTIFICATE := shared LOCAL_SRC_FILES := $(call all-java-files-under, src/com/android/server/pm) LOCAL_STATIC_JAVA_LIBRARIES := \ androidx.test.rules \ truth-prebuilt \ # Include both versions of the .so if we have 2 arch LOCAL_MULTILIB := both LOCAL_JNI_SHARED_LIBRARIES := \ DynamicCodeLoggerNativeTestLibrary \ # This gets us the javalib.jar built by DynamicCodeLoggerTestLibrary above as well as the various # native binaries. LOCAL_JAVA_RESOURCE_FILES := \ $(dynamiccodeloggertest_jar) \ $(dynamiccodeloggertest_executable) \ LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 LOCAL_LICENSE_CONDITIONS := notice LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../NOTICE include $(BUILD_PACKAGE) tests/DynamicCodeLoggerIntegrationTests/src/com/android/server/pm/dex/DynamicCodeLoggerIntegrationTests.java +4 −2 Original line number Diff line number Diff line Loading @@ -114,7 +114,8 @@ public final class DynamicCodeLoggerIntegrationTests { // Obtained via "echo -n copied.jar | sha256sum" String expectedNameHash = "1B6C71DB26F36582867432CCA12FB6A517470C9F9AABE9198DD4C5C030D6DC0C"; String expectedContentHash = copyAndHashResource("/javalib.jar", privateCopyFile); String expectedContentHash = copyAndHashResource( "/DynamicCodeLoggerTestLibrary.jar", privateCopyFile); // Feed the jar to a class loader and make sure it contains what we expect. ClassLoader parentClassLoader = sContext.getClass().getClassLoader(); Loading @@ -135,7 +136,8 @@ public final class DynamicCodeLoggerIntegrationTests { File privateCopyFile = privateFile("copied2.jar"); String expectedNameHash = "202158B6A3169D78F1722487205A6B036B3F2F5653FDCFB4E74710611AC7EB93"; String expectedContentHash = copyAndHashResource("/javalib.jar", privateCopyFile); String expectedContentHash = copyAndHashResource( "/DynamicCodeLoggerTestLibrary.jar", privateCopyFile); // This time make sure an unknown class loader is an ancestor of the class loader we use. ClassLoader knownClassLoader = sContext.getClass().getClassLoader(); Loading Loading
tests/DynamicCodeLoggerIntegrationTests/Android.bp 0 → 100644 +60 −0 Original line number Diff line number Diff line // // Copyright 2017 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 { default_applicable_licenses: ["frameworks_base_license"], } java_test_helper_library { name: "DynamicCodeLoggerTestLibrary", srcs: ["src/com/android/dcl/**/*.java"], } cc_library_shared { name: "DynamicCodeLoggerNativeTestLibrary", srcs: ["src/cpp/com_android_dcl_Jni.cpp"], header_libs: ["jni_headers"], sdk_version: "28", stl: "c++_static", } cc_binary { name: "DynamicCodeLoggerNativeExecutable", srcs: ["src/cpp/test_executable.cpp"], } android_test { name: "DynamicCodeLoggerIntegrationTests", sdk_version: "current", test_suites: ["device-tests"], certificate: "shared", srcs: ["src/com/android/server/pm/**/*.java"], static_libs: [ "androidx.test.rules", "truth-prebuilt", ], compile_multilib: "both", jni_libs: ["DynamicCodeLoggerNativeTestLibrary"], java_resources: [ ":DynamicCodeLoggerTestLibrary", ":DynamicCodeLoggerNativeExecutable", ], }
tests/DynamicCodeLoggerIntegrationTests/Android.mkdeleted 100644 → 0 +0 −95 Original line number Diff line number Diff line # # Copyright 2017 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. # LOCAL_PATH:= $(call my-dir) # Build a tiny library that the test app can dynamically load include $(CLEAR_VARS) LOCAL_MODULE_TAGS := tests LOCAL_MODULE := DynamicCodeLoggerTestLibrary LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 LOCAL_LICENSE_CONDITIONS := notice LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../NOTICE LOCAL_SRC_FILES := $(call all-java-files-under, src/com/android/dcl) include $(BUILD_JAVA_LIBRARY) dynamiccodeloggertest_jar := $(LOCAL_BUILT_MODULE) # Also build a native library that the test app can dynamically load include $(CLEAR_VARS) LOCAL_MODULE_TAGS := tests LOCAL_MODULE := DynamicCodeLoggerNativeTestLibrary LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 LOCAL_LICENSE_CONDITIONS := notice LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../NOTICE LOCAL_SRC_FILES := src/cpp/com_android_dcl_Jni.cpp LOCAL_HEADER_LIBRARIES := jni_headers LOCAL_SDK_VERSION := 28 LOCAL_NDK_STL_VARIANT := c++_static include $(BUILD_SHARED_LIBRARY) # And a standalone native executable that we can exec. include $(CLEAR_VARS) LOCAL_MODULE_TAGS := tests LOCAL_MODULE := DynamicCodeLoggerNativeExecutable LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 LOCAL_LICENSE_CONDITIONS := notice LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../NOTICE LOCAL_SRC_FILES := src/cpp/test_executable.cpp include $(BUILD_EXECUTABLE) dynamiccodeloggertest_executable := $(LOCAL_BUILT_MODULE) # Build the test app itself include $(CLEAR_VARS) LOCAL_MODULE_TAGS := tests LOCAL_PACKAGE_NAME := DynamicCodeLoggerIntegrationTests LOCAL_SDK_VERSION := current LOCAL_COMPATIBILITY_SUITE := device-tests LOCAL_CERTIFICATE := shared LOCAL_SRC_FILES := $(call all-java-files-under, src/com/android/server/pm) LOCAL_STATIC_JAVA_LIBRARIES := \ androidx.test.rules \ truth-prebuilt \ # Include both versions of the .so if we have 2 arch LOCAL_MULTILIB := both LOCAL_JNI_SHARED_LIBRARIES := \ DynamicCodeLoggerNativeTestLibrary \ # This gets us the javalib.jar built by DynamicCodeLoggerTestLibrary above as well as the various # native binaries. LOCAL_JAVA_RESOURCE_FILES := \ $(dynamiccodeloggertest_jar) \ $(dynamiccodeloggertest_executable) \ LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 LOCAL_LICENSE_CONDITIONS := notice LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../NOTICE include $(BUILD_PACKAGE)
tests/DynamicCodeLoggerIntegrationTests/src/com/android/server/pm/dex/DynamicCodeLoggerIntegrationTests.java +4 −2 Original line number Diff line number Diff line Loading @@ -114,7 +114,8 @@ public final class DynamicCodeLoggerIntegrationTests { // Obtained via "echo -n copied.jar | sha256sum" String expectedNameHash = "1B6C71DB26F36582867432CCA12FB6A517470C9F9AABE9198DD4C5C030D6DC0C"; String expectedContentHash = copyAndHashResource("/javalib.jar", privateCopyFile); String expectedContentHash = copyAndHashResource( "/DynamicCodeLoggerTestLibrary.jar", privateCopyFile); // Feed the jar to a class loader and make sure it contains what we expect. ClassLoader parentClassLoader = sContext.getClass().getClassLoader(); Loading @@ -135,7 +136,8 @@ public final class DynamicCodeLoggerIntegrationTests { File privateCopyFile = privateFile("copied2.jar"); String expectedNameHash = "202158B6A3169D78F1722487205A6B036B3F2F5653FDCFB4E74710611AC7EB93"; String expectedContentHash = copyAndHashResource("/javalib.jar", privateCopyFile); String expectedContentHash = copyAndHashResource( "/DynamicCodeLoggerTestLibrary.jar", privateCopyFile); // This time make sure an unknown class loader is an ancestor of the class loader we use. ClassLoader knownClassLoader = sContext.getClass().getClassLoader(); Loading