X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=tests%2Fcli%2Ftest_trace_copy.in;h=36297bfc60d5b526755e66cd918fc01314bc5ea9;hb=61100ebb68e0add5c415f3e5f252a546401d70a9;hp=b2de187ebcfba3a89afb4854b3e5d30d47e85ead;hpb=5177c3519afdc36b0948209c73f1d0719a9a3eb0;p=babeltrace.git diff --git a/tests/cli/test_trace_copy.in b/tests/cli/test_trace_copy.in index b2de187e..36297bfc 100644 --- a/tests/cli/test_trace_copy.in +++ b/tests/cli/test_trace_copy.in @@ -15,38 +15,47 @@ # this program; if not, write to the Free Software Foundation, Inc., 51 # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -CURDIR=$(dirname $0) -TESTDIR=$CURDIR/.. - -BABELTRACE_BIN=$CURDIR/../../cli/babeltrace +BABELTRACE_BIN=@abs_top_builddir@/cli/babeltrace CTF_TRACES=@abs_top_srcdir@/tests/ctf-traces -source $TESTDIR/utils/tap/tap.sh +source @abs_top_srcdir@/tests/utils/tap/tap.sh SUCCESS_TRACES=(${CTF_TRACES}/succeed/*) FAIL_TRACES=(${CTF_TRACES}/fail/*) -NUM_TESTS=$((${#SUCCESS_TRACES[@]} * 3)) +# -2 because there is an empty trace that we skip +NUM_TESTS=$((${#SUCCESS_TRACES[@]} * 3 - 2)) plan_tests $NUM_TESTS for path in ${SUCCESS_TRACES[@]}; do out_path=$(mktemp -d) + text_output1=$(mktemp) + text_output2=$(mktemp) trace=$(basename ${path}) - orig_cnt=$($BABELTRACE_BIN ${path} 2>/dev/null | wc -l) + $BABELTRACE_BIN ${path} 2>/dev/null >${text_output1} + cnt=$(cat ${text_output1} | wc -l) + if test $cnt == 0; then + ok 0 "Empty trace, nothing to copy" + continue + fi $BABELTRACE_BIN ${path} --component sink.ctf.fs --path ${out_path} >/dev/null 2>&1 ok $? "Copy trace ${trace} with ctf-fs sink" $BABELTRACE_BIN ${out_path} >/dev/null 2>&1 - ok $? "Read the new trace in ${out_path}" - - new_cnt=$($BABELTRACE_BIN ${out_path} 2>/dev/null | wc -l) - - test $orig_cnt == $new_cnt - ok $? "Same number of events as the original trace ($orig_cnt -> $new_cnt)" - - rm -rf ${out_path} + if test $? != 0; then + fail "Read the new trace in ${out_path}" + continue + fi + ok 0 "Read the new trace in ${out_path}" + + $BABELTRACE_BIN ${out_path} 2>/dev/null >${text_output2} + cnt=$(diff ${text_output1} ${text_output2} | wc -l) + test $? == 0 + ok $? "Exact same content between the two traces" + + rm -rf ${out_path} ${text_output} ${text_output2} done