diff --git a/tests/pytests/test_prefix.py b/tests/pytests/test_prefix.py index 2b576b65184b72081e023f0e173a962b4defed98..48662c58f9acae64629ffeec02d4b156df5a7ea9 100644 --- a/tests/pytests/test_prefix.py +++ b/tests/pytests/test_prefix.py @@ -77,20 +77,13 @@ def test_prefix_greater_than_message(kresd_sock, send_query): send_query(kresd_sock, invalid_buff) - valid_buff, _ = utils.get_msgbuff() - kresd_sock.sendall(valid_buff) - - # invalid_buff is answered (treats additional data as trailing garbage) - answer = utils.receive_parse_answer(kresd_sock) - assert answer.id == invalid_msgid - - # parsing stream is broken by the invalid_buff, valid query is never answered + # The query is ignored due to trailing garbage and parsing stream + # is broken by the invalid_buff, so valid query is never answered. with utils.expect_kresd_close(): - utils.receive_parse_answer(kresd_sock) + utils.ping_alive(kresd_sock) @pytest.mark.parametrize('glength', [ - 0, 1, 8, 1024, @@ -102,13 +95,10 @@ def test_prefix_trailing_garbage(kresd_sock, glength, query_before): if query_before: utils.ping_alive(kresd_sock) - for _ in range(10): - wire, msgid = utils.prepare_wire() - wire += utils.get_garbage(glength) - buff = utils.prepare_buffer(wire) - - kresd_sock.sendall(buff) - answer = utils.receive_parse_answer(kresd_sock) - assert answer.id == msgid + wire, msgid = utils.prepare_wire() + wire += utils.get_garbage(glength) + buff = utils.prepare_buffer(wire) - time.sleep(0.1) + kresd_sock.sendall(buff) + # The query is ignored due to trailing garbage but others can proceed. + utils.ping_alive(kresd_sock)