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>
--- /dev/null
+\1e
+{
+ "type": "preamble",
+ "version": 2
+}
+\1e
+{
+ "type": "trace-class"
+}
--- /dev/null
+\1e
+{
+ "type": "preamble",
+ "version": 2
+}
done
}
-plan_tests 40
+plan_tests 56
test_fail \
"invalid-packet-size/trace" \
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}"