X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Fregression%2Fust%2Fhigh-throughput%2Ftest_high_throughput;h=873646fa912ab77b7ea8c1fd11e42c3990bc7fdd;hp=55060732873ae0022292aabf820bef30439abbdd;hb=c125de8f5c0dc9ba3ada63e9317e468ffb9e335a;hpb=e5be53a084ca2d0fd6540c6da59fa8909dfac8f8 diff --git a/tests/regression/ust/high-throughput/test_high_throughput b/tests/regression/ust/high-throughput/test_high_throughput index 550607328..873646fa9 100755 --- a/tests/regression/ust/high-throughput/test_high_throughput +++ b/tests/regression/ust/high-throughput/test_high_throughput @@ -1,71 +1,62 @@ #!/bin/bash # -# Copyright (C) - 2012 David Goulet +# Copyright (C) 2012 David Goulet # -# This library is free software; you can redistribute it and/or modify it under -# the terms of the GNU Lesser General Public License as published by the Free -# Software Foundation; version 2.1 of the License. -# -# This library 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 Lesser General Public License for more -# details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this library; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# SPDX-License-Identifier: LGPL-2.1-only + TEST_DESC="UST tracer - Testing high events throughput" CURDIR=$(dirname $0)/ TESTDIR=$CURDIR/../../.. -NR_ITER=20 +NR_APP=20 BIN_NAME="gen-events" SESSION_NAME="high-throughput" EVENT_NAME="tp:tptest" +NUM_TESTS=9 source $TESTDIR/utils/utils.sh -print_test_banner "$TEST_DESC" - if [ ! -x "$CURDIR/$BIN_NAME" ]; then - echo -e "No UST nevents binary detected. Passing." - exit 0 + BAIL_OUT "No UST nevents binary detected." fi -TRACE_PATH=$(mktemp -d) +TRACE_PATH=$(mktemp --tmpdir -d tmp.test_high_throughput_ust_trace_path.XXXXXX) # MUST set TESTDIR before calling those functions +plan_tests $NUM_TESTS + +print_test_banner "$TEST_DESC" + +bail_out_if_no_babeltrace + start_lttng_sessiond -create_lttng_session $SESSION_NAME $TRACE_PATH +create_lttng_session_ok $SESSION_NAME $TRACE_PATH -enable_ust_lttng_event $SESSION_NAME $EVENT_NAME -start_lttng_tracing $SESSION_NAME +enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME +start_lttng_tracing_ok $SESSION_NAME -for i in `seq 1 $NR_ITER`; do - ./$CURDIR/$BIN_NAME & >/dev/null 2>&1 +for i in `seq 1 $NR_APP`; do + ./$CURDIR/$BIN_NAME >/dev/null 2>&1 & done -echo "Waiting for applications to end" -while [ -n "$(pidof $BIN_NAME)" ]; do - echo -n "." - sleep 0.5 -done -echo "" +diag "Waiting for applications to end" +wait +pass "Wait for applications to end" -stop_lttng_tracing $SESSION_NAME -destroy_lttng_session $SESSION_NAME +stop_lttng_tracing_ok $SESSION_NAME +destroy_lttng_session_ok $SESSION_NAME stop_lttng_sessiond # Validate test -TEMP_FILE=$(mktemp) -TEMP_FILE_2=$(mktemp) +TEMP_FILE=$(mktemp --tmpdir tmp.test_high_throughput_tmp_file1.XXXXXX) +TEMP_FILE_2=$(mktemp --tmpdir tmp.test_high_throughput_tmp_file2.XXXXXX) -traced=$(babeltrace $TRACE_PATH 2>/dev/null | wc -l) -babeltrace $TRACE_PATH >/dev/null 2>$TEMP_FILE_2 +traced=$("$BABELTRACE_BIN" $TRACE_PATH 2>/dev/null | wc -l) +"$BABELTRACE_BIN" $TRACE_PATH >/dev/null 2>$TEMP_FILE_2 cat $TEMP_FILE_2 | cut -f4 -d " " >$TEMP_FILE @@ -76,19 +67,15 @@ do done < $TEMP_FILE let total=$dropped+$traced -let wanted=$NR_ITER*1000000 +let wanted=$NR_APP*1000000 if [ $wanted -ne $total ]; then - echo -n "Expected $wanted. Dropped $dropped. Recorded $traced. Total $total... " - print_fail - out=1 + fail "Trace validation" + diag "Expected $wanted. Dropped $dropped. Recorded $traced. Total $total" else - echo -n "Expected $wanted. Dropped $dropped. Recorded $traced. Total $total... " - print_ok - out=0 + pass "Trace validation" + diag "Expected $wanted. Dropped $dropped. Recorded $traced. Total $total" fi rm -rf $TRACE_PATH rm $TEMP_FILE $TEMP_FILE_2 - -exit $out