SoW-2020-0003: Trace Hit Counters
[lttng-tools.git] / tests / regression / tools / save-load / test_save
index 9132b5a05ee0dc5995f6183c388b2e0602c8a341..c4bc515e3b0a5479d134947c756691b4f9477e63 100755 (executable)
@@ -1,38 +1,28 @@
 #!/bin/bash
 #
-# Copyright (C) 2014 David Goulet <dgoulet@efficios.com>
+# Copyright (C) 2014 David Goulet <dgoulet@efficios.com>
 #
-# 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="Save session(s)"
 
 CURDIR=$(dirname $0)/
 TESTDIR=$CURDIR/../../../
-SESSIOND_BIN="lttng-sessiond"
-RELAYD_BIN="lttng-relayd"
-LTTNG_BIN="lttng"
 
 SESSION_NAME="save-42"
 CHANNEL_NAME="chan-save"
 EVENT_NAME="tp:tptest"
+MAP_32_NAME="ze-map-32"
+MAP_64_NAME="ze-map-64"
 
 DIR=$(readlink -f $TESTDIR)
 
-NUM_TESTS=37
+NUM_TESTS=46
 
 source $TESTDIR/utils/utils.sh
 
+FULL_LTTNG_BIN="${TESTDIR}/../src/bin/lttng/${LTTNG_BIN}"
+
 # MUST set TESTDIR before calling those functions
 plan_tests $NUM_TESTS
 
@@ -65,32 +55,50 @@ function test_basic_save()
 {
        diag "Test basic save"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
-       enable_ust_lttng_channel $SESSION_NAME $CHANNEL_NAME
-       enable_ust_lttng_event $SESSION_NAME $EVENT_NAME $CHANNEL_NAME
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
+       enable_ust_lttng_channel_ok $SESSION_NAME $CHANNEL_NAME
+       enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME $CHANNEL_NAME
+       lttng_add_map_ok $MAP_32_NAME $SESSION_NAME -u 32 "" ""
+       lttng_add_map_ok $MAP_64_NAME $SESSION_NAME -u 64 "" ""
+       lttng_track_ok "-p 666 -u -s $SESSION_NAME"
 
        lttng_save $SESSION_NAME "-o $TRACE_PATH"
 
        is_session_saved $TRACE_PATH $SESSION_NAME
 
-       destroy_lttng_session $SESSION_NAME
+       local session_file="$TRACE_PATH/$SESSION_NAME.lttng"
+
+       local map_count=$(xmllint --xpath 'count(/sessions/session[1]/domains/domain[./type = "UST"]/maps/map)' "$session_file")
+       is "$map_count" 2
+
+       local bitness_32=$(xmllint --xpath '/sessions/session[1]/domains/domain[./type = "UST"]/maps/map[./name = "ze-map-32"]/bitness/text()' "$session_file")
+       is "$bitness_32" 32
+
+       local bitness_64=$(xmllint --xpath '/sessions/session[1]/domains/domain[./type = "UST"]/maps/map[./name = "ze-map-64"]/bitness/text()' "$session_file")
+       is "$bitness_64" 64
+
+       destroy_lttng_session_ok $SESSION_NAME
 }
 
 function test_basic_save_all()
 {
        diag "Test basic save all"
 
-       create_lttng_session $SESSION_NAME-1 $TRACE_PATH
-       create_lttng_session $SESSION_NAME-2 $TRACE_PATH
-       create_lttng_session $SESSION_NAME-3 $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME-1 $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME-2 $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME-3 $TRACE_PATH
+
+       enable_ust_lttng_channel_ok $SESSION_NAME-1 $CHANNEL_NAME
+       enable_ust_lttng_channel_ok $SESSION_NAME-2 $CHANNEL_NAME
+       enable_ust_lttng_channel_ok $SESSION_NAME-3 $CHANNEL_NAME
 
-       enable_ust_lttng_channel $SESSION_NAME-1 $CHANNEL_NAME
-       enable_ust_lttng_channel $SESSION_NAME-2 $CHANNEL_NAME
-       enable_ust_lttng_channel $SESSION_NAME-3 $CHANNEL_NAME
+       enable_ust_lttng_event_ok $SESSION_NAME-1 $EVENT_NAME $CHANNEL_NAME
+       enable_ust_lttng_event_ok $SESSION_NAME-2 $EVENT_NAME $CHANNEL_NAME
+       enable_ust_lttng_event_ok $SESSION_NAME-3 $EVENT_NAME $CHANNEL_NAME
 
-       enable_ust_lttng_event $SESSION_NAME-1 $EVENT_NAME $CHANNEL_NAME
-       enable_ust_lttng_event $SESSION_NAME-2 $EVENT_NAME $CHANNEL_NAME
-       enable_ust_lttng_event $SESSION_NAME-3 $EVENT_NAME $CHANNEL_NAME
+       lttng_track_ok "-p 666 -u -s $SESSION_NAME-1"
+       lttng_track_ok "-p 666 -u -s $SESSION_NAME-2"
+       lttng_track_ok "-p 666 -u -s $SESSION_NAME-3"
 
        lttng_save "" "-a -o $TRACE_PATH"
 
@@ -98,29 +106,29 @@ function test_basic_save_all()
        is_session_saved $TRACE_PATH $SESSION_NAME-2
        is_session_saved $TRACE_PATH $SESSION_NAME-3
 
-       destroy_lttng_session $SESSION_NAME-1
-       destroy_lttng_session $SESSION_NAME-2
-       destroy_lttng_session $SESSION_NAME-3
+       destroy_lttng_session_ok $SESSION_NAME-1
+       destroy_lttng_session_ok $SESSION_NAME-2
+       destroy_lttng_session_ok $SESSION_NAME-3
 }
 
 function test_overwrite()
 {
        diag "Test overwrite session file"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
-       enable_ust_lttng_channel $SESSION_NAME $CHANNEL_NAME
-       enable_ust_lttng_event $SESSION_NAME $EVENT_NAME $CHANNEL_NAME
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
+       enable_ust_lttng_channel_ok $SESSION_NAME $CHANNEL_NAME
+       enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME $CHANNEL_NAME
 
        lttng_save $SESSION_NAME "-o $TRACE_PATH"
 
        is_session_saved $TRACE_PATH $SESSION_NAME
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        # Create a new session with same name so we can force the overwrite
-       create_lttng_session $SESSION_NAME $TRACE_PATH
-       enable_ust_lttng_channel $SESSION_NAME $CHANNEL_NAME
-       enable_ust_lttng_event $SESSION_NAME $EVENT_NAME $CHANNEL_NAME
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
+       enable_ust_lttng_channel_ok $SESSION_NAME $CHANNEL_NAME
+       enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME $CHANNEL_NAME
 
        # This one MUST fail
        save_lttng_fail $SESSION_NAME "-o $TRACE_PATH"
@@ -130,7 +138,7 @@ function test_overwrite()
 
        is_session_saved $TRACE_PATH $SESSION_NAME
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 }
 
 start_lttng_sessiond
This page took 0.02839 seconds and 5 git commands to generate.