diff options
author | Pablo Gamito <pablogamito@google.com> | 2024-04-25 16:05:30 +0000 |
---|---|---|
committer | Pablo Gamito <pablogamito@google.com> | 2024-04-26 13:20:54 +0000 |
commit | 43851e716a212e8d7bed04107cd98f626aadda02 (patch) | |
tree | e432add93b2c67ea77d46ed0de3e2ba273464181 | |
parent | 72d015eeccd5c5532a5686b925685c09a64b486f (diff) | |
download | perfetto-43851e716a212e8d7bed04107cd98f626aadda02.tar.gz |
Add test for dropped messages
To make sure the protolog parser can handle dropped packets
Bug: 336781034
Test: tools/ninja -C out/linux_clang_release && tools/diff_test_trace_processor.py ./out/linux_clang_release/trace_processor_shell --name-filter "ProtoLog"
Change-Id: I9f8e9df64558abf744a90ca4959f8f734fcd86d2
-rw-r--r-- | test/trace_processor/diff_tests/parser/android/protolog_packet_loss.textproto | 118 | ||||
-rw-r--r-- | test/trace_processor/diff_tests/parser/android/tests_protolog.py | 10 |
2 files changed, 128 insertions, 0 deletions
diff --git a/test/trace_processor/diff_tests/parser/android/protolog_packet_loss.textproto b/test/trace_processor/diff_tests/parser/android/protolog_packet_loss.textproto new file mode 100644 index 000000000..ab6fda5f6 --- /dev/null +++ b/test/trace_processor/diff_tests/parser/android/protolog_packet_loss.textproto @@ -0,0 +1,118 @@ +packet { + trusted_uid: 1000 + trusted_packet_sequence_id: 3 + sequence_flags: 1 + previous_packet_dropped: true + trusted_pid: 1716 + first_packet_on_sequence: true +} +packet { + trusted_uid: 1000 + trusted_packet_sequence_id: 3 + interned_data { + protolog_string_args { + iid: 1 + str: "MyTestString" + } + } + trusted_pid: 1716 +} +packet { + trusted_uid: 1000 + trusted_packet_sequence_id: 3 + interned_data { + protolog_string_args { + iid: 2 + str: "MyOtherTestString" + } + } + trusted_pid: 1716 +} +packet { + trusted_uid: 1000 + trusted_packet_sequence_id: 3 + sequence_flags: 2 + trusted_pid: 1716 + timestamp: 857384130 + protolog_message { + message_id: 6924537961316301726 + str_param_iids: 1 + str_param_iids: 1 + } +} +packet { + trusted_uid: 1000 + trusted_packet_sequence_id: 3 + sequence_flags: 2 + trusted_pid: 1716 + timestamp: 857384130 + protolog_message { + message_id: 6924537961316301726 + str_param_iids: 1 + str_param_iids: 2 + } + previous_packet_dropped: true +} +packet { + trusted_uid: 1000 + trusted_packet_sequence_id: 3 + sequence_flags: 2 + trusted_pid: 1716 + timestamp: 857384130 + protolog_message { + message_id: 6924537961316301726 + str_param_iids: 2 + str_param_iids: 2 + } +} +packet { + trusted_uid: 1000 + trusted_packet_sequence_id: 4 + sequence_flags: 1 + previous_packet_dropped: true + trusted_pid: 1716 + first_packet_on_sequence: true +} +packet { + trusted_uid: 1000 + trusted_packet_sequence_id: 4 + interned_data { + protolog_string_args { + iid: 1 + str: "MyNextTestString" + } + } + trusted_pid: 1716 +} +packet { + trusted_uid: 1000 + trusted_packet_sequence_id: 4 + sequence_flags: 2 + trusted_pid: 1716 + timestamp: 857384130 + protolog_message { + message_id: 6924537961316301726 + str_param_iids: 1 + str_param_iids: 1 + } +} +packet { + trusted_uid: 10224 + trusted_packet_sequence_id: 10 + previous_packet_dropped: true + trusted_pid: 2063 + first_packet_on_sequence: true + protolog_viewer_config { + messages { + message_id: 6924537961316301726 + message: "Test message with two strings: %s and %s" + level: PROTOLOG_LEVEL_DEBUG + group_id: 1 + } + groups { + id: 1 + name: "MY_FIRST_GROUP" + tag: "MyFirstGroup" + } + } +}
\ No newline at end of file diff --git a/test/trace_processor/diff_tests/parser/android/tests_protolog.py b/test/trace_processor/diff_tests/parser/android/tests_protolog.py index 404f34e1a..358fe5125 100644 --- a/test/trace_processor/diff_tests/parser/android/tests_protolog.py +++ b/test/trace_processor/diff_tests/parser/android/tests_protolog.py @@ -31,3 +31,13 @@ class ProtoLog(TestSuite): 1,857384110,"WARN","MySecondGroup","Test message with different int formats: 1776, 0o3360, 0x6f0, 888.000000, 8.880000e+02.","[NULL]" 2,857384130,"ERROR","MyThirdGroup","Message re-using interned string 'MyOtherTestString' == 'MyOtherTestString', but 'SomeOtherTestString' != 'MyOtherTestString'","[NULL]" """)) + + def test_handles_packet_loss(self): + return DiffTestBlueprint( + trace=Path('protolog_packet_loss.textproto'), + query="SELECT id, ts, level, tag, message, stacktrace FROM protolog;", + out=Csv(""" + "id","ts","level","tag","message","stacktrace" + 0,857384130,"DEBUG","MyFirstGroup","Test message with two strings: MyTestString and MyTestString","[NULL]" + 1,857384130,"DEBUG","MyFirstGroup","Test message with two strings: MyNextTestString and MyNextTestString","[NULL]" + """)) |