Commit Graph

695 Commits

Author SHA1 Message Date
Benedict Wong
dfcb691f2e Merge changes If6fa3598,Ia969f78f am: 5715ce685d
am: a5030c2f21

Change-Id: I62cdef952de3919f1efcf50817c762e3a1b65768
2019-05-31 10:58:13 -07:00
Benedict Wong
5715ce685d Merge changes If6fa3598,Ia969f78f
* changes:
  Remove mContext from IpSecBaseTest
  Add reflected-packet based data tests
2019-05-31 17:29:23 +00:00
Benedict Wong
02bfd4d1fb Merge "Cleanup IPsec CTS tests" am: 1d6880153b
am: 8493a945b8

Change-Id: I1e2f9bffb11b8a4a5dedd24045b8c36d79a1d5f4
2019-05-31 06:13:05 -07:00
Treehugger Robot
1d6880153b Merge "Cleanup IPsec CTS tests" 2019-05-31 12:54:49 +00:00
jovanak
0ac46bc583 Merge "Fixing NetworkWatchlistTest#testGetWatchlistConfigHash for secondary users." into pie-cts-dev am: 4e9043b8cf
am: e4c4e3e55a

Change-Id: I67e8569e9976f99888e4aba0fde16d784d691477
2019-05-30 13:48:57 -07:00
jovanak
2045aa4777 Merge "Fixing NetworkWatchlistTest#testGetWatchlistConfigHash for secondary users." into pie-cts-dev
am: 4e9043b8cf

Change-Id: I5417f214cd337c3d0b517b160d753d808e9e3f59
2019-05-30 13:44:48 -07:00
Luke Huang
0b35214faa Add bypass private DNS test case and null network test for DnsResolver cts
1. add test case for testing bypass Private DNS
2. add null network test
3. minor change for cleanup

Bug: 130594022
Test: atest DnsResolverTest

Merged-In: I8dd48f11baf92d953ded237204a3c2cd3b58581d
(cherry picked from commit da665a0a78a2919c3e2edabafec463de3de9ddb7)

Change-Id: Iabb100c51fd80eca5ab0284bc891f4fb98492e8b
2019-05-30 11:58:52 +00:00
Luke Huang
3df5aa1233 Merge "Add bypass private DNS test case and null network test for DnsResolver cts" 2019-05-30 11:22:50 +00:00
Junyu Lai
87ac083a3b Fix keepalive CTS fail for devices with kernel older than 4.8
If kernel < 4.8 then it doesn't support get socket option
TCP_REPAIR_WINDOW, thus TCP keepalive cannot be supported.
However, it might still support NAT-T keepalive. Test TCP
keepalive only if it is supported by kernel.

Bug: 133652079
Test: atest android.net.cts.ConnectivityManagerTest#testMajorMinorVersionCompare \
    android.net.cts.ConnectivityManagerTest#testSocketKeepaliveLimit \
    android.net.cts.ConnectivityManagerTest#testSocketKeepaliveUnprivileged \
    android.net.cts.ConnectivityManagerTest#testKeepaliveUnsupported \
    android.net.cts.ConnectivityManagerTest#testCreateTcpKeepalive

Change-Id: I0a3ff07c482bb7c8cb05663678c10afcc0500861
Merged-In: I3f8456deea2b4ded762a413c8e27b58ce54ce0aa
(cherry picked from commit 57d91e6276b50bf0dd78f3643c4a979f584fcf38)
2019-05-30 06:26:52 +00:00
Junyu Lai
a73f8f6ec5 Merge "Fix keepalive CTS fail for devices with kernel older than 4.8" 2019-05-30 05:05:10 +00:00
paulhu
e3288fddcd Fix ConnectivityManagerApi23Test failures and remove duplication.
1. All ConnectivityManagerApi23Test were failed due to
   WifiManager#setWifiEnabled doesn't allow to use since
   Android Q. So we need to use shell command to enable/disable
   Wi-Fi instead.
