aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Mortimer <sam@mortimer.me.uk>2019-09-19 16:33:47 -0700
committerSam Mortimer <sam@mortimer.me.uk>2019-09-20 16:44:37 -0700
commit3d25e8b3f777d53da8ad92bd0dc97b1d24747b77 (patch)
tree8abcede1f403d9345869ae2c3892fed1bccdcccc
parent7e03d078bc4577defc09f48f20f411ca82291e5e (diff)
downloadlineage-sdk-3d25e8b3f777d53da8ad92bd0dc97b1d24747b77.tar.gz
lineage-sdk-3d25e8b3f777d53da8ad92bd0dc97b1d24747b77.tar.bz2
lineage-sdk-3d25e8b3f777d53da8ad92bd0dc97b1d24747b77.zip
lineage-sdk: Fix LineageSettingsProvider tests
* Fix bp and manifest to work with AndroidJUnitRunner. * Remove broken tests (we no longer intercept in fw/b settings provider and QS_USE_MAIN_TILES was removed). * Tests pass when executed using: adb shell am instrument org.lineageos.lineagesettings.tests/androidx.test.runner.AndroidJUnitRunner (see README.md for more info) Change-Id: I3fcf4885c61106f43e99847293220afee78e2f6a
-rw-r--r--packages/LineageSettingsProvider/tests/Android.bp11
-rw-r--r--packages/LineageSettingsProvider/tests/Android.mk37
-rw-r--r--packages/LineageSettingsProvider/tests/AndroidManifest.xml6
-rw-r--r--packages/LineageSettingsProvider/tests/README.md16
-rw-r--r--packages/LineageSettingsProvider/tests/proguard.flags2
-rw-r--r--packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsGlobalTests.java1
-rw-r--r--packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsProviderDefaultsTest.java9
-rw-r--r--packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsProviderTest.java40
-rw-r--r--packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsSecureTests.java1
-rw-r--r--packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsSystemTests.java1
-rw-r--r--sdk/src/java/lineageos/providers/LineageSettings.java29
11 files changed, 34 insertions, 119 deletions
diff --git a/packages/LineageSettingsProvider/tests/Android.bp b/packages/LineageSettingsProvider/tests/Android.bp
index 5a1148c5..d9e64db4 100644
--- a/packages/LineageSettingsProvider/tests/Android.bp
+++ b/packages/LineageSettingsProvider/tests/Android.bp
@@ -22,10 +22,17 @@ android_test {
srcs: ["**/*.java"],
certificate: "platform",
- libs: ["android.test.runner"],
+ libs: [
+ "android.test.base",
+ "android.test.runner",
+ ],
optimize: {
optimize: true,
+ proguard_flags_files: ["proguard.flags"],
},
- static_libs: ["org.lineageos.platform.internal"],
+ static_libs: [
+ "androidx.test.rules",
+ "org.lineageos.platform.internal",
+ ],
}
diff --git a/packages/LineageSettingsProvider/tests/Android.mk b/packages/LineageSettingsProvider/tests/Android.mk
deleted file mode 100644
index 3e3bee56..00000000
--- a/packages/LineageSettingsProvider/tests/Android.mk
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-# Copyright (C) 2015 The CyanogenMod 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)
-
-# Register as LineageTS
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_PACKAGE_NAME := CmtsLineageSettingsProviderTests
-LOCAL_INSTRUMENTATION_FOR := LineageSettingsProvider
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_CERTIFICATE := platform
-LOCAL_JAVA_LIBRARIES := android.test.runner
-LOCAL_PROGUARD_ENABLED := optimization
-LOCAL_PROGUARD_FLAG_FILES := proguard.flags
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
- org.lineageos.platform.internal
-
-include $(BUILD_LineageTS_PACKAGE)
-
diff --git a/packages/LineageSettingsProvider/tests/AndroidManifest.xml b/packages/LineageSettingsProvider/tests/AndroidManifest.xml
index ec333a69..16926587 100644
--- a/packages/LineageSettingsProvider/tests/AndroidManifest.xml
+++ b/packages/LineageSettingsProvider/tests/AndroidManifest.xml
@@ -24,9 +24,9 @@
<uses-permission android:name="android.permission.MANAGE_USERS" />
<instrumentation
- android:name="android.test.InstrumentationTestRunner"
- android:targetPackage="org.lineageos.lineagesettings.tests"
- android:label="Lineage Settings Provider Tests" />
+ android:name="androidx.test.runner.AndroidJUnitRunner"
+ android:targetPackage="org.lineageos.lineagesettings.tests"
+ android:label="Lineage Settings Provider Tests" />
<application>
<uses-library android:name="android.test.runner" />
diff --git a/packages/LineageSettingsProvider/tests/README.md b/packages/LineageSettingsProvider/tests/README.md
index 5b91285e..e4d83ca0 100644
--- a/packages/LineageSettingsProvider/tests/README.md
+++ b/packages/LineageSettingsProvider/tests/README.md
@@ -2,6 +2,18 @@
The tests package contains coverage for the Lineage Settings provider as well as
its public interfaces.
-To run the tests (on a live device):
+To run the tests (on a live device), build and install LineageSettingsProviderTests.apk
+and then run:
- ```adb shell am instrument -w org.lineageos.lineagesettings.tests/android.test.InstrumentationTestRunner```
+```adb shell am instrument org.lineageos.lineagesettings.tests/androidx.test.runner.AndroidJUnitRunner```
+
+Note: we don't use -w to wait for the results because some of the tests involve creating
+and removing a guest account which causes adb connections to get reset.
+
+View the results with:
+
+```adb logcat | grep TestRunner```
+
+End of the output should read something like:
+
+```09-20 16:40:52.879 4146 4165 I TestRunner: run finished: 30 tests, 0 failed, 0 ignored```
diff --git a/packages/LineageSettingsProvider/tests/proguard.flags b/packages/LineageSettingsProvider/tests/proguard.flags
index f6da4d2a..291d0268 100644
--- a/packages/LineageSettingsProvider/tests/proguard.flags
+++ b/packages/LineageSettingsProvider/tests/proguard.flags
@@ -33,7 +33,7 @@
-keep interface org.junit.** { *; }
# Keep compiled java classes from declared aidl's within the test package
--keep public class * extends android.os.IInterface { *; }
+-keep public class * implements android.os.IInterface { *; }
# Don't warn about the Android Support Test JUnit Runner
-dontwarn androidx.**
diff --git a/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsGlobalTests.java b/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsGlobalTests.java
index 619580bb..ed559dae 100644
--- a/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsGlobalTests.java
+++ b/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsGlobalTests.java
@@ -20,6 +20,7 @@ import android.content.ContentResolver;
import android.net.Uri;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
+
import lineageos.providers.LineageSettings;
public class LineageSettingsGlobalTests extends AndroidTestCase {
diff --git a/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsProviderDefaultsTest.java b/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsProviderDefaultsTest.java
index 89234865..c92ff692 100644
--- a/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsProviderDefaultsTest.java
+++ b/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsProviderDefaultsTest.java
@@ -23,15 +23,15 @@ import android.content.res.Resources;
import android.os.UserHandle;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
-
-import java.util.ArrayList;
-
import android.text.TextUtils;
import android.util.TypedValue;
+
import lineageos.providers.LineageSettings;
import org.lineageos.lineagesettings.LineageDatabaseHelper;
import org.lineageos.lineagesettings.LineageSettingsProvider;
+import java.util.ArrayList;
+
/**
* Created by adnan on 1/25/16.
*/
@@ -88,9 +88,6 @@ public class LineageSettingsProviderDefaultsTest extends AndroidTestCase {
LineageSettings.Secure.ADVANCED_MODE,
"R.bool.def_advanced_mode"));
SECURE_SETTINGS_DEFAULTS.add(new Setting(
- LineageSettings.Secure.QS_USE_MAIN_TILES,
- "R.bool.def_sysui_qs_main_tiles"));
- SECURE_SETTINGS_DEFAULTS.add(new Setting(
LineageSettings.Secure.STATS_COLLECTION,
"R.bool.def_stats_collection"));
SECURE_SETTINGS_DEFAULTS.add(new Setting(
diff --git a/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsProviderTest.java b/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsProviderTest.java
index 9205de14..3eb5d935 100644
--- a/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsProviderTest.java
+++ b/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsProviderTest.java
@@ -29,6 +29,7 @@ import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.MediumTest;
import android.test.suitebuilder.annotation.SmallTest;
import android.text.TextUtils;
+
import lineageos.providers.LineageSettings;
import java.util.LinkedHashMap;
@@ -76,45 +77,6 @@ import java.util.Map;
testMigrateSettingsForUser(mGuest.id);
}
- /**
- * make sure that queries to SettingsProvider are forwarded to LineageSettingsProvider as needed
- * See {@link lineageos.providers.LineageSettings.System#shouldInterceptSystemProvider(String)}
- *
- * Currently this test only checks that
- * {@link lineageos.providers.LineageSettings.System#SYSTEM_PROFILES_ENABLED} is expected to
- * be forwarded, and is forwarded.
- */
- @SmallTest
- public void testSettingsProviderKeyForwarding() {
- String forwardedKey = LineageSettings.System.SYSTEM_PROFILES_ENABLED;
-
- // make sure the key should be forwarded
- assertTrue(LineageSettings.System.shouldInterceptSystemProvider(forwardedKey));
-
- // put value 1 into Settings provider:
- // let's try to disable the profiles via the Settings provider
- Settings.System.putStringForUser(mContentResolver,
- forwardedKey, "0", UserHandle.USER_CURRENT);
-
- // assert this is what we just put in there
- assertEquals("0", Settings.System.getStringForUser(getContext().getContentResolver(),
- forwardedKey, UserHandle.USER_CURRENT));
-
- // put value 2 into LineageSettings provider
- LineageSettings.System.putStringForUser(mContentResolver,
- forwardedKey, "1", UserHandle.USER_CURRENT);
-
- assertEquals("1", LineageSettings.System.getStringForUser(getContext().getContentResolver(),
- forwardedKey, UserHandle.USER_CURRENT));
-
- // assert reading from both returns value 2
- final String lineageProviderValue = LineageSettings.System.getStringForUser(
- getContext().getContentResolver(), forwardedKey, UserHandle.USER_CURRENT);
- final String settingsProviderValue = Settings.System.getStringForUser(
- getContext().getContentResolver(), forwardedKey, UserHandle.USER_CURRENT);
- assertEquals(lineageProviderValue, settingsProviderValue);
- }
-
private void testMigrateSettingsForUser(int userId) {
// Setup values in Settings
/*final String expectedPullDownValue = "testQuickPullDownValue";
diff --git a/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsSecureTests.java b/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsSecureTests.java
index b27accad..4ac470f5 100644
--- a/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsSecureTests.java
+++ b/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsSecureTests.java
@@ -20,6 +20,7 @@ import android.content.ContentResolver;
import android.net.Uri;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
+
import lineageos.providers.LineageSettings;
public class LineageSettingsSecureTests extends AndroidTestCase {
diff --git a/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsSystemTests.java b/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsSystemTests.java
index 101a60f4..6d940be1 100644
--- a/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsSystemTests.java
+++ b/packages/LineageSettingsProvider/tests/src/org/lineageos/lineagesettings/tests/LineageSettingsSystemTests.java
@@ -20,6 +20,7 @@ import android.content.ContentResolver;
import android.net.Uri;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
+
import lineageos.providers.LineageSettings;
public class LineageSettingsSystemTests extends AndroidTestCase {
diff --git a/sdk/src/java/lineageos/providers/LineageSettings.java b/sdk/src/java/lineageos/providers/LineageSettings.java
index 0e2a9488..63ffbbce 100644
--- a/sdk/src/java/lineageos/providers/LineageSettings.java
+++ b/sdk/src/java/lineageos/providers/LineageSettings.java
@@ -2175,18 +2175,6 @@ public final class LineageSettings {
}
/**
- * @hide
- */
- public static boolean shouldInterceptSystemProvider(String key) {
- switch (key) {
- case System.SYSTEM_PROFILES_ENABLED:
- return true;
- default:
- return false;
- }
- }
-
- /**
* Mapping of validators for all system settings. This map is used to validate both valid
* keys as well as validating the values for those keys.
*
@@ -3240,16 +3228,6 @@ public final class LineageSettings {
VALIDATORS.put(TRUST_WARNINGS, TRUST_WARNINGS_VALIDATOR);
VALIDATORS.put(VOLUME_PANEL_ON_LEFT, VOLUME_PANEL_ON_LEFT_VALIDATOR);
}
-
- /**
- * @hide
- */
- public static boolean shouldInterceptSystemProvider(String key) {
- switch (key) {
- default:
- return false;
- }
- }
}
/**
@@ -3710,12 +3688,5 @@ public final class LineageSettings {
public static boolean isLegacySetting(String key) {
return ArrayUtils.contains(LEGACY_GLOBAL_SETTINGS, key);
}
-
- /**
- * @hide
- */
- public static boolean shouldInterceptSystemProvider(String key) {
- return false;
- }
}
}