From 997fa461978f87fc2d9c444213b24ef56c29e7e4 Mon Sep 17 00:00:00 2001 From: Paul Duffin Date: Fri, 15 Feb 2019 12:58:26 +0000 Subject: Switch android.test and junit classes to use UnsupportedAppUsage The UnsupportedAppUsage annotations could not be added directly to the java files in src/ as they have to be built against the current api which does not include the annotation. Instead this uses the same technique as used for libcore/ojluni files and adds the annotations to stub files (in hiddenapi/src) which are built as part of the android.test.base-hiddenapi target. That target is added to a special whitelist in build/soong/java/config/config.go which causes the hiddenapi information to be extracted from the target. Also, updates the preupload check to prevent anymore entries being added to the config/hiddenapi-greylist.txt for android.test or junit classes. Bug: 73711752 Test: m cts-hiddenapi_flags-csv and check that it contained the correct entries even though they had been removed from config/hiddenapi-greylist.txt Change-Id: Ifaf15d2751f54cb03f8402b866a0ee4da7acc4d2 --- .../src/android/test/AndroidTestCase.java | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 test-base/hiddenapi/src/android/test/AndroidTestCase.java (limited to 'test-base/hiddenapi/src/android/test/AndroidTestCase.java') diff --git a/test-base/hiddenapi/src/android/test/AndroidTestCase.java b/test-base/hiddenapi/src/android/test/AndroidTestCase.java new file mode 100644 index 000000000000..2b9beb160110 --- /dev/null +++ b/test-base/hiddenapi/src/android/test/AndroidTestCase.java @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2019 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 android.test; + +import android.annotation.UnsupportedAppUsage; +import android.content.Context; + +import junit.framework.TestCase; + +/** + * @deprecated Stub only + */ +@SuppressWarnings({ "unchecked", "deprecation", "all" }) +@Deprecated +public class AndroidTestCase extends TestCase { + + /** + * Stub only + */ + @UnsupportedAppUsage + public void setTestContext(Context context) { + throw new RuntimeException("Stub!"); + } + + /** + * Stub only + */ + @UnsupportedAppUsage + public Context getTestContext() { + throw new RuntimeException("Stub!"); + } +} -- cgit v1.2.3