tests/src.ctf.fs: add CTF 2 tests for no stream class, no trace class
authorSimon Marchi <simon.marchi@efficios.com>
Sat, 4 Nov 2023 20:23:14 +0000 (20:23 +0000)
committerSimon Marchi <simon.marchi@efficios.com>
Wed, 4 Sep 2024 19:05:14 +0000 (15:05 -0400)
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 <simon.marchi@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/12751
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
tests/data/ctf-traces/2/fail/meta-no-stream-cls/metadata [new file with mode: 0644]
tests/data/ctf-traces/2/fail/meta-no-trace-cls-no-stream-cls/metadata [new file with mode: 0644]
tests/plugins/src.ctf.fs/fail/test-fail.sh

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 (file)
index 0000000..33af695
--- /dev/null
@@ -0,0 +1,9 @@
+\1e
+{
+  "type": "preamble",
+  "version": 2
+}
+\1e
+{
+  "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 (file)
index 0000000..ab212ea
--- /dev/null
@@ -0,0 +1,5 @@
+\1e
+{
+  "type": "preamble",
+  "version": 2
+}
index 330302405658717e18fdefff2748bc28067776b8..6967292512be4ee654d3d25a75b41c38f90e8095 100755 (executable)
@@ -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}"
This page took 0.026278 seconds and 4 git commands to generate.