summaryrefslogtreecommitdiff
path: root/cleopatre/application/spidnetsnmp/testing/misctest.c
diff options
context:
space:
mode:
Diffstat (limited to 'cleopatre/application/spidnetsnmp/testing/misctest.c')
-rw-r--r--cleopatre/application/spidnetsnmp/testing/misctest.c266
1 files changed, 266 insertions, 0 deletions
diff --git a/cleopatre/application/spidnetsnmp/testing/misctest.c b/cleopatre/application/spidnetsnmp/testing/misctest.c
new file mode 100644
index 0000000000..e86beefce2
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/testing/misctest.c
@@ -0,0 +1,266 @@
+/*
+ * misctest.c
+ *
+ * Expected SUCCESSes for all tests: 0
+ *
+ * Returns:
+ * Number of FAILUREs.
+ *
+ * Test of dump_snmpEngineID(). SUCCESSes: 0
+ */
+
+static char *rcsid = "$Id: misctest.c 15220 2006-09-15 00:48:50Z tanders $"; /* */
+
+#include <net-snmp/net-snmp-config.h>
+
+#include <stdio.h>
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+
+#include "asn1.h"
+#include "snmp_api.h"
+#include "tools.h"
+#include "transform_oids.h"
+#include "callback.h"
+
+#include <stdlib.h>
+
+extern char *optarg;
+extern int optind, optopt, opterr;
+
+
+
+/*
+ * Globals, &c...
+ */
+char *local_progname;
+
+#define USAGE "Usage: %s [-h][-1a]"
+#define OPTIONLIST "1ah"
+
+int doalltests = 0, dodumpseid = 0;
+
+#define ALLOPTIONS (doalltests + dodumpseid)
+
+
+
+#define LOCAL_MAXBUF (1024 * 8)
+#define NL "\n"
+
+#define OUTPUT(o) fprintf(stdout, "\n\n%s\n\n", o);
+
+#define SUCCESS(s) \
+{ \
+ if (!failcount) \
+ fprintf(stdout, "\nSUCCESS: %s\n", s); \
+}
+
+#define FAILED(e, f) \
+{ \
+ if (e != SNMPERR_SUCCESS) { \
+ fprintf(stdout, "\nFAILED: %s\n", f); \
+ failcount += 1; \
+ } \
+}
+
+
+
+
+#define IDBLAT_4 "00010203"
+
+#define IDVIOLATE1 "8000000300deedcafe"
+
+#define IDIPv4 "80000003010a090807"
+#define IDIPv6 "8000000302100f0e0d0c0b0a090807060504030201"
+#define IDMAC "8000000303ffeeddccbbaa"
+
+#define IDTEXT "8000000304"
+#define PRINTABLE "Let this be printable."
+
+#define IDOCTETS_7 "80000003050001020304050607"
+
+#define IDLOCAL_11 "8000000306000102030405060708090a0b"
+
+#define IDIPv4_EXTRA3 "80000003010a090807010203"
+
+#define ID_NUMSTRINGS 10
+
+
+
+
+/*
+ * Prototypes.
+ */
+void usage(FILE * ofp);
+
+int test_dumpseid(void);
+
+
+
+
+
+int
+main(int argc, char **argv)
+{
+ int rval = SNMPERR_SUCCESS, failcount = 0;
+ char ch;
+
+ local_progname = argv[0];
+
+ /*
+ * Parse.
+ */
+ while ((ch = getopt(argc, argv, OPTIONLIST)) != EOF) {
+ switch (ch) {
+ case '1':
+ dodumpseid = 1;
+ break;
+ case 'a':
+ doalltests = 1;
+ break;
+ case 'h':
+ rval = 0;
+ default:
+ usage(stdout);
+ exit(rval);
+ }
+
+ argc -= 1;
+ argv += 1;
+ if (optarg) {
+ argc -= 1;
+ argv += 1;
+ optarg = NULL;
+ }
+ optind = 1;
+ } /* endwhile getopt */
+
+ if ((argc > 1)) {
+ usage(stdout);
+ exit(1000);
+
+ } else if (ALLOPTIONS != 1) {
+ usage(stdout);
+ exit(1000);
+ }
+
+
+ /*
+ * Test stuff.
+ */
+ if (dodumpseid || doalltests) {
+ failcount += test_dumpseid();
+ }
+
+
+ /*
+ * Cleanup.
+ */
+ return failcount;
+
+} /* end main() */
+
+
+
+
+
+void
+usage(FILE * ofp)
+{
+ fprintf(ofp,
+ USAGE
+ "" NL
+ " -1 Test dump_snmpEngineID()." NL
+ " -a All tests." NL
+ " -h Help." NL "" NL, local_progname);
+
+} /* end usage() */
+
+
+
+
+#ifdef EXAMPLE
+/*******************************************************************-o-******
+ * test_dosomething
+ *
+ * Returns:
+ * Number of failures.
+ *
+ *
+ * Test template.
+ */
+int
+test_dosomething(void)
+{
+ int rval = SNMPERR_SUCCESS, failcount = 0;
+
+ EM0(1, "UNIMPLEMENTED"); /* EM(1); /* */
+
+ test_dosomething_quit:
+ return failcount;
+
+} /* end test_dosomething() */
+#endif /* EXAMPLE */
+
+
+
+
+/*******************************************************************-o-******
+ * test_dumpseid
+ *
+ * Returns:
+ * Number of failures.
+ *
+ * Test dump_snmpEngineID().
+ */
+int
+test_dumpseid(void)
+{
+ int /* rval = SNMPERR_SUCCESS, */
+ failcount = 0, tlen, count = 0;
+
+ char buf[SNMP_MAXBUF],
+ *s, *t, *ris, *rawid_set[ID_NUMSTRINGS + 1] = {
+ IDBLAT_4,
+ IDVIOLATE1,
+ IDIPv4,
+ IDIPv6,
+ IDMAC,
+ IDTEXT,
+ IDOCTETS_7,
+ IDLOCAL_11,
+ IDIPv4_EXTRA3,
+ NULL
+ };
+
+ OUTPUT("Test of dump_snmpEngineID. "
+ "(Does not report failure or success.)");
+
+
+ while ((ris = rawid_set[count++])) {
+ tlen = hex_to_binary2(ris, strlen(ris), &t);
+
+ if (ris == IDTEXT) {
+ memset(buf, 0, SNMP_MAXBUF);
+ memcpy(buf, t, tlen);
+ tlen += sprintf(buf + tlen, "%s", PRINTABLE);
+
+ SNMP_FREE(t);
+ t = buf;
+ }
+#ifdef NETSNMP_ENABLE_TESTING_CODE
+ s = dump_snmpEngineID(t, &tlen);
+ printf("%s (len=%d)\n", s, tlen);
+#endif
+
+ SNMP_FREE(s);
+ if (t != buf) {
+ SNMP_FREE(t);
+ }
+ }
+
+
+ return failcount;
+
+} /* end test_dumpseid() */