diff options
author | David Lamparter <equinox@opensourcerouting.org> | 2023-01-31 22:12:41 +0100 |
---|---|---|
committer | David Lamparter <equinox@opensourcerouting.org> | 2023-02-01 03:00:22 +0100 |
commit | da63485331b132e6563c1da01cec5ab98f367209 (patch) | |
tree | 26236e2ea5c86d5faf709ef42afbd63ad426edea | |
parent | lib: fix one more b0rked format string (diff) | |
download | frr-da63485331b132e6563c1da01cec5ab98f367209.tar.xz frr-da63485331b132e6563c1da01cec5ab98f367209.zip |
tests: yank asprintfrr duplicate
I think this one predates the existence of asprintfrr.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
-rw-r--r-- | tests/bgpd/test_peer_attr.c | 108 |
1 files changed, 43 insertions, 65 deletions
diff --git a/tests/bgpd/test_peer_attr.c b/tests/bgpd/test_peer_attr.c index c2e86f233..cc4f71e68 100644 --- a/tests/bgpd/test_peer_attr.c +++ b/tests/bgpd/test_peer_attr.c @@ -20,6 +20,7 @@ #include "memory.h" #include "plist.h" +#include "printfrr.h" #include "bgpd/bgpd.h" #include "bgpd/bgp_attr.h" #include "bgpd/bgp_regex.h" @@ -44,8 +45,9 @@ if ((T)->state != TEST_SUCCESS || (C)) \ break; \ (T)->state = TEST_ASSERT_ERROR; \ - (T)->error = str_printf("assertion failed: %s (%s:%d)", (#C), \ - __FILE__, __LINE__); \ + (T)->error = \ + asprintfrr(MTYPE_TMP, "assertion failed: %s (%s:%d)", \ + (#C), __FILE__, __LINE__); \ } while (0) #define TEST_ASSERT_EQ(T, A, B) \ @@ -53,9 +55,11 @@ if ((T)->state != TEST_SUCCESS || ((A) == (B))) \ break; \ (T)->state = TEST_ASSERT_ERROR; \ - (T)->error = str_printf( \ - "assertion failed: %s[%d] == [%d]%s (%s:%d)", (#A), \ - (A), (B), (#B), __FILE__, __LINE__); \ + (T)->error = asprintfrr( \ + MTYPE_TMP, \ + "assertion failed: %s[%lld] == [%lld]%s (%s:%d)", \ + (#A), (long long)(A), (long long)(B), (#B), __FILE__, \ + __LINE__); \ } while (0) #define TEST_HANDLER_MAX 5 @@ -212,44 +216,6 @@ static struct test_peer_family test_default_families[] = { {.afi = AFI_IP6, .safi = SAFI_MULTICAST}, }; -static char *str_vprintf(const char *fmt, va_list ap) -{ - int ret; - int buf_size = 0; - char *buf = NULL; - va_list apc; - - while (1) { - va_copy(apc, ap); - ret = vsnprintf(buf, buf_size, fmt, apc); - va_end(apc); - - if (ret >= 0 && ret < buf_size) - break; - - if (ret >= 0) - buf_size = ret + 1; - else - buf_size *= 2; - - buf = XREALLOC(MTYPE_TMP, buf, buf_size); - } - - return buf; -} - -static char *str_printf(const char *fmt, ...) -{ - char *buf; - va_list ap; - - va_start(ap, fmt); - buf = str_vprintf(fmt, ap); - va_end(ap); - - return buf; -} - TEST_ATTR_HANDLER_DECL(advertisement_interval, v_routeadv, 10, 20); TEST_STR_ATTR_HANDLER_DECL(password, password, "FRR-Peer", "FRR-Group"); TEST_ATTR_HANDLER_DECL(local_as, change_local_as, 1, 2); @@ -724,6 +690,7 @@ static bool is_attr_type_global(enum test_peer_attr_type at) return at == PEER_AT_GLOBAL_FLAG || at == PEER_AT_GLOBAL_CUSTOM; } +PRINTFRR(2, 3) static void test_log(struct test *test, const char *fmt, ...) { va_list ap; @@ -734,10 +701,11 @@ static void test_log(struct test *test, const char *fmt, ...) /* Store formatted log message. */ va_start(ap, fmt); - listnode_add(test->log, str_vprintf(fmt, ap)); + listnode_add(test->log, vasprintfrr(MTYPE_TMP, fmt, ap)); va_end(ap); } +PRINTFRR(2, 3) static void test_execute(struct test *test, const char *fmt, ...) { int ret; @@ -751,12 +719,12 @@ static void test_execute(struct test *test, const char *fmt, ...) /* Format command string with variadic arguments. */ va_start(ap, fmt); - cmd = str_vprintf(fmt, ap); + cmd = vasprintfrr(MTYPE_TMP, fmt, ap); va_end(ap); if (!cmd) { test->state = TEST_INTERNAL_ERROR; - test->error = - str_printf("could not format command string [%s]", fmt); + test->error = asprintfrr( + MTYPE_TMP, "could not format command string [%s]", fmt); return; } @@ -764,7 +732,8 @@ static void test_execute(struct test *test, const char *fmt, ...) vline = cmd_make_strvec(cmd); if (vline == NULL) { test->state = TEST_INTERNAL_ERROR; - test->error = str_printf( + test->error = asprintfrr( + MTYPE_TMP, "tokenizing command string [%s] returned empty result", cmd); XFREE(MTYPE_TMP, cmd); @@ -776,7 +745,8 @@ static void test_execute(struct test *test, const char *fmt, ...) ret = cmd_execute_command(vline, test->vty, NULL, 0); if (ret != CMD_SUCCESS) { test->state = TEST_COMMAND_ERROR; - test->error = str_printf( + test->error = asprintfrr( + MTYPE_TMP, "execution of command [%s] has failed with code [%d]", cmd, ret); } @@ -786,6 +756,7 @@ static void test_execute(struct test *test, const char *fmt, ...) XFREE(MTYPE_TMP, cmd); } +PRINTFRR(2, 0) static void test_config(struct test *test, const char *fmt, bool invert, va_list ap) { @@ -800,12 +771,12 @@ static void test_config(struct test *test, const char *fmt, bool invert, /* Format matcher string with variadic arguments. */ va_copy(apc, ap); - matcher = str_vprintf(fmt, apc); + matcher = vasprintfrr(MTYPE_TMP, fmt, apc); va_end(apc); if (!matcher) { test->state = TEST_INTERNAL_ERROR; - test->error = - str_printf("could not format matcher string [%s]", fmt); + test->error = asprintfrr( + MTYPE_TMP, "could not format matcher string [%s]", fmt); return; } @@ -818,11 +789,13 @@ static void test_config(struct test *test, const char *fmt, bool invert, matched = !!strstr(config, matcher); if (!matched && !invert) { test->state = TEST_CONFIG_ERROR; - test->error = str_printf("expected config [%s] to be present", + test->error = asprintfrr(MTYPE_TMP, + "expected config [%s] to be present", matcher); } else if (matched && invert) { test->state = TEST_CONFIG_ERROR; - test->error = str_printf("expected config [%s] to be absent", + test->error = asprintfrr(MTYPE_TMP, + "expected config [%s] to be absent", matcher); } @@ -831,6 +804,7 @@ static void test_config(struct test *test, const char *fmt, bool invert, XFREE(MTYPE_TMP, config); } +PRINTFRR(2, 3) static void test_config_present(struct test *test, const char *fmt, ...) { va_list ap; @@ -840,6 +814,7 @@ static void test_config_present(struct test *test, const char *fmt, ...) va_end(ap); } +PRINTFRR(2, 3) static void test_config_absent(struct test *test, const char *fmt, ...) { va_list ap; @@ -886,8 +861,8 @@ static void test_initialize(struct test *test) test->bgp = bgp_get_default(); if (!test->bgp) { test->state = TEST_INTERNAL_ERROR; - test->error = - str_printf("could not retrieve default bgp instance"); + test->error = asprintfrr( + MTYPE_TMP, "could not retrieve default bgp instance"); return; } @@ -901,7 +876,8 @@ static void test_initialize(struct test *test) } if (!test->peer) { test->state = TEST_INTERNAL_ERROR; - test->error = str_printf( + test->error = asprintfrr( + MTYPE_TMP, "could not retrieve instance of bgp peer [%s]", cfg.peer_address); return; @@ -911,7 +887,8 @@ static void test_initialize(struct test *test) test->group = peer_group_lookup(test->bgp, cfg.peer_group); if (!test->group) { test->state = TEST_INTERNAL_ERROR; - test->error = str_printf( + test->error = asprintfrr( + MTYPE_TMP, "could not retrieve instance of bgp peer-group [%s]", cfg.peer_group); return; @@ -1081,7 +1058,8 @@ static void test_custom(struct test *test, struct test_peer_attr *pa, if (test->state != TEST_SUCCESS) { test->state = TEST_CUSTOM_ERROR; handler_error = test->error; - test->error = str_printf("custom handler failed: %s", + test->error = asprintfrr(MTYPE_TMP, + "custom handler failed: %s", handler_error); XFREE(MTYPE_TMP, handler_error); } @@ -1123,8 +1101,8 @@ static void test_process(struct test *test, struct test_peer_attr *pa, default: test->state = TEST_INTERNAL_ERROR; - test->error = - str_printf("invalid attribute type: %d", pa->type); + test->error = asprintfrr( + MTYPE_TMP, "invalid attribute type: %d", pa->type); break; } @@ -1149,8 +1127,8 @@ static void test_peer_attr(struct test *test, struct test_peer_attr *pa) type = str_from_attr_type(pa->type); if (!type) { test->state = TEST_INTERNAL_ERROR; - test->error = - str_printf("invalid attribute type: %d", pa->type); + test->error = asprintfrr( + MTYPE_TMP, "invalid attribute type: %d", pa->type); return; } @@ -1485,11 +1463,11 @@ int main(void) /* Build test description string. */ if (pa->afi && pa->safi) - desc = str_printf("peer\\%s-%s\\%s", + desc = asprintfrr(MTYPE_TMP, "peer\\%s-%s\\%s", str_from_afi(pa->afi), str_from_safi(pa->safi), pa->cmd); else - desc = str_printf("peer\\%s", pa->cmd); + desc = asprintfrr(MTYPE_TMP, "peer\\%s", pa->cmd); /* Initialize new test instance. */ test = test_new(desc, pa->o.use_ibgp, pa->o.use_iface_peer); |