ctf: grow stored_values array when necessary
[babeltrace.git] / tests / plugins / src.ctf.lttng-live / test_live
index 32e714f2cdb8907c689de6dbbe3f09128819ec1f..e9703fbbe18c13e58585e0017b48f346a9108d72 100755 (executable)
@@ -84,7 +84,8 @@ get_cli_output_with_lttng_live_server() {
        local cli_stdout_file="$2"
        local cli_stderr_file="$3"
        local port_file="$4"
-       shift 4
+       local trace_path_prefix="$5"
+       shift 5
        local server_args=("$@")
 
        local i
@@ -94,7 +95,7 @@ get_cli_output_with_lttng_live_server() {
        local server_pid_file
        local server_retcode_file
 
-       server_args+=(--port-file "$port_file" --trace-path-prefix "$trace_dir_native")
+       server_args+=(--port-file "$port_file" --trace-path-prefix "$trace_path_prefix")
        server_pid_file="$(mktemp -t test_live_server_pid.XXXXXX)"
        server_retcode_file="$(mktemp -t test_live_server_ret.XXXXX)"
 
@@ -176,7 +177,8 @@ run_test() {
        local cli_args_template="$2"
        local expected_stdout="$3"
        local expected_stderr="$4"
-       shift 4
+       local trace_path_prefix="$5"
+       shift 5
        local server_args=("$@")
 
        local cli_stderr
@@ -189,7 +191,7 @@ run_test() {
        port_file="$(mktemp -t test_live_server_port.XXXXXX)"
 
        get_cli_output_with_lttng_live_server "$cli_args_template" "$cli_stdout" \
-               "$cli_stderr" "$port_file" "${server_args[@]}"
+               "$cli_stderr" "$port_file" "$trace_path_prefix" "${server_args[@]}"
        port=$(<"$port_file")
 
        bt_diff "$expected_stdout" "$cli_stdout"
@@ -220,12 +222,11 @@ test_list_sessions() {
        template_expected=$(<"$test_data_dir/cli-list-sessions.expect")
        cli_stderr="$(mktemp -t test_live_list_sessions_stderr.XXXXXX)"
        cli_stdout="$(mktemp -t test_live_list_sessions_stdout.XXXXXX)"
-       empty_file="$(mktemp -t test_live_list_sessions_empty.XXXXXX)"
        port_file="$(mktemp -t test_live_list_sessions_server_port.XXXXXX)"
        tmp_stdout_expected="$(mktemp -t test_live_list_sessions_stdout_expected.XXXXXX)"
 
        get_cli_output_with_lttng_live_server "$cli_args_template" "$cli_stdout" \
-               "$cli_stderr" "$port_file" "${server_args[@]}"
+               "$cli_stderr" "$port_file" "$trace_dir_native" "${server_args[@]}"
        port=$(<"$port_file")
 
        # Craft the expected output. This is necessary since the port number
@@ -236,12 +237,11 @@ test_list_sessions() {
 
        bt_diff "$tmp_stdout_expected" "$cli_stdout"
        ok $? "$test_text - stdout"
-       bt_diff "$empty_file" "$cli_stderr"
+       bt_diff "/dev/null" "$cli_stderr"
        ok $? "$test_text - stderr"
 
        rm -f "$cli_stderr"
        rm -f "$cli_stdout"
-       rm -f "$empty_file"
        rm -f "$port_file"
        rm -f "$tmp_stdout_expected"
 }
@@ -253,15 +253,10 @@ test_base() {
        local cli_args_template="-i lttng-live net://localhost:@PORT@/host/hostname/trace-with-index -c sink.text.details"
        local server_args=("$test_data_dir/base.json")
        local expected_stdout="${test_data_dir}/cli-base.expect"
-       local expected_stderr
-
-       # Empty file for stderr expected
-       expected_stderr="$(mktemp -t test_live_base_stderr_expected.XXXXXX)"
+       local expected_stderr="/dev/null"
 
        run_test "$test_text" "$cli_args_template" "$expected_stdout" \
-               "$expected_stderr" "${server_args[@]}"
-
-       rm -f "$expected_stderr"
+               "$expected_stderr" "$trace_dir_native" "${server_args[@]}"
 }
 
 test_multi_domains() {
@@ -271,15 +266,10 @@ test_multi_domains() {
        local cli_args_template="-i lttng-live net://localhost:@PORT@/host/hostname/multi-domains -c sink.text.details"
        local server_args=("${test_data_dir}/multi_domains.json")
        local expected_stdout="$test_data_dir/cli-multi-domains.expect"
-       local expected_stderr
-
-       # Empty file for stderr expected
-       expected_stderr="$(mktemp -t test_live_multi_domains_stderr_expected.XXXXXX)"
+       local expected_stderr="/dev/null"
 
        run_test "$test_text" "$cli_args_template" "$expected_stdout" \
-               "$expected_stderr" "${server_args[@]}"
-
-       rm -f "$expected_stderr"
+               "$expected_stderr" "$trace_dir_native" "${server_args[@]}"
 }
 
 test_rate_limited() {
@@ -292,15 +282,10 @@ test_rate_limited() {
        local cli_args_template="-i lttng-live net://localhost:@PORT@/host/hostname/trace-with-index -c sink.text.details"
        local server_args=(--max-query-data-response-size 1024 "$test_data_dir/rate_limited.json")
        local expected_stdout="${test_data_dir}/cli-base.expect"
-       local expected_stderr
-
-       # Empty file for stderr expected
-       expected_stderr="$(mktemp -t test_live_rate_limited_stderr_expected.XXXXXX)"
+       local expected_stderr="/dev/null"
 
        run_test "$test_text" "$cli_args_template" "$expected_stdout" \
-               "$expected_stderr" "${server_args[@]}"
-
-       rm -f "$expected_stderr"
+               "$expected_stderr" "$trace_dir_native" "${server_args[@]}"
 }
 
 test_compare_to_ctf_fs() {
@@ -322,10 +307,10 @@ test_compare_to_ctf_fs() {
        bt_remove_cr "${expected_stdout}"
        bt_remove_cr "${expected_stderr}"
        run_test "$test_text" "$cli_args_template" "$expected_stdout" \
-               "$expected_stderr" "${server_args[@]}"
+               "$expected_stderr" "$trace_dir_native" "${server_args[@]}"
        diag "Inverse session order from lttng-relayd"
        run_test "$test_text" "$cli_args_template" "$expected_stdout" \
-               "$expected_stderr" "${server_args_inverse[@]}"
+               "$expected_stderr" "$trace_dir_native" "${server_args_inverse[@]}"
 
        rm -f "$expected_stdout"
        rm -f "$expected_stderr"
@@ -360,15 +345,10 @@ test_inactivity_discarded_packet() {
        local cli_args_template="-i lttng-live net://localhost:@PORT@/host/hostname/7_lost_between_2_with_index -c sink.text.details"
        local server_args=("$test_data_dir/inactivity_discarded_packet.json")
        local expected_stdout="$test_data_dir/inactivity_discarded_packet.expect"
-       local expected_stderr
-
-       # Empty file for stderr expected
-       expected_stderr="$(mktemp -t test_live_inactivity_discarded_packet_stderr_expected.XXXXXX)"
+       local expected_stderr="/dev/null"
 
        run_test "$test_text" "$cli_args_template" "$expected_stdout" \
-               "$expected_stderr" "${server_args[@]}"
-
-       rm -f "$expected_stderr"
+               "$expected_stderr" "$trace_dir_native" "${server_args[@]}"
 }
 
 test_split_metadata() {
@@ -386,18 +366,34 @@ test_split_metadata() {
        local cli_args_template="-i lttng-live net://localhost:@PORT@/host/hostname/split_metadata -c sink.text.details"
        local server_args=("$test_data_dir/split_metadata.json")
        local expected_stdout="${test_data_dir}/split_metadata.expect"
-       local expected_stderr
+       local expected_stderr="/dev/null"
 
-       # Empty file for stderr expected
-       expected_stderr="$(mktemp -t test_live_split_metadata_stderr_expected.XXXXXX)"
+       run_test "$test_text" "$cli_args_template" "$expected_stdout" \
+               "$expected_stderr" "$trace_dir_native" "${server_args[@]}"
+}
+
+test_stored_values() {
+       # Split metadata, where the new metadata requires additional stored
+       # value slots in CTF message iterators.
+       local test_text="split metadata requiring additionnal stored values"
+       local cli_args_template="-i lttng-live net://localhost:@PORT@/host/hostname/stored_values -c sink.text.details"
+       local server_args=("$test_data_dir/stored_values.json")
+       local expected_stdout="${test_data_dir}/stored_values.expect"
+       local expected_stderr="/dev/null"
+       local tmp_dir
+
+       tmp_dir=$(mktemp -d -t 'test_stored_value.XXXXXXX')
+
+       # Generate test trace.
+       gen_mctf_trace "${trace_dir}/live/stored_values.mctf" "$tmp_dir/stored_values"
 
        run_test "$test_text" "$cli_args_template" "$expected_stdout" \
-               "$expected_stderr" "${server_args[@]}"
+               "$expected_stderr" "$tmp_dir" "${server_args[@]}"
 
-       rm -f "$expected_stderr"
+       rm -rf "$tmp_dir"
 }
 
-plan_tests 16
+plan_tests 18
 
 test_list_sessions
 test_base
@@ -406,3 +402,4 @@ test_rate_limited
 test_compare_to_ctf_fs
 test_inactivity_discarded_packet
 test_split_metadata
+test_stored_values
This page took 0.026802 seconds and 4 git commands to generate.