tests: Make dbus_p2p_discovery more robust

Ignore any unexpected deviceLost event before the peer devices has been
discovered. This works around issues where the previous test case
terminates before the D-Bus events have been fully delivered. This could
happen, e.g., when running dbus_p2p_discovery twice in a row.

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2018-02-17 17:21:05 +02:00
parent a4016163e8
commit 50d7cdedae

View file

@ -3060,6 +3060,12 @@ def test_dbus_p2p_discovery(dev, apdev):
def deviceLost(self, path): def deviceLost(self, path):
logger.debug("deviceLost: path=%s" % path) logger.debug("deviceLost: path=%s" % path)
if not self.found or not self.found2:
# This may happen if a previous test case ended up scheduling
# deviceLost event and that event did not get delivered before
# starting the next test execution.
logger.debug("Ignore deviceLost before the deviceFound events")
return
self.lost = True self.lost = True
try: try:
p2p.RejectPeer(path) p2p.RejectPeer(path)