X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Fust%2Fbefore-after%2Frun;fp=tests%2Fust%2Fbefore-after%2Frun;h=9b165282171a7bbb92fab9888a673170d6ff8873;hp=0000000000000000000000000000000000000000;hb=b19155c048f4cb6be12d402f1708e2e4ff80fa98;hpb=d3d6d2a1388655959d3a0c399bab15db12546088 diff --git a/tests/ust/before-after/run b/tests/ust/before-after/run new file mode 100755 index 000000000..9b1652821 --- /dev/null +++ b/tests/ust/before-after/run @@ -0,0 +1,120 @@ +#!/bin/bash +# +# 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 + +CURDIR=$(dirname $0)/ +TESTDIR=$CURDIR/../.. +NR_ITER=100 +SESSION_NAME="per-session" +EVENT_NAME="ust_gen_nevents:tptest" + +source $TESTDIR/utils.sh + +echo -e "\n----------------------------------------------------" +echo -e "UST tracer - Star tracing before and after execution" +echo -e "----------------------------------------------------" + +if [ ! -x "$CURDIR/gen-nevents" ]; then + echo -e "No UST nevents binary detected. Passing." + exit 0 +fi + +# MUST set TESTDIR before calling those functions + +test_before_apps() { + local out + + # BEFORE application is spawned + create_lttng_session $SESSION_NAME $TRACE_PATH + enable_ust_lttng_event $SESSION_NAME $EVENT_NAME + start_tracing $SESSION_NAME + # Start test + echo -n "Starting application... " + ./$CURDIR/gen-nevents $NR_ITER + echo -e "Ended \e[1;32mOK\e[0m" + stop_tracing $SESSION_NAME + destroy_lttng_session $SESSION_NAME + + trace_matches $EVENT_NAME $NR_ITER $TRACE_PATH + + return $? +} + +test_after_apps() { + local out + + echo -n "Starting application... " + ./$CURDIR/gen-nevents 100 & + echo -e "\e[1;32mOK\e[0m" + + # BEFORE application is spawned + create_lttng_session $SESSION_NAME $TRACE_PATH + enable_ust_lttng_event $SESSION_NAME $EVENT_NAME + start_tracing $SESSION_NAME + + # At least hit one event + sleep 2 + + stop_tracing $SESSION_NAME + destroy_lttng_session $SESSION_NAME + + out=$(babeltrace $TRACE_PATH | grep $EVENT_NAME | wc -l) + if [ $out -eq 0 ]; then + echo -n "No event found. Suppose to have at least one... " + echo -e "\e[1;31mFAILED\e[0m" + out=1 + else + echo -n "Found $out event(s). Coherent... " + echo -e "\e[1;32mOK\e[0m" + out=0 + fi + + return $out +} + +# MUST set TESTDIR before calling those functions + +start_sessiond + +echo "" +echo "=== Start application BEFORE tracing was started ===" + +TRACE_PATH=$(mktemp -d) + +test_before_apps +out=$? +if [ $out -ne 0 ]; then + stop_sessiond + exit $out +fi + +rm -rf $TRACE_PATH + +echo "" +echo "=== Start application AFTER tracing was started ===" + +TRACE_PATH=$(mktemp -d) + +test_after_apps +out=$? +if [ $out -ne 0 ]; then + stop_sessiond + exit $out +fi + +stop_sessiond + +rm -rf $TRACE_PATH