2. Some methods are duplicated between
   ConnectivityManagerApi23Test and ConnectivityManagerTest, but
   they are not identical. So put these methods into
   ConnectivityUtils to clean up duplications and prevent fork
   happened again.

Bug: 133334943
Bug: 133209319
Test: Run the below tests on Crosshatch, Sailfish, Bonito.
      atest CtsNetApi23TestCases
      atest CtsNetTestCases

Change-Id: Ic37111cb12a46f5c36c2be887250c5d762216f6e
Merged-In: I075b7408d2a1e1145c7a9031075e07fa1db37fed
Merged-In: I0c02357eff07b98c1745de35d08ae6b8349de7fb
Merged-In: I04d1e1d096bcd4a9626cf9f00396fca7f9892a82
2019-05-30 01:25:20 +00:00
paulhu
3cdc25cbc4 Fix ConnectivityManagerApi23Test failures and remove duplication.
1. All ConnectivityManagerApi23Test were failed due to
   WifiManager#setWifiEnabled doesn't allow to use since
   Android Q. So we need to use shell command to enable/disable
   Wi-Fi instead.
2. Some methods are duplicated between
   ConnectivityManagerApi23Test and ConnectivityManagerTest, but
   they are not identical. So put these methods into
   ConnectivityUtils to clean up duplications and prevent fork
   happened again.

Bug: 133334943
Bug: 133209319
Test: Run the below tests on Crosshatch, Sailfish, Bonito.
      atest CtsNetApi23TestCases
      atest CtsNetTestCases

Change-Id: Ic37111cb12a46f5c36c2be887250c5d762216f6e
2019-05-29 19:53:47 +08:00
junyulai
063b4e109e Fix keepalive CTS fail for devices with kernel older than 4.8
If kernel < 4.8 then it doesn't support get socket option
TCP_REPAIR_WINDOW, thus TCP keepalive cannot be supported.
However, it might still support NAT-T keepalive. Test TCP
keepalive only if it is supported by kernel.

Bug: 133652079
Test: atest android.net.cts.ConnectivityManagerTest#testMajorMinorVersionCompare \
    android.net.cts.ConnectivityManagerTest#testSocketKeepaliveLimit \
    android.net.cts.ConnectivityManagerTest#testSocketKeepaliveUnprivileged \
    android.net.cts.ConnectivityManagerTest#testKeepaliveUnsupported \
    android.net.cts.ConnectivityManagerTest#testCreateTcpKeepalive

Change-Id: I3f8456deea2b4ded762a413c8e27b58ce54ce0aa
2019-05-29 17:15:53 +08:00
Luke Huang
1f5f11e681 Add bypass private DNS test case and null network test for DnsResolver cts
1. add test case for testing bypass Private DNS
2. add null network test
3. minor change for cleanup

Bug: 130594022
Test: atest DnsResolverTest
Change-Id: I2da65fc1267a1975e014c0aafe2ae47df075b712
2019-05-29 12:04:48 +08:00
Benedict Wong
6d82630b8f Merge changes I3babc72d,I79d231e2
* changes:
  Fix IPsec CTS tests for interface address checking
  Convert IPsec tests to JUnit4
2019-05-28 21:44:06 +00:00
Paul Hu
a138c9e487 Ignore all tests in IpSecManagerTunnelTest with instant apps
Test runner will crash while tring to get test network service
in IpSecManagerTunnelTest. Because MANAGE_TEST_NETWORKS
permission can't be granted to instant apps. So ignore all tests
in this file.

Bug: 133399750
Test: atest CtsNetTestCases --instant

Change-Id: I31b7e12a5a0021185851ba4435a6c42d457f34b6
Merged-In: Ia18c6bfe791692f8835b127adf734ce3d2a4ba95
Merged-In: I697333a7a64d794208d80112bdc1d1e50c5d2b56
Merged-In: I31b7e12a5a0021185851ba4435a6c42d457f34b6
(cherry picked from commit eb29c90465)
2019-05-27 01:19:17 +00:00
TreeHugger Robot
ac707024b2 Merge "Minor changes for DnsResolverTest" into qt-dev 2019-05-24 19:28:19 +00:00
jovanak
db6336c0b8 Fixing NetworkWatchlistTest#testGetWatchlistConfigHash for secondary users.
Avoids relying on external storage and using the hardcoded /sdcard/ path.
Unrooted adb does not have access to non-user 0 sdcard paths, and so the "cp"
command fails when the test runs in user 10.

