Add test coverage for mark matching on child sockets.
Test: This *is* a test.
Change-Id: I288cee427fb0c7320094fbcbe62ce1db735f74a5
diff --git a/net/test/sock_diag.py b/net/test/sock_diag.py
index 059d935..4efd0c5 100755
--- a/net/test/sock_diag.py
+++ b/net/test/sock_diag.py
@@ -298,6 +298,9 @@
return "???"
def Dump(self, diag_req, bytecode):
+ if bytecode:
+ bytecode = self._NlAttr(INET_DIAG_REQ_BYTECODE, bytecode)
+
out = self._Dump(SOCK_DIAG_BY_FAMILY, diag_req, InetDiagMsg, bytecode)
return out
@@ -309,9 +312,6 @@
if sock_id is None:
sock_id = self._EmptyInetDiagSockId()
- if bytecode:
- bytecode = self._NlAttr(INET_DIAG_REQ_BYTECODE, bytecode)
-
sockets = []
for family in [AF_INET, AF_INET6]:
diag_req = InetDiagReqV2((family, protocol, ext, states, sock_id))
diff --git a/net/test/sock_diag_test.py b/net/test/sock_diag_test.py
index bce5a11..5d33810 100755
--- a/net/test/sock_diag_test.py
+++ b/net/test/sock_diag_test.py
@@ -512,7 +512,14 @@
req = self.sock_diag.DiagReqFromDiagMsg(d, IPPROTO_TCP)
req.states = 1 << tcp_test.TCP_SYN_RECV | 1 << tcp_test.TCP_ESTABLISHED
req.id.cookie = "\x00" * 8
- children = self.sock_diag.Dump(req, NO_BYTECODE)
+
+ bad_bytecode = self.PackAndCheckBytecode(
+ [(sock_diag.INET_DIAG_BC_MARK_COND, 1, 2, (0xffff, 0xffff))])
+ self.assertEqual([], self.sock_diag.Dump(req, bad_bytecode))
+
+ bytecode = self.PackAndCheckBytecode(
+ [(sock_diag.INET_DIAG_BC_MARK_COND, 1, 2, (self.netid, 0xffff))])
+ children = self.sock_diag.Dump(req, bytecode)
return [self.sock_diag.DiagReqFromDiagMsg(d, IPPROTO_TCP)
for d, _ in children]