X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=tests%2Funit%2Ftest_condition.c;h=f4bc040d08f0d19c2896269122fed2bb94abafdf;hb=c26ada1f972a9f76ec75daf036e31bf05e1bfa7f;hp=c5a94bb6519781da908e3d3475c5c570a77afcd6;hpb=e393070aaad23313daae844ff87043babaae69e7;p=lttng-tools.git diff --git a/tests/unit/test_condition.c b/tests/unit/test_condition.c index c5a94bb65..f4bc040d0 100644 --- a/tests/unit/test_condition.c +++ b/tests/unit/test_condition.c @@ -21,7 +21,9 @@ #include #include #include +#include #include +#include #include #include @@ -30,7 +32,7 @@ int lttng_opt_quiet = 1; int lttng_opt_verbose; int lttng_opt_mi; -#define NUM_TESTS 13 +#define NUM_TESTS 14 static void test_condition_event_rule(void) @@ -45,10 +47,18 @@ void test_condition_event_rule(void) const char *pattern="my_event_*"; const char *filter="msg_id == 23 && size >= 2048"; const char *exclusions[] = { "my_event_test1", "my_event_test2", "my_event_test3" }; + uint64_t _error_count = 420, error_count; + struct lttng_log_level_rule *log_level_rule_at_least_as_severe = NULL; struct lttng_payload buffer; lttng_payload_init(&buffer); + /* Create log level rule. */ + log_level_rule_at_least_as_severe = + lttng_log_level_rule_at_least_as_severe_as_create( + LTTNG_LOGLEVEL_WARNING); + assert(log_level_rule_at_least_as_severe); + tracepoint = lttng_event_rule_tracepoint_create(LTTNG_DOMAIN_UST); ok(tracepoint, "tracepoint UST_DOMAIN"); @@ -58,8 +68,8 @@ void test_condition_event_rule(void) status = lttng_event_rule_tracepoint_set_filter(tracepoint, filter); ok(status == LTTNG_EVENT_RULE_STATUS_OK, "Setting filter"); - status = lttng_event_rule_tracepoint_set_log_level_range_lower_bound( - tracepoint, LTTNG_LOGLEVEL_WARNING); + status = lttng_event_rule_tracepoint_set_log_level_rule( + tracepoint, log_level_rule_at_least_as_severe); ok(status == LTTNG_EVENT_RULE_STATUS_OK, "Setting log level range"); for (i = 0; i < 3; i++) { @@ -72,6 +82,9 @@ void test_condition_event_rule(void) condition = lttng_condition_on_event_create(tracepoint); ok(condition, "Created condition"); + /* Set the error count information. */ + lttng_condition_on_event_set_error_count(condition, _error_count); + condition_status = lttng_condition_on_event_get_rule( condition, &tracepoint_tmp); ok(condition_status == LTTNG_CONDITION_STATUS_OK, @@ -94,10 +107,17 @@ void test_condition_event_rule(void) ok(lttng_condition_is_equal(condition, condition_from_buffer), "Serialized and de-serialized conditions are equal"); + /* + * Error count info is not considered in is_equal; test it separately. + */ + error_count = lttng_condition_on_event_get_error_count(condition_from_buffer); + ok(error_count == _error_count, "Error count is the same. Got %" PRIu64 " Expected %" PRIu64, error_count, _error_count); + lttng_payload_reset(&buffer); lttng_event_rule_destroy(tracepoint); lttng_condition_destroy(condition); lttng_condition_destroy(condition_from_buffer); + lttng_log_level_rule_destroy(log_level_rule_at_least_as_severe); } int main(int argc, const char *argv[])