Fixes: 121400865
Test: cts-tradefed run cts-dev -m CtsNetTestCases -t android.net.cts.NetworkWatchlistTest#testGetWatchlistConfigHash in user 10.
Change-Id: Idc667072bcfbbe159416fa7c7b6b19045b52041d
2019-05-24 12:21:50 -07:00
Henry Tung
7058c3fbd8 Merge "Modify testNetworkSetupWizardPermission let it fit Factory Ota use case." into qt-dev 2019-05-24 07:03:31 +00:00
paulhu
5f7599b6d5 Ignore all tests in IpSecManagerTunnelTest with instant apps
Test runner will crash while tring to get test network service
in IpSecManagerTunnelTest. Because MANAGE_TEST_NETWORKS
permission can't be granted to instant apps. So ignore all tests
in this file.

Bug: 133399750
Test: atest CtsNetTestCases --instant
Change-Id: I5a096f20ec168133dbb65d27d3388c01e6ee895b
2019-05-24 11:37:37 +08:00
Benedict Wong
ee4eb2f35b Remove mContext from IpSecBaseTest
This commit removes the mContext from IpSecBaseTest, and replaces it
with InstrumentationRegistry.getContext().

Bug: 72950854
Test: Ran on devices, passing.
Change-Id: If6fa359825aa9d1f7d4c8d49aba7a34925c073ed
2019-05-22 11:08:26 -07:00
Benedict Wong
281d757df6 Cleanup IPsec CTS tests
This commit addresses comments from aosp/963067 and aosp/959617.

No behavioral/functional changes were made, only renames and minor style
nits addressed.

Bug: 72950854
Test: Ran on devices, working
Change-Id: I1702b91e245412f0142e9e47b7fb373b9b4e8126
2019-05-22 11:08:26 -07:00
Benedict Wong
5c79356068 Fix IPsec CTS tests for interface address checking
Fixes two potentially device/kernel specific, or flaky bugs:
1. Java interface checking by name seems to cache the lookup, resulting
in interface address checks occasionally failing (on delete).
2. Link-local addresses appear to be added on all links for some set of
kernels and devices.

This patch addresses both by only checking that the requested address
was added via a address-based NetworkInterface lookup.

Bug: 72950854
Test: Ran on sargo-eng on qt-dev/HEAD
Test: Manually verified that the addresses are indeed added/removed
Change-Id: I3babc72dfe72337c4d68facb1695aec15e504c90
Merged-In: I3babc72dfe72337c4d68facb1695aec15e504c90
(cherry picked from commit 4af108aacf)
2019-05-22 11:08:26 -07:00
Benedict Wong
60b0a6432b Add reflected-packet based data tests
This commit adds tests that reflect outgoing packets, flipping the outer
src/dst headers to avoid the need to tear down and rebuild the outer
TUN.

This allows us to at least test that our implementation can interoperate
with itself.

Bug: 72950854
Test: this, passing
Change-Id: Ia969f78f4c1a0c0a017f5aad425a68852ff4433a
2019-05-22 11:08:26 -07:00
Benedict Wong
a8d59c0183 Convert IPsec tests to JUnit4
This patch fixes an incompatibility where some tests in the same
hierarchy were using Junit3, and other Junit4

No functional test changes made

