diff options
-rw-r--r-- | core/tests/coretests/Android.bp | 1 | ||||
-rw-r--r-- | core/tests/utiltests/Android.bp | 1 | ||||
-rw-r--r-- | ravenwood/README-ravenwood+mockito.md | 24 | ||||
-rwxr-xr-x | ravenwood/list-ravenwood-tests.sh | 18 | ||||
-rw-r--r-- | ravenwood/mockito/Android.bp | 12 | ||||
-rw-r--r-- | ravenwood/mockito/test/com/android/ravenwood/mockito/RavenwoodMockitoTest.java | 10 | ||||
-rwxr-xr-x | ravenwood/run-ravenwood-tests.sh | 22 | ||||
-rw-r--r-- | services/tests/InputMethodSystemServerTests/Android.bp | 1 | ||||
-rw-r--r-- | services/tests/powerstatstests/Android.bp | 1 | ||||
-rw-r--r-- | services/tests/servicestests/Android.bp | 1 |
10 files changed, 50 insertions, 41 deletions
diff --git a/core/tests/coretests/Android.bp b/core/tests/coretests/Android.bp index f47679991418..513e022f8069 100644 --- a/core/tests/coretests/Android.bp +++ b/core/tests/coretests/Android.bp @@ -203,7 +203,6 @@ android_ravenwood_test { "androidx.test.uiautomator_uiautomator", "compatibility-device-util-axt", "flag-junit", - "mockito_ravenwood", "platform-test-annotations", "flag-junit", "testng", diff --git a/core/tests/utiltests/Android.bp b/core/tests/utiltests/Android.bp index 2ccee71c8ff7..f5563a710563 100644 --- a/core/tests/utiltests/Android.bp +++ b/core/tests/utiltests/Android.bp @@ -60,7 +60,6 @@ android_ravenwood_test { static_libs: [ "androidx.annotation_annotation", "androidx.test.rules", - "mockito_ravenwood", "frameworks-base-testutils", "servicestests-utils", ], diff --git a/ravenwood/README-ravenwood+mockito.md b/ravenwood/README-ravenwood+mockito.md deleted file mode 100644 index 6adb61441bb1..000000000000 --- a/ravenwood/README-ravenwood+mockito.md +++ /dev/null @@ -1,24 +0,0 @@ -# Ravenwood and Mockito - -Last update: 2023-11-13 - -- As of 2023-11-13, `external/mockito` is based on version 2.x. -- Mockito didn't support static mocking before 3.4.0. - See: https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#48 - -- Latest Mockito is 5.*. According to https://github.com/mockito/mockito: - `Mockito 3 does not introduce any breaking API changes, but now requires Java 8 over Java 6 for Mockito 2. Mockito 4 removes deprecated API. Mockito 5 switches the default mockmaker to mockito-inline, and now requires Java 11.` - -- Mockito now supports Android natively. - See: https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#0.1 - - But it's unclear at this point to omakoto@ how the `mockito-android` module is built. - -- Potential plan: - - Ideal option: - - If we can update `external/mockito`, that'd be great, but it may not work because - Mockito has removed the deprecated APIs. - - Second option: - - Import the latest mockito as `external/mockito-new`, and require ravenwood - to use this one. - - The latest mockito needs be exposed to all of 1) device tests, 2) host tests, and 3) ravenwood tests. - - This probably will require the latest `bytebuddy` and `objenesis`.
\ No newline at end of file diff --git a/ravenwood/list-ravenwood-tests.sh b/ravenwood/list-ravenwood-tests.sh new file mode 100755 index 000000000000..fb9b823ee93b --- /dev/null +++ b/ravenwood/list-ravenwood-tests.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Copyright (C) 2024 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. + +# List all the ravenwood test modules. + +jq -r 'to_entries[] | select( .value.compatibility_suites | index("ravenwood-tests") ) | .key' "$OUT/module-info.json" diff --git a/ravenwood/mockito/Android.bp b/ravenwood/mockito/Android.bp index 4135022d2bc9..a74bca47f692 100644 --- a/ravenwood/mockito/Android.bp +++ b/ravenwood/mockito/Android.bp @@ -7,16 +7,6 @@ package { default_applicable_licenses: ["frameworks_base_license"], } -// Ravenwood tests run on the hostside, so we need mockit of the host variant. -// But we need to use it in modules of the android variant, so we "wash" the variant with it. -java_host_for_device { - name: "mockito_ravenwood", - libs: [ - "mockito", - "objenesis", - ], -} - android_ravenwood_test { name: "RavenwoodMockitoTest", @@ -26,8 +16,6 @@ android_ravenwood_test { static_libs: [ "junit", "truth", - - "mockito_ravenwood", ], libs: [ "android.test.mock", diff --git a/ravenwood/mockito/test/com/android/ravenwood/mockito/RavenwoodMockitoTest.java b/ravenwood/mockito/test/com/android/ravenwood/mockito/RavenwoodMockitoTest.java index 364a86a0ec5f..1284d64b9a90 100644 --- a/ravenwood/mockito/test/com/android/ravenwood/mockito/RavenwoodMockitoTest.java +++ b/ravenwood/mockito/test/com/android/ravenwood/mockito/RavenwoodMockitoTest.java @@ -22,6 +22,7 @@ import static org.mockito.Mockito.when; import android.content.Context; import android.content.Intent; +import android.os.Parcel; import android.platform.test.ravenwood.RavenwoodRule; import org.junit.Rule; @@ -78,4 +79,13 @@ public class RavenwoodMockitoTest { assertThat(object.getPackageName()).isEqualTo("android"); } + + @Test + public void testMockFinalClass() { + var object = mock(Parcel.class); + + when(object.readInt()).thenReturn(123); + + assertThat(object.readInt()).isEqualTo(123); + } } diff --git a/ravenwood/run-ravenwood-tests.sh b/ravenwood/run-ravenwood-tests.sh new file mode 100755 index 000000000000..3f4b8a79e864 --- /dev/null +++ b/ravenwood/run-ravenwood-tests.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# Copyright (C) 2024 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. + +# Run all the ravenwood tests. + +# "echo" is to remove the newlines +all_tests=$(echo $(${0%/*}/list-ravenwood-tests.sh) ) + +echo "Running tests: $all_tests" +atest $all_tests diff --git a/services/tests/InputMethodSystemServerTests/Android.bp b/services/tests/InputMethodSystemServerTests/Android.bp index 56423b961813..897afbfd2046 100644 --- a/services/tests/InputMethodSystemServerTests/Android.bp +++ b/services/tests/InputMethodSystemServerTests/Android.bp @@ -73,7 +73,6 @@ android_ravenwood_test { "androidx.annotation_annotation", "androidx.test.rules", "framework", - "mockito_ravenwood", "ravenwood-runtime", "ravenwood-utils", "services", diff --git a/services/tests/powerstatstests/Android.bp b/services/tests/powerstatstests/Android.bp index f49f6383b3c8..64fef68e387a 100644 --- a/services/tests/powerstatstests/Android.bp +++ b/services/tests/powerstatstests/Android.bp @@ -81,7 +81,6 @@ android_ravenwood_test { "androidx.annotation_annotation", "androidx.test.rules", "truth", - "mockito_ravenwood", ], srcs: [ ":power_stats_ravenwood_tests", diff --git a/services/tests/servicestests/Android.bp b/services/tests/servicestests/Android.bp index 5611415c8fb1..ad6e2c657c96 100644 --- a/services/tests/servicestests/Android.bp +++ b/services/tests/servicestests/Android.bp @@ -153,7 +153,6 @@ android_ravenwood_test { static_libs: [ "androidx.annotation_annotation", "androidx.test.rules", - "mockito_ravenwood", "services.core", ], srcs: [ |