X-Git-Url: http://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Funit%2Ftest_firing_policy.c;fp=tests%2Funit%2Ftest_firing_policy.c;h=0000000000000000000000000000000000000000;hp=e7504c21264f9cccc8389379ef68c95a50546206;hb=7f4d5b07cf7be895b38b69073389a4fcc318ec29;hpb=72365501d3148ca977a09bad8de0ec51b427bdd8 diff --git a/tests/unit/test_firing_policy.c b/tests/unit/test_firing_policy.c deleted file mode 100644 index e7504c212..000000000 --- a/tests/unit/test_firing_policy.c +++ /dev/null @@ -1,250 +0,0 @@ -/* - * Unit tests for the firing policy object API. - * - * Copyright (C) 2019 Jonathan Rajotte - * - * SPDX-License-Identifier: LGPL-2.1-only - * - */ - -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include - -/* For error.h. */ -int lttng_opt_quiet = 1; -int lttng_opt_verbose; -int lttng_opt_mi; - -#define NUM_TESTS 42 - -static void test_firing_policy_every_n(void) -{ - enum lttng_firing_policy_status status; - struct lttng_firing_policy *policy_a = NULL; /* Interval of 100. */ - struct lttng_firing_policy *policy_b = NULL; /* Interval of 100. */ - struct lttng_firing_policy *policy_c = NULL; /* Interval of 1. */ - struct lttng_firing_policy *policy_from_buffer = NULL; - uint64_t interval_a_b = 100; - uint64_t interval_c = 1; - uint64_t interval_query = 0; - struct lttng_payload payload; - - lttng_payload_init(&payload); - - policy_a = lttng_firing_policy_every_n_create(interval_a_b); - policy_b = lttng_firing_policy_every_n_create(interval_a_b); - policy_c = lttng_firing_policy_every_n_create(interval_c); - ok(policy_a != NULL, - "Firing policy 'every n' A created: interval: %" PRIu64, - interval_a_b); - ok(policy_b != NULL, - "Firing policy 'every n' B created: interval: %" PRIu64, - interval_a_b); - ok(policy_c != NULL, - "Firing policy 'every n' C created: interval: %" PRIu64, - interval_c); - - ok(LTTNG_FIRING_POLICY_TYPE_EVERY_N == - lttng_firing_policy_get_type(policy_a), - "Type is LTTNG_FIRING_POLICY_TYPE_EVERY_N"); - - /* Getter tests */ - status = lttng_firing_policy_every_n_get_interval(NULL, NULL); - ok(status == LTTNG_FIRING_POLICY_STATUS_INVALID, - "Get interval returns INVALID"); - - status = lttng_firing_policy_every_n_get_interval( - NULL, &interval_query); - ok(status == LTTNG_FIRING_POLICY_STATUS_INVALID, - "Get interval returns INVALID"); - - status = lttng_firing_policy_every_n_get_interval(policy_a, NULL); - ok(status == LTTNG_FIRING_POLICY_STATUS_INVALID, - "Get interval returns INVALID"); - - status = lttng_firing_policy_every_n_get_interval( - policy_a, &interval_query); - ok(status == LTTNG_FIRING_POLICY_STATUS_OK && - interval_query == interval_a_b, - "Getting interval A"); - - status = lttng_firing_policy_every_n_get_interval( - policy_b, &interval_query); - ok(status == LTTNG_FIRING_POLICY_STATUS_OK && - interval_query == interval_a_b, - "Getting interval B"); - - status = lttng_firing_policy_every_n_get_interval( - policy_c, &interval_query); - ok(status == LTTNG_FIRING_POLICY_STATUS_OK && - interval_query == interval_c, - "Getting interval C"); - - /* is_equal tests */ - ok(false == lttng_firing_policy_is_equal(NULL, NULL), - "is equal (NULL,NULL)"); - ok(false == lttng_firing_policy_is_equal(policy_a, NULL), - "is equal (object, NULL)"); - ok(false == lttng_firing_policy_is_equal(NULL, policy_a), - "is equal (NULL, object)"); - ok(true == lttng_firing_policy_is_equal(policy_a, policy_a), - "is equal (object A, object A)"); - - ok(true == lttng_firing_policy_is_equal(policy_a, policy_b), - "is equal (object A, object B"); - ok(true == lttng_firing_policy_is_equal(policy_b, policy_a), - "is equal (object B, object A"); - - ok(false == lttng_firing_policy_is_equal(policy_a, policy_c), - "is equal (object A, object C)"); - ok(false == lttng_firing_policy_is_equal(policy_c, policy_a), - "is equal (object C, object A)"); - - /* Serialization and create_from buffer. */ - ok(lttng_firing_policy_serialize(policy_a, &payload) == 0, - "Serializing firing policy"); - { - struct lttng_payload_view view = - lttng_payload_view_from_payload( - &payload, 0, -1); - - ok(lttng_firing_policy_create_from_payload( - &view, &policy_from_buffer) > 0 && - policy_from_buffer != NULL, - "Deserializing firing policy"); - } - - ok(lttng_firing_policy_is_equal(policy_a, policy_from_buffer), - "Original and deserialized instances are equal"); - - lttng_firing_policy_destroy(policy_a); - lttng_firing_policy_destroy(policy_b); - lttng_firing_policy_destroy(policy_c); - lttng_firing_policy_destroy(policy_from_buffer); - lttng_payload_reset(&payload); -} - -static void test_firing_policy_once_after_n(void) -{ - enum lttng_firing_policy_status status; - struct lttng_firing_policy *policy_a = NULL; /* Threshold of 100. */ - struct lttng_firing_policy *policy_b = NULL; /* threshold of 100 */ - struct lttng_firing_policy *policy_c = NULL; /* threshold of 1 */ - struct lttng_firing_policy *policy_from_buffer = NULL; - uint64_t threshold_a_b = 100; - uint64_t threshold_c = 1; - uint64_t threshold_query = 0; - struct lttng_payload payload; - - lttng_payload_init(&payload); - - policy_a = lttng_firing_policy_once_after_n_create(threshold_a_b); - policy_b = lttng_firing_policy_once_after_n_create(threshold_a_b); - policy_c = lttng_firing_policy_once_after_n_create(threshold_c); - ok(policy_a != NULL, - "Firing policy every n A created: threshold: %" PRIu64, - threshold_a_b); - ok(policy_b != NULL, - "Firing policy every n B created: threshold: %" PRIu64, - threshold_a_b); - ok(policy_c != NULL, - "Firing policy every n C created: threshold: %" PRIu64, - threshold_c); - - ok(LTTNG_FIRING_POLICY_TYPE_ONCE_AFTER_N == - lttng_firing_policy_get_type(policy_a), - "Type is LTTNG_FIRING_POLICY_TYPE_once_after_n"); - - /* Getter tests */ - status = lttng_firing_policy_once_after_n_get_threshold(NULL, NULL); - ok(status == LTTNG_FIRING_POLICY_STATUS_INVALID, - "Get threshold returns INVALID"); - - status = lttng_firing_policy_once_after_n_get_threshold( - NULL, &threshold_query); - ok(status == LTTNG_FIRING_POLICY_STATUS_INVALID, - "Get threshold returns INVALID"); - - status = lttng_firing_policy_once_after_n_get_threshold(policy_a, NULL); - ok(status == LTTNG_FIRING_POLICY_STATUS_INVALID, - "Get threshold returns INVALID"); - - status = lttng_firing_policy_once_after_n_get_threshold( - policy_a, &threshold_query); - ok(status == LTTNG_FIRING_POLICY_STATUS_OK && - threshold_query == threshold_a_b, - "Getting threshold A"); - - status = lttng_firing_policy_once_after_n_get_threshold( - policy_b, &threshold_query); - ok(status == LTTNG_FIRING_POLICY_STATUS_OK && - threshold_query == threshold_a_b, - "Getting threshold B"); - - status = lttng_firing_policy_once_after_n_get_threshold( - policy_c, &threshold_query); - ok(status == LTTNG_FIRING_POLICY_STATUS_OK && - threshold_query == threshold_c, - "Getting threshold C"); - - /* is_equal tests */ - ok(false == lttng_firing_policy_is_equal(NULL, NULL), - "is equal (NULL,NULL)"); - ok(false == lttng_firing_policy_is_equal(policy_a, NULL), - "is equal (object, NULL)"); - ok(false == lttng_firing_policy_is_equal(NULL, policy_a), - "is equal (NULL, object)"); - ok(true == lttng_firing_policy_is_equal(policy_a, policy_a), - "is equal (object A, object A)"); - - ok(true == lttng_firing_policy_is_equal(policy_a, policy_b), - "is equal (object A, object B"); - ok(true == lttng_firing_policy_is_equal(policy_b, policy_a), - "is equal (object B, object A"); - - ok(false == lttng_firing_policy_is_equal(policy_a, policy_c), - "is equal (object A, object C)"); - ok(false == lttng_firing_policy_is_equal(policy_c, policy_a), - "is equal (object C, object A)"); - - /* Serialization and create_from buffer. */ - ok(lttng_firing_policy_serialize(policy_a, &payload) == 0, - "Serializing firing policy"); - { - struct lttng_payload_view view = - lttng_payload_view_from_payload( - &payload, 0, -1); - - ok(lttng_firing_policy_create_from_payload( - &view, &policy_from_buffer) > 0 && - policy_from_buffer != NULL, - "Deserializing firing policy"); - } - - ok(lttng_firing_policy_is_equal(policy_a, policy_from_buffer), - "Original and deserialized instances are equal"); - - lttng_firing_policy_destroy(policy_a); - lttng_firing_policy_destroy(policy_b); - lttng_firing_policy_destroy(policy_c); - lttng_firing_policy_destroy(policy_from_buffer); - lttng_payload_reset(&payload); -} - -int main(int argc, const char *argv[]) -{ - plan_tests(NUM_TESTS); - test_firing_policy_every_n(); - test_firing_policy_once_after_n(); - return exit_status(); -}