tests: use -z / -n to test for string empty / non-empty
[babeltrace.git] / tests / cli / convert / test_auto_source_discovery_grouping
index 60128d3ead73b9a4a634bb97ffe10a12f2cadc7b..e476c96cb435a6448575c444c9b28d37c48df25b 100755 (executable)
@@ -1,23 +1,13 @@
 #!/bin/bash
 #
-# Copyright (C) 2019 Simon Marchi <simon.marchi@efficios.com>
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License, version 2 only, as
-# published by the Free Software Foundation.
+# SPDX-License-Identifier: GPL-2.0-only
 #
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
-# more details.
+# Copyright (C) 2019 Simon Marchi <simon.marchi@efficios.com>
 #
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 # Test the auto source disovery mechanism of the CLI.
 
-if [ "x${BT_TESTS_SRCDIR:-}" != "x" ]; then
+if [ -n "${BT_TESTS_SRCDIR:-}" ]; then
        UTILSSH="$BT_TESTS_SRCDIR/utils/utils.sh"
 else
        UTILSSH="$(dirname "$0")/../../utils/utils.sh"
@@ -26,39 +16,31 @@ fi
 # shellcheck source=../../utils/utils.sh
 SH_TAP=1 source "$UTILSSH"
 
-NUM_TESTS=1
+NUM_TESTS=3
 
 plan_tests $NUM_TESTS
 
-data_dir="${BT_TESTS_DATADIR}/cli/convert/auto-source-discovery-grouping"
+data_dir="${BT_TESTS_DATADIR}/auto-source-discovery/grouping"
 plugin_dir="${data_dir}"
 trace_dir="${data_dir}/traces"
 
-if [ "$BT_OS_TYPE" = "mingw" ]; then
-       # Use Windows native paths for comparison because Unix
-       # paths are converted by the shell before they are passed
-       # to the native babeltrace2 binary.
-       trace_dir=$(cygpath -w "$trace_dir")
-       dir_sep='\'
-else
-       dir_sep='/'
-fi
+stdout_expected_file="${BT_TESTS_DATADIR}/cli/convert/auto-source-discovery-grouping.expect"
+stdout_actual_file=$(mktemp -t stdout-actual.XXXXXX)
+stderr_actual_file=$(mktemp -t actual-stderr.XXXXXX)
 
-expected_file=$(mktemp -t expected.XXXXXX)
-stderr_expected=/dev/null
+bt_cli "$stdout_actual_file" "$stderr_actual_file" \
+       --plugin-path "${plugin_dir}" convert "ABCDE" "${trace_dir}" some_other_non_opt \
+       -c sink.text.details --params='with-metadata=false'
+ok "$?" "CLI runs successfully"
 
-cat > "$expected_file" <<END
-TestSourceABCDE: ABCDE
-TestSourceExt: ${trace_dir}${dir_sep}aaa1, ${trace_dir}${dir_sep}aaa2, ${trace_dir}${dir_sep}aaa3
-TestSourceExt: ${trace_dir}${dir_sep}bbb1, ${trace_dir}${dir_sep}bbb2
-TestSourceExt: ${trace_dir}${dir_sep}ccc1
-TestSourceExt: ${trace_dir}${dir_sep}ccc2
-TestSourceExt: ${trace_dir}${dir_sep}ccc3
-TestSourceExt: ${trace_dir}${dir_sep}ccc4
-TestSourceSomeDir: ${trace_dir}${dir_sep}some-dir
-END
+# Check components and their inputs.
+bt_diff "$stdout_expected_file" "$stdout_actual_file"
+ok "$?" "expected components are instantiated with expected inputs"
 
-bt_diff_cli_sorted "$expected_file" "$stderr_expected" convert --plugin-path "${plugin_dir}" "ABCDE" "${trace_dir}" some_other_leftover
-ok "$?" "sources are auto-discovered"
+# Check that expected warning is printed.
+# shellcheck disable=SC2016
+grep -q 'No trace was found based on input `some_other_non_opt`' "$stderr_actual_file"
+ok "$?" "warning is printed"
 
-rm -f "$expected_file"
+rm -f "$stdout_actual_file"
+rm -f "$stderr_actual_file"
This page took 0.024895 seconds and 4 git commands to generate.