From 8c61cfdca5f2a70dde76d26a0c3c0f3fd81fcbf2 Mon Sep 17 00:00:00 2001 From: Pierre Chifflier Date: Wed, 22 May 2019 16:59:55 +0200 Subject: [PATCH] snmp.version: move unittests to tests/ --- src/detect-snmp-version.c | 50 +++-------------------------- src/tests/detect-snmp-version.c | 57 +++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 45 deletions(-) create mode 100644 src/tests/detect-snmp-version.c diff --git a/src/detect-snmp-version.c b/src/detect-snmp-version.c index 71d2108f7d..e8180797f4 100644 --- a/src/detect-snmp-version.c +++ b/src/detect-snmp-version.c @@ -56,7 +56,9 @@ typedef struct DetectSNMPVersionData_ { static DetectSNMPVersionData *DetectSNMPVersionParse (const char *); static int DetectSNMPVersionSetup (DetectEngineCtx *, Signature *s, const char *str); static void DetectSNMPVersionFree(void *); +#ifdef UNITTESTS static void DetectSNMPVersionRegisterTests(void); +#endif static int g_snmp_version_buffer_id = 0; static int DetectEngineInspectSNMPRequestGeneric(ThreadVars *tv, @@ -81,7 +83,9 @@ void DetectSNMPVersionRegister (void) sigmatch_table[DETECT_AL_SNMP_VERSION].AppLayerTxMatch = DetectSNMPVersionMatch; sigmatch_table[DETECT_AL_SNMP_VERSION].Setup = DetectSNMPVersionSetup; sigmatch_table[DETECT_AL_SNMP_VERSION].Free = DetectSNMPVersionFree; +#ifdef UNITTESTS sigmatch_table[DETECT_AL_SNMP_VERSION].RegisterTests = DetectSNMPVersionRegisterTests; +#endif sigmatch_table[DETECT_AL_SNMP_VERSION].flags |= SIGMATCH_NOOPT; DetectSetupParseRegexes(PARSE_REGEX, &parse_regex, &parse_regex_study); @@ -304,49 +308,5 @@ static void DetectSNMPVersionFree(void *ptr) #ifdef UNITTESTS - -#include "util-unittest.h" -#include "util-unittest-helper.h" - -/** - * \test This is a test for a valid value 2. - * - * \retval 1 on success. - * \retval 0 on failure. - */ -static int SNMPValidityTestParse01 (void) -{ - DetectSNMPVersionData *dd = NULL; - dd = DetectSNMPVersionParse("2"); - FAIL_IF_NULL(dd); - FAIL_IF_NOT(dd->version == 2 && dd->mode == PROCEDURE_EQ); - DetectSNMPVersionFree(dd); - PASS; -} - -/** - * \test This is a test for a valid value >2. - * - * \retval 1 on success. - * \retval 0 on failure. - */ -static int SNMPValidityTestParse02 (void) -{ - DetectSNMPVersionData *dd = NULL; - dd = DetectSNMPVersionParse(">2"); - FAIL_IF_NULL(dd); - FAIL_IF_NOT(dd->version == 2 && dd->mode == PROCEDURE_GT); - DetectSNMPVersionFree(dd); - PASS; -} - - -#endif - -static void DetectSNMPVersionRegisterTests(void) -{ -#ifdef UNITTESTS - UtRegisterTest("SNMPValidityTestParse01", SNMPValidityTestParse01); - UtRegisterTest("SNMPValidityTestParse02", SNMPValidityTestParse02); +#include "tests/detect-snmp-version.c" #endif /* UNITTESTS */ -} diff --git a/src/tests/detect-snmp-version.c b/src/tests/detect-snmp-version.c new file mode 100644 index 0000000000..a09a3d6cdd --- /dev/null +++ b/src/tests/detect-snmp-version.c @@ -0,0 +1,57 @@ +/* Copyright (C) 2019 Open Information Security Foundation + * + * You can copy, redistribute or modify this Program under the terms of + * the GNU General Public License version 2 as published by the Free + * Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * version 2 along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +#include "util-unittest.h" +#include "util-unittest-helper.h" + +/** + * \test This is a test for a valid value 2. + * + * \retval 1 on success. + * \retval 0 on failure. + */ +static int SNMPValidityTestParse01 (void) +{ + DetectSNMPVersionData *dd = NULL; + dd = DetectSNMPVersionParse("2"); + FAIL_IF_NULL(dd); + FAIL_IF_NOT(dd->version == 2 && dd->mode == PROCEDURE_EQ); + DetectSNMPVersionFree(dd); + PASS; +} + +/** + * \test This is a test for a valid value >2. + * + * \retval 1 on success. + * \retval 0 on failure. + */ +static int SNMPValidityTestParse02 (void) +{ + DetectSNMPVersionData *dd = NULL; + dd = DetectSNMPVersionParse(">2"); + FAIL_IF_NULL(dd); + FAIL_IF_NOT(dd->version == 2 && dd->mode == PROCEDURE_GT); + DetectSNMPVersionFree(dd); + PASS; +} + +static void DetectSNMPVersionRegisterTests(void) +{ + UtRegisterTest("SNMPValidityTestParse01", SNMPValidityTestParse01); + UtRegisterTest("SNMPValidityTestParse02", SNMPValidityTestParse02); +} -- 2.47.2