aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChienyuan <chienyuanhuang@google.com>2021-10-28 13:58:40 +0800
committerChris Manton <cmanton@google.com>2021-10-31 16:35:46 +0000
commit5f6fc04131484674020719acaad0dc1aa1bb101b (patch)
treee03ee2d278c07f545dcd8c6c224e21cacb0c182a
parent26f3b0e07402c86ef0dc7718cb01bf24d67c102a (diff)
downloadbt-5f6fc04131484674020719acaad0dc1aa1bb101b.tar.gz
GD Cert: Close event stream before assert fail
Tag: #refactor Bug: 204284493 Test: gd/cert/run BYPASS_LONG_LINES_REASON: Bluetooth likes 120 lines Change-Id: I04246bec194faa3f3ff62c7410bec0bdfc28c759
-rw-r--r--gd/cert/event_stream.py22
1 files changed, 16 insertions, 6 deletions
diff --git a/gd/cert/event_stream.py b/gd/cert/event_stream.py
index 1115c8bed..3a71935e9 100644
--- a/gd/cert/event_stream.py
+++ b/gd/cert/event_stream.py
@@ -197,7 +197,8 @@ class EventStream(IEventStream, Closable):
except Empty:
continue
logging.debug("Done waiting, got %d events" % len(event_list))
- asserts.assert_true(
+ assert_true(
+ self,
len(event_list) <= at_most_times,
msg=("Expected at most %d events, but got %d" % (at_most_times, len(event_list))))
@@ -209,6 +210,12 @@ def static_remaining_time_delta(end_time):
return remaining
+def assert_true(istream, expr, msg, extras=None):
+ if not expr:
+ istream.close()
+ asserts.fail(msg, extras)
+
+
def NOT_FOR_YOU_assert_event_occurs(istream,
match_fn,
at_least_times=1,
@@ -227,7 +234,9 @@ def NOT_FOR_YOU_assert_event_occurs(istream,
except Empty:
continue
logging.debug("Done waiting for event, received %d", len(event_list))
- asserts.assert_true(
+
+ assert_true(
+ istream,
len(event_list) >= at_least_times,
msg=("Expected at least %d events, but got %d" % (at_least_times, len(event_list))))
@@ -252,7 +261,8 @@ def NOT_FOR_YOU_assert_all_events_occur(istream,
except Empty:
continue
logging.debug("Done waiting for event")
- asserts.assert_true(
+ assert_true(
+ istream,
len(matched_order) == len(match_fns),
msg=("Expected at least %d events, but got %d" % (len(match_fns), len(matched_order))))
if order_matters:
@@ -263,7 +273,7 @@ def NOT_FOR_YOU_assert_all_events_occur(istream,
correct_order = False
break
i += 1
- asserts.assert_true(correct_order, "Events not received in correct order %s %s" % (match_fns, matched_order))
+ assert_true(istream, correct_order, "Events not received in correct order %s %s" % (match_fns, matched_order))
def NOT_FOR_YOU_assert_none_matching(istream, match_fn, timeout):
@@ -282,13 +292,13 @@ def NOT_FOR_YOU_assert_none_matching(istream, match_fn, timeout):
logging.debug("Done waiting for an event")
if event is None:
return # Avoid an assert in MessageToString(None, ...)
- asserts.assert_true(event is None, msg='Expected None matching, but got {}'.format(pretty_print(event)))
+ assert_true(istream, event is None, msg='Expected None matching, but got {}'.format(pretty_print(event)))
def NOT_FOR_YOU_assert_none(istream, timeout):
logging.debug("assert_none %fs" % (timeout.total_seconds()))
try:
event = istream.get_event_queue().get(timeout=timeout.total_seconds())
- asserts.assert_true(event is None, msg='Expected None, but got {}'.format(pretty_print(event)))
+ assert_true(istream, event is None, msg='Expected None, but got {}'.format(pretty_print(event)))
except Empty:
return