cpp-common/bt2c/fmt.hpp: use `wise_enum::string_type` in `EnableIfIsWiseEnum` definition
[babeltrace.git] / tests / plugins / src.ctf.fs / query / test-query-metadata-info.sh
1 #!/bin/bash
2 #
3 # SPDX-License-Identifier: GPL-2.0-only
4 #
5 # Copyright (C) 2019 Simon Marchi <simon.marchi@efficios.com>
6 # Copyright (C) 2019 Francis Deslauriers <francis.deslauriers@efficios.com>
7 #
8
9 SH_TAP=1
10
11 if [ -n "${BT_TESTS_SRCDIR:-}" ]; then
12 UTILSSH="$BT_TESTS_SRCDIR/utils/utils.sh"
13 else
14 UTILSSH="$(dirname "$0")/../../../utils/utils.sh"
15 fi
16
17 # shellcheck source=../../../utils/utils.sh
18 source "$UTILSSH"
19
20 this_dir_relative="plugins/src.ctf.fs/query"
21 succeed_trace_dir="$BT_CTF_TRACES_PATH/succeed"
22 expect_dir="$BT_TESTS_DATADIR/$this_dir_relative"
23
24 test_query_metadata_info() {
25 local name="$1"
26 local ret=0
27 local trace_path="$succeed_trace_dir/$name"
28 local expected_stdout="$expect_dir/metadata-info-$name.expect"
29 local temp_stdout_output_file
30 local temp_stderr_output_file
31 local query=("query" "src.ctf.fs" "metadata-info" "--params" "path=\"$trace_path\"")
32
33 temp_stdout_output_file="$(mktemp -t actual-stdout.XXXXXX)"
34 temp_stderr_output_file="$(mktemp -t actual-stderr.XXXXXX)"
35
36 bt_cli "$temp_stdout_output_file" "$temp_stderr_output_file" \
37 "${query[@]}"
38
39 bt_diff "$expected_stdout" "$temp_stdout_output_file"
40 ret_stdout=$?
41
42 bt_diff /dev/null "$temp_stderr_output_file"
43 ret_stderr=$?
44
45 if ((ret_stdout != 0 || ret_stderr != 0)); then
46 ret=1
47 fi
48
49 ok $ret "Trace '$name' \`metadata-info\` query gives the expected output"
50 rm -f "$temp_stdout_output_file" "$temp_stderr_output_file"
51 }
52
53 test_non_existent_trace_dir() {
54 local empty_dir
55 local stdout_file
56 local stderr_file
57 local query
58
59 empty_dir=$(mktemp -d)
60 stdout_file="$(mktemp -t actual-stdout.XXXXXX)"
61 stderr_file="$(mktemp -t actual-stderr.XXXXXX)"
62 query=("query" "src.ctf.fs" "metadata-info" "--params" "path=\"$empty_dir\"")
63
64 bt_cli "$stdout_file" "$stderr_file" \
65 "${query[@]}"
66 isnt $? 0 "non existent trace dir: babeltrace exits with an error"
67
68 bt_diff "/dev/null" "${stdout_file}"
69 ok $? "non existent trace dir: babeltrace produces the expected stdout"
70
71 bt_grep_ok \
72 "^CAUSED BY " \
73 "${stderr_file}" \
74 "non existent trace dir: babeltrace produces an error stack"
75
76 bt_grep_ok \
77 "Failed to open metadata file: No such file or directory: path=\".*metadata\"" \
78 "$stderr_file" \
79 "non existent trace dir: babeltrace produces the expected error message"
80
81 rm -f "${stdout_file}" "${stderr_file}"
82 rmdir "${empty_dir}"
83 }
84
85 plan_tests 7
86 test_query_metadata_info succeed1
87 test_non_existent_trace_dir
88 test_query_metadata_info lf-metadata
89 test_query_metadata_info crlf-metadata
This page took 0.030664 seconds and 4 git commands to generate.