diff --git a/src/detect-snmp-pdu_type.c b/src/detect-snmp-pdu_type.c index a62b6e60f0..162826eddf 100644 --- a/src/detect-snmp-pdu_type.c +++ b/src/detect-snmp-pdu_type.c @@ -47,7 +47,9 @@ typedef struct DetectSNMPPduTypeData_ { static DetectSNMPPduTypeData *DetectSNMPPduTypeParse (const char *); static int DetectSNMPPduTypeSetup (DetectEngineCtx *, Signature *s, const char *str); static void DetectSNMPPduTypeFree(void *); +#ifdef UNITTESTS static void DetectSNMPPduTypeRegisterTests(void); +#endif static int g_snmp_pdu_type_buffer_id = 0; static int DetectEngineInspectSNMPRequestGeneric(ThreadVars *tv, @@ -69,7 +71,9 @@ void DetectSNMPPduTypeRegister(void) sigmatch_table[DETECT_AL_SNMP_PDU_TYPE].AppLayerTxMatch = DetectSNMPPduTypeMatch; sigmatch_table[DETECT_AL_SNMP_PDU_TYPE].Setup = DetectSNMPPduTypeSetup; sigmatch_table[DETECT_AL_SNMP_PDU_TYPE].Free = DetectSNMPPduTypeFree; +#ifdef UNITTESTS sigmatch_table[DETECT_AL_SNMP_PDU_TYPE].RegisterTests = DetectSNMPPduTypeRegisterTests; +#endif sigmatch_table[DETECT_AL_SNMP_PDU_TYPE].flags |= SIGMATCH_NOOPT; DetectSetupParseRegexes(PARSE_REGEX, &parse_regex, &parse_regex_study); @@ -235,33 +239,6 @@ static void DetectSNMPPduTypeFree(void *ptr) SCFree(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) -{ - DetectSNMPPduTypeData *dd = NULL; - dd = DetectSNMPPduTypeParse("2"); - FAIL_IF_NULL(dd); - FAIL_IF_NOT(dd->pdu_type == 2); - DetectSNMPPduTypeFree(dd); - PASS; -} - -#endif - -static void DetectSNMPPduTypeRegisterTests(void) -{ #ifdef UNITTESTS - UtRegisterTest("SNMPValidityTestParse01", SNMPValidityTestParse01); +#include "tests/detect-snmp-pdu_type.c" #endif /* UNITTESTS */ -} diff --git a/src/tests/detect-snmp-pdu_type.c b/src/tests/detect-snmp-pdu_type.c new file mode 100644 index 0000000000..f4697b5ee8 --- /dev/null +++ b/src/tests/detect-snmp-pdu_type.c @@ -0,0 +1,40 @@ +/* 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) +{ + DetectSNMPPduTypeData *dd = NULL; + dd = DetectSNMPPduTypeParse("2"); + FAIL_IF_NULL(dd); + FAIL_IF_NOT(dd->pdu_type == 2); + DetectSNMPPduTypeFree(dd); + PASS; +} + +static void DetectSNMPPduTypeRegisterTests(void) +{ + UtRegisterTest("SNMPValidityTestParse01", SNMPValidityTestParse01); +}