X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Ftest_punt.py;h=3471a3f7dd59c041cbab58b6f42ff40ffe27bb94;hb=4c45d6fef426863cce7a6f6cb42150897a674ed9;hp=c6d6dbc51409134db14f8eb64b59d93a6a0e17f9;hpb=8dc0d488e62323a6f2814a74130934f5ed2bf724;p=vpp.git diff --git a/test/test_punt.py b/test/test_punt.py old mode 100644 new mode 100755 index c6d6dbc5140..3471a3f7dd5 --- a/test/test_punt.py +++ b/test/test_punt.py @@ -46,11 +46,11 @@ class serverSocketThread(threading.Thread): self.sockName = sockName self.sock = None self.rx_pkts = [] - self.keep_running = True + self.stop_running = False def rx_packets(self): # Wait for some packets on socket - while self.keep_running: + while True: try: data = self.sock.recv(65536) @@ -61,7 +61,9 @@ class serverSocketThread(threading.Thread): self.rx_pkts.append(Ether(data[8:])) except IOError as e: if e.errno == 11: - # nothing to receive, sleep a little + # nothing to receive, stop running or sleep a little + if self.stop_running: + break time.sleep(0.1) pass else: @@ -81,8 +83,9 @@ class serverSocketThread(threading.Thread): self.rx_packets() def close(self): + self.stop_running = True + threading.Thread.join(self) self.sock.close() - self.keep_running = False return self.rx_pkts @@ -131,7 +134,6 @@ class TestPuntSocket(VppTestCase): rx_pkts = [] for thread in self.sock_servers: rx_pkts += thread.close() - thread.join() return rx_pkts def verify_port(self, pr, vpr):