Creating unit tests for VPN settings to increase the reliability of that
settings component.
Note that because S build is locked down but the T sdk has not been
started, the test suite was seeing the following error:
java.lang.IllegalArgumentException: Error: Failed to parse APK file: /data/local/tmp/SettingsUnitTests.apk: Requires development platform T but this is a release platform
In order to resolve this error, specifically set the SDK as android
S in the manifest. When the SDK transitions to android T, this may need
to be updated.
Test: atest -c tests/unit/src/com/android/settings/vpn2/ManageablePreferenceTest.java
Bug: 187245804
Change-Id: Ifa1450c23b1ade46809541252e22950b76b4faa5
This sets up the unit test and checks the basic functionality of the
3rd party vpn preference.
Test: atest -c AppPreferenceTest
Bug: 187245804
Change-Id: I3037db27711fd5c2bbc8421e0827dcfa58ab21e8
Ensure that the profile name is successfully stored, and that the title
of the preference corresponds to the name of the associated VpnProfile
Interesting issue occurred where the icon resource was not present the
first time the class was initialized, but not the second. Trying this
twice within the test resolved this issue.
Test: atest -c LegacyVpnPreferenceTest
Bug: 187245804
Change-Id: I325b155cb0afdb6ce134325944fe5651bf9a1233
Currently the Settings VPN library doesn't including much testing
support, so this is intended as a start, in order to improve reliability
and stability of the area.
Test: atest -c VpnInfoPreferenceTest
Bug: 187245804
Change-Id: Id5acb699e0a68f479f3b0b6e6614c2e4e43b163b
This change do the 2 things:
1. Add new junit tests files which replace robolectric
RobolectricTestRunner & RuntimeEnvironment with
AndroidX objects without problem.
2. Remove the robolectric test files which have it's new junit files.
This change migrate 103 files, there are still 1209
files to go.
Bug: 174728471
Test: atest
make RunSettingsRoboTests
Change-Id: I15ed3f4745b85862f720aabbf710ce1475aced93
In order to enable the junit tests as a blocking presubmit, we want
to ensure that all tests within this directory are being actively
maintained. A number of these tests were migrated to robolectric
sometime in 2017-2018, and because they are no longer maintained this CL
moves them into a separate folder, so that they will not be included in
the presubmit.
Please verify that this is the appropriate action to take for these
tests. In the future, the settings team may decide to delete this legacy
directory entirely.
Note that AutoSelectPreferenceControllerTest.setChecked_isChecked_showProgressDialog
is currently failing, but we can fix it in a separate CL.
Test: make SettingsUnitTests && adb install -r out/target/product/shamu/testcases/SettingsUnitTests/arm64/SettingsUnitTests.apk
Change-Id: Iafc15b9ac69b5ca2fec76d3c0c7e247ea0017d49
The user can turn on / off always-on for individual VPN apps in
Settings > Network > VPN. Now that we're providing an opt-out of the
always-on feature for VPN apps, we should disabled the toggles if the
VPN app has an explicit opt-out.
Related unit tests are also removed as the check is now performed in the
frameworks, not in Settings.
Bug: 36650087
Test: CTS Verifier
Change-Id: I486fec14a1f8b86e7120dbdbfed3885801ab4dd7
The recent upgrade to Mockito 2.7.13 has caused some problems
for grok (and new javac toolchain). The changed files used
wildcard imports to import the same methods from both Matchers
and Mockito.
This was not a problem previously because in the previous
version of Mockito the Mockito class extended the Matchers class
and so even though two methods with the same name were imported
they were not treated as a conflict because they were treated as
being the same method. In 2.7.13 the Mockito class no longer
extends the Matchers class instead they both extend the
ArgumentMatchers class and so for some reason javac no longer
treats them as the same method.
This was not detected by presubmit builds because jack is
still treating the methods as being the same.
Bug: 32912773
Test: m -j32 ANDROID_FORCE_JACK_ENABLED=disabled FrameworksWifiTests
Change-Id: I8c2b1dd39d2d653fe0fba19ed6421b7de25bb82f
For validating that when VPNs are added / removed, the right set of
changes are made to the PreferenceGroup in which they are supposed to
be shown.
Bug: 30998549
Bug: 29093779
Test: runtest -x packages/apps/Settings/tests/unit/src/com/android/settings/vpn2/PreferenceListTest.java
Change-Id: I9394db0e78cc984ab62e3670aa0a7942ae767a66