Bug: 72950854
Test: Ran on devices, working
Change-Id: I79d231e202ba25ad5f57b44b387bebd7f012aa95
Merged-In: I79d231e202ba25ad5f57b44b387bebd7f012aa95
(cherry picked from commit 0d08e91fe7)
2019-05-22 11:08:26 -07:00
Henry Tung
0097cb240d Modify testNetworkSetupWizardPermission let it fit Factory Ota use case.
Bug: 131304475
Test: run cts -m CtsNetTestCases -t android.net.wifi.cts.WifiManagerTest#testNetworkSetupWizardPermission
Change-Id: I41a457e6f31fcf3c45b171937d61b6342e3c0946
2019-05-22 11:18:07 +08:00
paulhu
435166fa86 Enable instant app mode for CtsNetTestCases
1. Indicating CtsNetTestCases support instant app mode but
   ignore some tests that cannot run in instant app mode.
2. Move some tests which need to test on API 23 into
   CtsNetApi23TestCases module due to instant app package
   must target at least API 26.

Bug: 123366918
Test: atest CtsNetTestCases --instant
Test: atest CtsNetApi23TestCases
Test: atest FrameworksNetTests

Change-Id: I4e828cbc48143e36c1be38b91c3c698122d4be5a
Merged-In: I1d78349d14763c133e1eab020d26865f46ff19a3
Merged-In: I931369875c86a396a898682009337cef1b918ba4
Merged-In: Ia8a45d6d751be94f9f707f879ea6ce4e6a45fae1
2019-05-22 01:11:10 +08:00
paulhu
78e4a184a1 Enable instant app mode for CtsNetTestCases
1. Indicating CtsNetTestCases support instant app mode but
   ignore some tests that cannot run in instant app mode.
2. Move some tests which need to test on API 23 into
   CtsNetApi23TestCases module due to instant app package
   must target at least API 26.

Bug: 123366918
Test: atest CtsNetTestCases --instant
Test: atest CtsNetApi23TestCases
Test: atest FrameworksNetTests

Change-Id: I4e828cbc48143e36c1be38b91c3c698122d4be5a
2019-05-16 16:07:07 +08:00
Benedict Wong
4af108aacf Fix IPsec CTS tests for interface address checking
Fixes two potentially device/kernel specific, or flaky bugs:
1. Java interface checking by name seems to cache the lookup, resulting
in interface address checks occasionally failing (on delete).
2. Link-local addresses appear to be added on all links for some set of
kernels and devices.

This patch addresses both by only checking that the requested address
was added via a address-based NetworkInterface lookup.

Bug: 72950854
Test: Ran on sargo-eng on qt-dev/HEAD
Test: Manually verified that the addresses are indeed added/removed
Change-Id: I3babc72dfe72337c4d68facb1695aec15e504c90
2019-05-15 01:02:28 -07:00
TreeHugger Robot
c7774ffa16 Merge "Enforce IPsec Tunnel mode for Android Q" into qt-dev 2019-05-15 03:58:29 +00:00
junyulai
bbf160a93d add cts for unprivileged keepalive slots
Currently, unprivileged Nat-T keepalives are limited to 1 slot
per uid. Add CTS to verify that the keepalive slots are limited
as customized for unprivileged requests.

Bug: 129371366
Test: atest android.net.cts
      .ConnectivityManagerTest#testSocketKeepaliveUnprivileged
      --generate-new-metrics 10

(Clean cherry-pick of aosp/957205)

Change-Id: I60b9e9ae9cf2b63490493ced9738cd2f402c3f9b
Merged-In: I60b9e9ae9cf2b63490493ced9738cd2f402c3f9b
2019-05-13 22:19:02 +08:00
junyulai
ad4c047f6d [KA14] add cts for keepalive limit test.
Per SDK requirement, OEM is required to support minimum number of
concurrent keepalives. Implement CTS to verify this.

Bug: 129371366
Test: atest android.net.cts
      .ConnectivityManagerTest#testSocketKeepaliveLimit
      --generate-new-metrics 10

(Clean cherry-pick of aosp/937026)

