X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=tests%2Fregression%2Ftools%2Fnotification%2Fbase_client.c;h=b7e1a9f42f8eef81fa0be4ef55d924eec30c3034;hb=a0377dfefe40662ba7d68617bce6ff467114136c;hp=9ba1340cb4d320876f59d53610451fdfe92fffc0;hpb=091fa780af74dc1a93eaeff50d8c0baf1de8c41f;p=lttng-tools.git diff --git a/tests/regression/tools/notification/base_client.c b/tests/regression/tools/notification/base_client.c index 9ba1340cb..b7e1a9f42 100644 --- a/tests/regression/tools/notification/base_client.c +++ b/tests/regression/tools/notification/base_client.c @@ -14,10 +14,9 @@ #include #include #include -#include #include -#include +#include #include #include #include @@ -36,7 +35,7 @@ static const char *channel_name = NULL; static double threshold_ratio = 0.0; static uint64_t threshold_bytes = 0; static bool is_threshold_ratio = false; -static bool use_action_group = false; +static bool use_action_list = false; static enum lttng_condition_type buffer_usage_type = LTTNG_CONDITION_TYPE_UNKNOWN; static enum lttng_domain_type domain_type = LTTNG_DOMAIN_NONE; @@ -47,12 +46,13 @@ int handle_condition( static int parse_arguments(char **argv) { + int sscanf_ret; const char *domain_type_string = NULL; const char *buffer_usage_type_string = NULL; const char *buffer_usage_threshold_type = NULL; const char *buffer_usage_threshold_value = NULL; const char *nr_expected_notifications_string = NULL; - const char *use_action_group_value = NULL; + const char *use_action_list_value = NULL; session_name = argv[1]; channel_name = argv[2]; @@ -61,7 +61,7 @@ int parse_arguments(char **argv) buffer_usage_threshold_type = argv[5]; buffer_usage_threshold_value = argv[6]; nr_expected_notifications_string = argv[7]; - use_action_group_value = argv[8]; + use_action_list_value = argv[8]; /* Parse arguments */ /* Domain type */ @@ -91,20 +91,38 @@ int parse_arguments(char **argv) /* Ratio or bytes ? */ if (!strcasecmp("bytes", buffer_usage_threshold_type)) { is_threshold_ratio = false; - sscanf(buffer_usage_threshold_value, "%" SCNu64, &threshold_bytes); + sscanf_ret = sscanf(buffer_usage_threshold_value, "%" SCNu64, + &threshold_bytes); + if (sscanf_ret != 1) { + printf("error: Invalid buffer usage threshold value bytes (integer), sscanf returned %d\n", + sscanf_ret); + goto error; + } } if (!strcasecmp("ratio", buffer_usage_threshold_type)) { is_threshold_ratio = true; - sscanf(buffer_usage_threshold_value, "%lf", &threshold_ratio); + sscanf_ret = sscanf(buffer_usage_threshold_value, "%lf", + &threshold_ratio); + if (sscanf_ret != 1) { + printf("error: Invalid buffer usage threshold value ratio (float), sscanf returned %d\n", + sscanf_ret); + goto error; + } } /* Number of notification to expect */ - sscanf(nr_expected_notifications_string, "%d", &nr_expected_notifications); + sscanf_ret = sscanf(nr_expected_notifications_string, "%d", + &nr_expected_notifications); + if (sscanf_ret != 1) { + printf("error: Invalid nr_expected_notifications, sscanf returned %d\n", + sscanf_ret); + goto error; + } /* Put notify action in a group. */ - if (!strcasecmp("1", use_action_group_value)) { - use_action_group = true; + if (!strcasecmp("1", use_action_list_value)) { + use_action_list = true; } return 0; @@ -122,6 +140,7 @@ int main(int argc, char **argv) struct lttng_condition *condition = NULL; struct lttng_action *action = NULL; struct lttng_trigger *trigger = NULL; + enum lttng_error_code ret_code; /* * Disable buffering on stdout. @@ -206,12 +225,12 @@ int main(int argc, char **argv) goto end; } - if (use_action_group) { + if (use_action_list) { struct lttng_action *notify, *group; - group = lttng_action_group_create(); + group = lttng_action_list_create(); if (!group) { - printf("error: Could not create action group\n"); + printf("error: Could not create action list\n"); ret = 1; goto end; } @@ -224,9 +243,9 @@ int main(int argc, char **argv) goto end; } - action_status = lttng_action_group_add_action(group, notify); + action_status = lttng_action_list_add_action(group, notify); if (action_status != LTTNG_ACTION_STATUS_OK) { - printf("error: Could not add action notify to action group\n"); + printf("error: Could not add action notify to action list\n"); lttng_action_destroy(group); lttng_action_destroy(notify); ret = 1; @@ -250,14 +269,14 @@ int main(int argc, char **argv) goto end; } - ret = lttng_register_trigger(trigger); + ret_code = lttng_register_trigger_with_automatic_name(trigger); /* * An equivalent trigger might already be registered if an other app * registered an equivalent trigger. */ - if (ret < 0 && ret != -LTTNG_ERR_TRIGGER_EXISTS) { - printf("error: %s\n", lttng_strerror(ret)); + if (ret_code != LTTNG_OK && ret_code != LTTNG_ERR_TRIGGER_EXISTS) { + printf("error: %s\n", lttng_strerror(-ret_code)); ret = 1; goto end; }