It looks like we don't have any test for a metadata file with a syntax
error in it. Add one.
It could be argued that we should not error out in that case, as there
may be unrelated files called `metadata`, and if they don't parse as CTF
1 metadata files, we should just skip over them. But erroring out is
the current behavior of Babeltrace 2, so it should be tested to ensure
it doesn't change by mistake.
Cherry-pick note
----------------
The test needed to be adjusted to look for:
Component class's "query" method failed:
instead of
At line 3 in metadata stream: syntax error, unexpected CTF_RSBRAC: token=\"]\""
because the stable-2.0 branch does not include the patch that makes the
CTF metadata reader append error causes (
50f6fce8d00b ("ctf: append
error causes when returning errors")). The test is still relevant, as
it catches an assertion failure that would crash babeltrace.
Change-Id: I82cae8ebc5df984592205c28041276cc861f30df
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/8511
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
(cherry picked from commit
dfa664f9be160bace24f960b444818d06e75aeb5)
Reviewed-on: https://review.lttng.org/c/babeltrace/+/9532
Tested-by: jenkins <jenkins@lttng.org>
--- /dev/null
+/* CTF 1.8 */
+
+typealias integer { size = 8; align = 8; signed = false; ] := uint8_t;
}
-plan_tests 8
+plan_tests 12
test_fail \
"invalid-packet-size/trace" \
"${data_dir}/valid-events-then-invalid-events.expect" \
"No event class with ID of event class ID to use in stream class: .*stream-class-id=0, event-class-id=255"
+test_fail \
+ "metadata-syntax-error" \
+ "/dev/null" \
+ "^ Component class's \"query\" method failed: "
+
rm -f "${stdout_file}" "${stderr_file}"