From: Julien Desfossez Date: Fri, 16 Jun 2017 18:51:41 +0000 (-0400) Subject: test_trace_copy: compare the two traces with diff rather than wc -l X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=c22ffa0981538121079c9500dab97b7e9fa29d1d test_trace_copy: compare the two traces with diff rather than wc -l Signed-off-by: Julien Desfossez Signed-off-by: Jérémie Galarneau --- diff --git a/tests/cli/test_trace_copy.in b/tests/cli/test_trace_copy.in index b2de187e..6cd0b3a0 100644 --- a/tests/cli/test_trace_copy.in +++ b/tests/cli/test_trace_copy.in @@ -27,26 +27,38 @@ source $TESTDIR/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}" + if test $? != 0; then + fail "Read the new trace in ${out_path}" + continue + fi + ok 0 "Read the new trace in ${out_path}" - new_cnt=$($BABELTRACE_BIN ${out_path} 2>/dev/null | wc -l) + $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" - test $orig_cnt == $new_cnt - ok $? "Same number of events as the original trace ($orig_cnt -> $new_cnt)" - - rm -rf ${out_path} + rm -rf ${out_path} ${text_output} ${text_output2} done