Change-Id: I8be89116bed5c4dedb2ca42b6d633aa9e8c6a49a
Merged-In: I8be89116bed5c4dedb2ca42b6d633aa9e8c6a49a
2019-05-13 22:16:50 +08:00
junyulai
80ec50b8ae add cts for unprivileged keepalive slots
Currently, unprivileged Nat-T keepalives are limited to 1 slot
per uid. Add CTS to verify that the keepalive slots are limited
as customized for unprivileged requests.

Bug: 129371366
Test: atest android.net.cts
      .ConnectivityManagerTest#testSocketKeepaliveUnprivileged
      --generate-new-metrics 10

Change-Id: I60b9e9ae9cf2b63490493ced9738cd2f402c3f9b
2019-05-13 18:10:36 +08:00
junyulai
b41bc72ea3 [KA14] add cts for keepalive limit test.
Per SDK requirement, OEM is required to support minimum number of
concurrent keepalives. Implement CTS to verify this.

Bug: 129371366
Test: atest android.net.cts
      .ConnectivityManagerTest#testSocketKeepaliveLimit
      --generate-new-metrics 10

Change-Id: I8be89116bed5c4dedb2ca42b6d633aa9e8c6a49a
2019-05-13 18:10:23 +08:00
Benedict Wong
0d08e91fe7 Convert IPsec tests to JUnit4
This patch fixes an incompatibility where some tests in the same
hierarchy were using Junit3, and other Junit4

No functional test changes made

Bug: 72950854
Test: Ran on devices, working
Change-Id: I79d231e202ba25ad5f57b44b387bebd7f012aa95
2019-05-10 20:05:43 +00:00
Benedict Wong
fbbb9c9c04 Enforce IPsec Tunnel mode for Android Q
This commit adds a second condition to whether the device is expected to
have the tunnel mode feature. If a device's first API/launch version is
Q or above, require IPsec tunnels

Bug: 72950854
Test: Ran on device with first API level < Q and == Q.
Merged-In: I545444bb483b0f5de45d00a07dc45aeb9e9cbdf7
Change-Id: I7b849ad24a04b6b7899a80f1856236b5ceb5a839
(cherry picked from commit d2465991d9)
2019-05-10 18:08:48 +00:00
Benedict Wong
81e51bce50 Merge "Enforce IPsec Tunnel mode for Android Q" 2019-05-10 17:41:04 +00:00
Benedict Wong
084c8b47b6 Enforce IPsec Tunnel mode for Android Q
This commit adds a second condition to whether the device is expected to
have the tunnel mode feature. If a device's first API/launch version is
Q or above, require IPsec tunnels

Bug: 72950854
Test: Ran on device with first API level < Q and == Q.
Change-Id: I7b849ad24a04b6b7899a80f1856236b5ceb5a839
2019-05-10 01:22:13 -07:00
Benedict Wong
817d192bc4 Add IPsec Tunnel mode data tests
This change adds single-direction tests for the IPsec Tunnel Mode API.
In the outbound direction, TUNs are used to capture outgoing packets,
and values are inspected. In the inbound direction, packets are built
manually, using the PacketUtils framework. Additional testing for
end-to-end integration tests will follow in aosp/941021 using packet
reflection via the TUN.

Bug: 72950854
Test: This; passing
Change-Id: Ic4181fc857fa880db5553314efa914f870dbe87c
Merged-In: Ic4181fc857fa880db5553314efa914f870dbe87c
(cherry picked from commit d708a4c217f13c9028427d98031394f0933482bf)
2019-05-09 17:30:32 -07:00
Benedict Wong
2d2a1ab8f7 Add utilities to generate packets
This change adds utility methods to generate packets incrementally. It
supports UDP, ESP, IPv4, IPv6 packet generation.

For ESP, it exclusively does AES-CBC, HMAC-SHA256.

Bug: 72950854
Test: This
Change-Id: Icffeed2ebb2005d79faf04f48fd5126d1d6fb175
Merged-In: Icffeed2ebb2005d79faf04f48fd5126d1d6fb175
(cherry picked from commit 0e4743d56553d698ac45ae548f31019ea6e91541)
2019-05-09 17:30:32 -07:00
Benedict Wong
2742923a63 Add TunUtils as utility to reflect packets
This patch adds a TunUtils class, allowing for packet capture over a TUN
interface, inspection of some basic header fields, and reflection of
packets with flipped src/dst headers.

