*
* Copyright (C) 2017 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
+ * SPDX-License-Identifier: MIT
*
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
*/
#include <stdio.h>
#include <assert.h>
#include <tap/tap.h>
#include <stdint.h>
-#include <lttng/rotation.h>
-#include <lttng/notification/channel.h>
-#include <lttng/notification/notification.h>
-#include <lttng/condition/evaluation.h>
-#include <lttng/condition/condition.h>
-#include <lttng/endpoint.h>
-#include <lttng/action/notify.h>
-#include <lttng/action/action.h>
-#include <lttng/trigger/trigger.h>
-#include <lttng/condition/session-rotation.h>
#include <string.h>
+#include <lttng/lttng.h>
#define TEST_COUNT 36
ok(out_session_name && !strcmp(session_name, out_session_name),
"Session name returned by %s condition matches the expected name",
type_name);
-end:
return ret;
}
struct lttng_trigger *rotation_completed_trigger = NULL;
enum lttng_condition_status condition_status;
enum lttng_notification_channel_status notification_channel_status;
+ enum lttng_error_code ret_code;
notify = lttng_action_notify_create();
if (!notify) {
}
/* Register rotation ongoing and completed triggers. */
- ret = lttng_register_trigger(rotation_ongoing_trigger);
- ok(ret == 0, "Registered session rotation ongoing trigger");
- if (ret) {
+ ret_code = lttng_register_trigger_with_automatic_name(
+ rotation_ongoing_trigger);
+ ok(ret_code == LTTNG_OK, "Registered session rotation ongoing trigger");
+ if (ret_code != LTTNG_OK) {
+ ret = -ret_code;
goto end;
}
- ret = lttng_register_trigger(rotation_completed_trigger);
- ok(ret == 0, "Registered session rotation completed trigger");
- if (ret) {
+ ret_code = lttng_register_trigger_with_automatic_name(
+ rotation_completed_trigger);
+ ok(ret_code == LTTNG_OK,
+ "Registered session rotation completed trigger");
+ if (ret_code != LTTNG_OK) {
+ ret = -ret_code;
goto end;
}
+
end:
lttng_trigger_destroy(rotation_ongoing_trigger);
lttng_trigger_destroy(rotation_completed_trigger);
location_status = lttng_trace_archive_location_local_get_absolute_path(
location, &chunk_path);
- ok(location_status == LTTNG_TRACE_ARCHIVE_LOCATION_STATUS_OK,
+ ok(location_status == LTTNG_TRACE_ARCHIVE_LOCATION_STATUS_OK && chunk_path,
"Retrieved path from location returned by the session rotation completed notification");
diag("Chunk available at %s", chunk_path ? chunk_path : "NULL");
- ok(!strncmp(session->output_path, chunk_path, strlen(session->output_path)),
+
+ ok(chunk_path && !strncmp(session->output_path, chunk_path, strlen(session->output_path)),
"Returned path from location starts with the output path");
end:
session.output_path = argv[2];
plan_tests(TEST_COUNT);
- if (ret) {
- goto error;
- }
notification_channel = lttng_notification_channel_create(
lttng_session_daemon_notification_endpoint);
error:
lttng_notification_channel_destroy(notification_channel);
lttng_rotation_handle_destroy(rotation_handle);
- return ret;
+ return exit_status();
}