char creation_timestamp_buffer[ISO8601_STR_LEN];
const char *creation_timestamp_str = "(none)";
const bool chunk_has_local_output = relayd_id == -1ULL;
+ enum lttng_trace_chunk_status tc_status;
struct lttcomm_consumer_msg msg = {
.cmd_type = LTTNG_CONSUMER_CREATE_TRACE_CHUNK,
.u.create_trace_chunk.session_id = session_id,
ret = -LTTNG_ERR_FATAL;
goto error;
}
- ret = lttng_directory_handle_create_subdirectory_as_user(
- chunk_directory_handle,
- domain_subdir,
- S_IRWXU | S_IRWXG,
- &chunk_credentials);
- if (ret) {
+ tc_status = lttng_trace_chunk_create_subdirectory(
+ chunk, domain_subdir);
+ if (tc_status != LTTNG_TRACE_CHUNK_STATUS_OK) {
PERROR("Failed to create chunk domain output directory \"%s\"",
domain_subdir);
ret = -LTTNG_ERR_FATAL;
TESTAPP_NAME="gen-ust-events"
TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME"
-NUM_TESTS=1683
+NUM_TESTS=1915
PAGE_SIZE=$(getconf PAGE_SIZE)
TRACE_PATH=$(mktemp -d)
destroy_lttng_session_ok $SESSION_NAME
}
+function test_ust_streaming_no_event ()
+{
+ local tracing_active=$1
+ local clear_twice=$2
+ #local rotate_before=$3 ignored
+ #local rotate_after=$4
+ local buffer_type=uid
+ local local_path="${TRACE_PATH}/${HOSTNAME}/${SESSION_NAME}*"
+ local channel_name="chan"
+
+ diag "Test ust streaming clear no event"
+ diag "Parameters: tracing_active=$tracing_active, clear_twice=$clear_twice, rotate_before=$rotate_before, rotate_after=$rotate_after, buffer_type=$buffer_type"
+ create_lttng_session_uri $SESSION_NAME net://localhost
+ enable_ust_lttng_channel_ok $SESSION_NAME $channel_name --buffers-$buffer_type
+ enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME $channel_name
+ start_lttng_tracing_ok $SESSION_NAME
+
+ do_clear_session $SESSION_NAME "$tracing_active" "$clear_twice" "$rotate_before" "$rotate_after"
+ stop_lttng_tracing_ok $SESSION_NAME
+
+ validate_directory_empty "$local_path"
+
+ destroy_lttng_session_ok $SESSION_NAME
+}
+
function test_ust_streaming_rotate_clear ()
{
local tracing_active=$1
destroy_lttng_session_ok $SESSION_NAME
}
+function test_ust_local_no_event ()
+{
+ local tracing_active=$1
+ local clear_twice=$2
+ #local rotate_before=$3 ignored
+ #local rotate_after=$4 ignored
+ local buffer_type=$5
+ local channel_name="chan"
+
+ diag "Test ust local no event"
+ diag "Parameters: tracing_active=$tracing_active, clear_twice=$clear_twice, rotate_before=$rotate_before, rotate_after=$rotate_after, buffer_type=$buffer_type"
+ create_lttng_session_ok $SESSION_NAME "$TRACE_PATH"
+ enable_ust_lttng_channel_ok $SESSION_NAME $channel_name "--buffers-$buffer_type"
+ enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME $channel_name
+ start_lttng_tracing_ok $SESSION_NAME
+
+ do_clear_session $SESSION_NAME "$tracing_active" "$clear_twice" "$rotate_before" "$rotate_after"
+ stop_lttng_tracing_ok $SESSION_NAME
+
+ validate_directory_empty "$TRACE_PATH"
+
+ destroy_lttng_session_ok $SESSION_NAME
+}
+
function test_ust_local_rotate_clear ()
{
local tracing_active=$1
test_ust_streaming_clear_rotate
test_ust_streaming_tracefile_rotation
test_ust_streaming_tracefile_rotation_overwrite_files
+ test_ust_streaming_no_event
)
live_tests=(test_ust_streaming_live
local_tests=(test_ust_local
test_ust_local_rotate_clear
test_ust_local_clear_rotate
+ test_ust_local_no_event
)
snapshot_uid_tests=(test_ust_streaming_snapshot