Bug: 72950854
Test: Ran, passing
Change-Id: I9fdba4a905886c7a4820d86ef52c0cc1843215b2
Merged-In: I9fdba4a905886c7a4820d86ef52c0cc1843215b2
(cherry picked from commit 2f07cd8551d755a4076e94b9e620bc446a66bf54)
2019-05-09 17:30:32 -07:00
Benedict Wong
54c0726220 Merge changes Ic4181fc8,Icffeed2e,I9fdba4a9
* changes:
  Add IPsec Tunnel mode data tests
  Add utilities to generate packets
  Add TunUtils as utility to reflect packets
2019-05-09 20:51:01 +00:00
Benedict Wong
64e64ff454 Add IPsec Tunnel mode data tests
This change adds single-direction tests for the IPsec Tunnel Mode API.
In the outbound direction, TUNs are used to capture outgoing packets,
and values are inspected. In the inbound direction, packets are built
manually, using the PacketUtils framework. Additional testing for
end-to-end integration tests will follow in aosp/941021 using packet
reflection via the TUN.

Bug: 72950854
Test: This; passing
Change-Id: Ic4181fc857fa880db5553314efa914f870dbe87c
2019-05-09 11:25:15 -07:00
Benedict Wong
75fb3d002e Add utilities to generate packets
This change adds utility methods to generate packets incrementally. It
supports UDP, ESP, IPv4, IPv6 packet generation.

For ESP, it exclusively does AES-CBC, HMAC-SHA256.

Bug: 72950854
Test: This
Change-Id: Icffeed2ebb2005d79faf04f48fd5126d1d6fb175
2019-05-09 11:25:06 -07:00
Benedict Wong
4243c834ce Merge "Check for IPSEC_TUNNELS feature before running CTS tests" 2019-05-08 20:04:06 +00:00
Benedict Wong
af4330f777 Check for IPSEC_TUNNELS feature before running CTS tests
If tunnel feature does is not present, skip tests.

Bug: 117183273
Test: This
Change-Id: I62fcc2cbca8bf3d2b70da5646303a7059a0df663
Merged-In: I62fcc2cbca8bf3d2b70da5646303a7059a0df663
(cherry picked from commit 698c99fcf03a4e1afb028ac66852140762a7f2b1)
2019-05-08 04:17:03 +00:00
Benedict Wong
65845a7e50 Add TunUtils as utility to reflect packets
This patch adds a TunUtils class, allowing for packet capture over a TUN
interface, inspection of some basic header fields, and reflection of
packets with flipped src/dst headers.

Bug: 72950854
Test: Ran, passing
Change-Id: I9fdba4a905886c7a4820d86ef52c0cc1843215b2
2019-05-07 19:24:17 -07:00
Benedict Wong
437eb03a33 Check for IPSEC_TUNNELS feature before running CTS tests
If tunnel feature does is not present, skip tests.

Bug: 117183273
Test: This
Change-Id: I62fcc2cbca8bf3d2b70da5646303a7059a0df663
2019-05-07 19:24:14 -07:00
Roshan Pius
5dea0afd70 WifiManagerTest: Allow NETWORK_SETTINGS for apps with BIND_QUICK_SETTINGS_TILE
Bug: 130199973
Test: atest WifiManagerTest
Change-Id: Ia31a56ba5fadb52fd724a7d213116cb0f1d0407a
2019-05-02 16:42:55 +00:00
Jack Yu
7457cd2728 Allow NFC to grant NETWORK_SETTINGS permission
There is use cases in NFC that need this permission.

Bug:131195124
Test: Cts pass after NFC app add NETWORK_SETTINGS permission
Change-Id: Iec5a08721da43767cfd0ced51e73a1b757b0d97a
2019-04-26 11:49:45 +08:00