From: Victor Julien Date: Fri, 11 Feb 2022 14:53:41 +0000 (+0100) Subject: radix: cleanup test X-Git-Tag: suricata-5.0.9~79 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=af464b501f907a99b5d1938704150df5ac5d1644;p=thirdparty%2Fsuricata.git radix: cleanup test (cherry picked from commit d04dface20657e781f683c30f159afcefa5ac1ea) --- diff --git a/src/util-radix-tree.c b/src/util-radix-tree.c index 047dd11d8d..719297be76 100644 --- a/src/util-radix-tree.c +++ b/src/util-radix-tree.c @@ -2527,7 +2527,6 @@ static int SCRadixTestIPV4NetblockInsertion10(void) SCRadixTree *tree = NULL; SCRadixNode *node[2]; struct sockaddr_in servaddr; - int result = 1; tree = SCRadixCreateRadixTree(free, NULL); @@ -2570,8 +2569,7 @@ static int SCRadixTestIPV4NetblockInsertion10(void) memset(&servaddr, 0, sizeof(servaddr)); if (inet_pton(AF_INET, "192.171.128.0", &servaddr.sin_addr) <= 0) return 0; - node[0] = SCRadixAddKeyIPV4Netblock((uint8_t *)&servaddr.sin_addr, tree, NULL, - 24); + node[0] = SCRadixAddKeyIPV4Netblock((uint8_t *)&servaddr.sin_addr, tree, NULL, 24); memset(&servaddr, 0, sizeof(servaddr)); if (inet_pton(AF_INET, "192.171.128.45", &servaddr.sin_addr) <= 0) @@ -2587,26 +2585,34 @@ static int SCRadixTestIPV4NetblockInsertion10(void) return 0; SCRadixAddKeyIPV4Netblock((uint8_t *)&servaddr.sin_addr, tree, NULL, 16); + SCRadixPrintTree(tree); + /* test for the existance of a key */ memset(&servaddr, 0, sizeof(servaddr)); if (inet_pton(AF_INET, "192.171.128.53", &servaddr.sin_addr) <= 0) return 0; - result &= (SCRadixFindKeyIPV4BestMatch((uint8_t *)&servaddr.sin_addr, tree, NULL) == node[0]); + SCRadixNode *found = SCRadixFindKeyIPV4BestMatch((uint8_t *)&servaddr.sin_addr, tree, NULL); + FAIL_IF_NOT(found == node[0]); + SCLogDebug("search \"exact\" match for 192.171.128.45"); memset(&servaddr, 0, sizeof(servaddr)); if (inet_pton(AF_INET, "192.171.128.45", &servaddr.sin_addr) <= 0) return 0; - result &= (SCRadixFindKeyIPV4ExactMatch((uint8_t *)&servaddr.sin_addr, tree, NULL) == node[1]); + found = SCRadixFindKeyIPV4ExactMatch((uint8_t *)&servaddr.sin_addr, tree, NULL); + FAIL_IF_NOT(found == node[1]); + SCLogDebug("search \"best\" match for 192.171.128.45"); memset(&servaddr, 0, sizeof(servaddr)); if (inet_pton(AF_INET, "192.171.128.45", &servaddr.sin_addr) <= 0) return 0; - result &= (SCRadixFindKeyIPV4BestMatch((uint8_t *)&servaddr.sin_addr, tree, NULL) == node[1]); + found = SCRadixFindKeyIPV4BestMatch((uint8_t *)&servaddr.sin_addr, tree, NULL); + FAIL_IF_NOT(found == node[1]); memset(&servaddr, 0, sizeof(servaddr)); if (inet_pton(AF_INET, "192.171.128.78", &servaddr.sin_addr) <= 0) return 0; - result &= (SCRadixFindKeyIPV4BestMatch((uint8_t *)&servaddr.sin_addr, tree, NULL) == node[0]); + found = SCRadixFindKeyIPV4BestMatch((uint8_t *)&servaddr.sin_addr, tree, NULL); + FAIL_IF_NOT(found == node[0]); /* let us remove a netblock */ memset(&servaddr, 0, sizeof(servaddr)); @@ -2617,16 +2623,16 @@ static int SCRadixTestIPV4NetblockInsertion10(void) memset(&servaddr, 0, sizeof(servaddr)); if (inet_pton(AF_INET, "192.171.128.78", &servaddr.sin_addr) <= 0) return 0; - result &= (SCRadixFindKeyIPV4BestMatch((uint8_t *)&servaddr.sin_addr, tree, NULL) == NULL); + found = SCRadixFindKeyIPV4BestMatch((uint8_t *)&servaddr.sin_addr, tree, NULL); + FAIL_IF_NOT_NULL(found); memset(&servaddr, 0, sizeof(servaddr)); if (inet_pton(AF_INET, "192.171.127.78", &servaddr.sin_addr) <= 0) return 0; - result &= (SCRadixFindKeyIPV4BestMatch((uint8_t *)&servaddr.sin_addr, tree, NULL) == NULL); + found = SCRadixFindKeyIPV4BestMatch((uint8_t *)&servaddr.sin_addr, tree, NULL); + FAIL_IF_NOT_NULL(found); - SCRadixReleaseRadixTree(tree); - - return result; + PASS; } static int SCRadixTestIPV4NetblockInsertion11(void)