diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2020-05-28 01:07:31 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-05-28 01:07:31 +0000 |
commit | bed22b5f8eb2828f6f24d943ebb5988e735a566b (patch) | |
tree | 4e89fe4575db7e202bccb2e259e84d4df9520638 | |
parent | 9b275721b6444163ff5ef0b94f8d5f96c5d224aa (diff) | |
parent | a1197aaead58f2b78c829d1615833aecdc32f2c0 (diff) | |
download | tests-android11-s1-release.tar.gz |
Snap for 6534196 from a1197aaead58f2b78c829d1615833aecdc32f2c0 to rvc-releaseandroid-vts-11.0_r1android-security-11.0.0_r76android-security-11.0.0_r75android-security-11.0.0_r74android-security-11.0.0_r73android-security-11.0.0_r72android-security-11.0.0_r71android-security-11.0.0_r70android-security-11.0.0_r69android-security-11.0.0_r68android-security-11.0.0_r67android-security-11.0.0_r66android-security-11.0.0_r65android-security-11.0.0_r64android-security-11.0.0_r63android-security-11.0.0_r62android-security-11.0.0_r61android-security-11.0.0_r60android-security-11.0.0_r59android-security-11.0.0_r58android-security-11.0.0_r57android-security-11.0.0_r56android-security-11.0.0_r55android-security-11.0.0_r54android-security-11.0.0_r53android-security-11.0.0_r52android-security-11.0.0_r51android-security-11.0.0_r50android-security-11.0.0_r49android-security-11.0.0_r1android-platform-11.0.0_r2android-platform-11.0.0_r1android-cts-11.0_r1android-11.0.0_r6android-11.0.0_r5android-11.0.0_r4android-11.0.0_r3android-11.0.0_r25android-11.0.0_r2android-11.0.0_r17android-11.0.0_r1android11-security-releaseandroid11-s1-release
Change-Id: Id806bcb28ffae2bee1aeb5e4d0073771050bce79
-rwxr-xr-x | net/test/all_tests.py | 5 | ||||
-rw-r--r-- | net/test/namespace.py | 21 |
2 files changed, 24 insertions, 2 deletions
diff --git a/net/test/all_tests.py b/net/test/all_tests.py index 5f6c583..17d9701 100755 --- a/net/test/all_tests.py +++ b/net/test/all_tests.py @@ -18,6 +18,8 @@ import importlib import sys import unittest +import namespace + test_modules = [ 'anycast_test', 'bpf_test', @@ -46,6 +48,9 @@ test_modules = [ ] if __name__ == '__main__': + # Check whether ADB over TCP is occupying TCP port 5555. + if namespace.HasEstablishedTcpSessionOnPort(5555): + namespace.IfPossibleEnterNewNetworkNamespace() # First, run InjectTests on all modules, to ensure that any parameterized # tests in those modules are injected. for name in test_modules: diff --git a/net/test/namespace.py b/net/test/namespace.py index 986fb59..85db654 100644 --- a/net/test/namespace.py +++ b/net/test/namespace.py @@ -19,8 +19,11 @@ import ctypes import ctypes.util import os +import socket import net_test +import sock_diag +import tcp_test # //include/linux/fs.h MNT_FORCE = 1 # Attempt to forcibily umount @@ -76,7 +79,7 @@ def Mount(src, tgt, fs, flags=MS_NODEV|MS_NOEXEC|MS_NOSUID|MS_RELATIME): ret = libc.mount(src, tgt, fs, flags, None) if ret < 0: errno = ctypes.get_errno() - raise OSError(errno, '%s mounting %s on %s (fs=%s flags=%x)' + raise OSError(errno, '%s mounting %s on %s (fs=%s flags=0x%x)' % (os.strerror(errno), src, tgt, fs, flags)) @@ -105,7 +108,7 @@ def UnShare(flags): ret = libc.unshare(flags) if ret < 0: errno = ctypes.get_errno() - raise OSError(errno, '%s while unshare(%x)' % (os.strerror(errno), flags)) + raise OSError(errno, '%s while unshare(0x%x)' % (os.strerror(errno), flags)) def DumpMounts(hdr): @@ -146,3 +149,17 @@ def IfPossibleEnterNewNetworkNamespace(): print 'succeeded.' return True + + +def HasEstablishedTcpSessionOnPort(port): + sd = sock_diag.SockDiag() + + sock_id = sd._EmptyInetDiagSockId() + sock_id.sport = port + + states = 1 << tcp_test.TCP_ESTABLISHED + + matches = sd.DumpAllInetSockets(socket.IPPROTO_TCP, "", + sock_id=sock_id, states=states) + + return len(matches) > 0 |