From 0d55ea46e0a45a0d0c5c713d160d44f628b84259 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20Walstr=C3=B6m?= Date: Thu, 22 Jan 2026 15:13:48 +0100 Subject: [PATCH] infamy: sniffer: Wait for the capture to actually start in enter() --- test/infamy/sniffer.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/test/infamy/sniffer.py b/test/infamy/sniffer.py index 723e1650..58ff301d 100644 --- a/test/infamy/sniffer.py +++ b/test/infamy/sniffer.py @@ -4,6 +4,7 @@ import signal import subprocess import tempfile import time +import infamy.util as util class Sniffer: """Helper class for tcpdump""" @@ -20,7 +21,13 @@ class Sniffer: def __enter__(self): cmd = f"tshark -lni iface -w {self.pcap.name} {self.expr}" arg = cmd.split(" ") - self.proc = self.netns.popen(arg, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + self.proc = self.netns.popen(arg, + stdin=subprocess.DEVNULL, + stdout=subprocess.DEVNULL, + stderr=subprocess.PIPE, + text=True) + + util.until(lambda: " -- Capture started." in self.proc.stderr.readline()) def __exit__(self, _, __, ___): if not self.proc: