lttng-ctl: separate support of named/unnamed trigger registration
[lttng-tools.git] / tests / regression / tools / notification / rotation.c
index c9f5de4974375bff948f52d55460fca6dcb2e92f..f32a0d7737efb95b3b778c3e14784ec19dc40395 100644 (file)
@@ -5,23 +5,8 @@
  *
  * 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
 
@@ -79,7 +55,6 @@ int test_condition(struct lttng_condition *condition, const char *type_name)
        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;
 }
 
@@ -95,6 +70,7 @@ int setup_rotation_trigger(const struct session *session,
        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) {
@@ -178,17 +154,23 @@ int setup_rotation_trigger(const struct session *session,
        }
 
        /* 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);
@@ -322,10 +304,11 @@ int test_notification(
 
        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:
@@ -424,5 +407,5 @@ int main(int argc, const char *argv[])
 error:
        lttng_notification_channel_destroy(notification_channel);
        lttng_rotation_handle_destroy(rotation_handle);
-       return ret;
+       return exit_status();
 }
This page took 0.024537 seconds and 4 git commands to generate.