misctest.c
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:5k
- /*
- * misctest.c
- *
- * Expected SUCCESSes for all tests: 0
- *
- * Returns:
- * Number of FAILUREs.
- *
- * Test of dump_snmpEngineID(). SUCCESSes: 0
- */
- static char *rcsid = "$Id: misctest.c,v 5.0 2002/04/20 07:30:22 hardaker Exp $"; /* */
- #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, "nn%snn", o);
- #define SUCCESS(s)
- {
- if (!failcount)
- fprintf(stdout, "nSUCCESS: %sn", s);
- }
- #define FAILED(e, f)
- {
- if (e != SNMPERR_SUCCESS) {
- fprintf(stdout, "nFAILED: %sn", 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 SNMP_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() */