From 9b9735a90d2593d85643672a80758abf19f8fa0c Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Sat, 4 Nov 2023 20:23:14 +0000 Subject: [PATCH] tests/src.ctf.fs: add CTF 2 tests for no stream class, no trace class During development, we hit some crashes when the trace metadata did not specify any data stream class fragment (with and without an explicit trace class fragment). Add tests for that. Change-Id: Ic8ce4c7a2ae78b2f484a86e5b1306b7eae606528 Signed-off-by: Simon Marchi Reviewed-on: https://review.lttng.org/c/babeltrace/+/12751 Reviewed-by: Philippe Proulx --- .../2/fail/meta-no-stream-cls/metadata | 9 +++++++++ .../meta-no-trace-cls-no-stream-cls/metadata | 5 +++++ tests/plugins/src.ctf.fs/fail/test-fail.sh | 18 +++++++++++++++--- 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 tests/data/ctf-traces/2/fail/meta-no-stream-cls/metadata create mode 100644 tests/data/ctf-traces/2/fail/meta-no-trace-cls-no-stream-cls/metadata diff --git a/tests/data/ctf-traces/2/fail/meta-no-stream-cls/metadata b/tests/data/ctf-traces/2/fail/meta-no-stream-cls/metadata new file mode 100644 index 00000000..33af695c --- /dev/null +++ b/tests/data/ctf-traces/2/fail/meta-no-stream-cls/metadata @@ -0,0 +1,9 @@ + +{ + "type": "preamble", + "version": 2 +} + +{ + "type": "trace-class" +} diff --git a/tests/data/ctf-traces/2/fail/meta-no-trace-cls-no-stream-cls/metadata b/tests/data/ctf-traces/2/fail/meta-no-trace-cls-no-stream-cls/metadata new file mode 100644 index 00000000..ab212ea4 --- /dev/null +++ b/tests/data/ctf-traces/2/fail/meta-no-trace-cls-no-stream-cls/metadata @@ -0,0 +1,5 @@ + +{ + "type": "preamble", + "version": 2 +} diff --git a/tests/plugins/src.ctf.fs/fail/test-fail.sh b/tests/plugins/src.ctf.fs/fail/test-fail.sh index 33030240..69672925 100755 --- a/tests/plugins/src.ctf.fs/fail/test-fail.sh +++ b/tests/plugins/src.ctf.fs/fail/test-fail.sh @@ -88,7 +88,7 @@ test_fail() { done } -plan_tests 40 +plan_tests 56 test_fail \ "invalid-packet-size/trace" \ @@ -110,14 +110,26 @@ test_fail \ test_fail \ "invalid-sequence-length-field-class" \ - 1 \ + 1 \ "/dev/null" \ "Sequence field class's length field class is not an unsigned integer field class: " test_fail \ "invalid-variant-selector-field-class" \ - 1 \ + 1 \ "/dev/null" \ "Variant field class's tag field class is not an enumeration field class: " +test_fail \ + "meta-no-trace-cls-no-stream-cls" \ + 2 \ + "/dev/null" \ + "Missing data stream class fragment in metadata stream." + +test_fail \ + "meta-no-trace-cls-no-stream-cls" \ + 2 \ + "/dev/null" \ + "Missing data stream class fragment in metadata stream." + rm -f "${stdout_file}" "${stderr_file}" -- 2.34.1