Revert "Revert "and added files""
[bcm963xx.git] / userapps / opensource / net-snmp / perl / default_store / test.pl
1 # Before `make install' is performed this script should be runnable with
2 # `make test'. After `make install' it should work as `perl test.pl'
3
4 ######################### We start with some black magic to print on failure.
5
6 # Change 1..1 below to 1..last_test_to_print .
7 # (It may become useful if the test is moved to ./t subdirectory.)
8
9 BEGIN { $| = 1; 
10
11         %tests = ( 
12                   "NETSNMP_DS_MAX_IDS"                     => 3,
13                   "NETSNMP_DS_MAX_SUBIDS"                  => 32,
14                   "NETSNMP_DS_LIBRARY_ID"                  => 0,
15                   "NETSNMP_DS_APPLICATION_ID"              => 1,
16                   "NETSNMP_DS_TOKEN_ID"                    => 2,
17                   "NETSNMP_DS_LIB_MIB_ERRORS"              => 0,
18                   "NETSNMP_DS_LIB_SAVE_MIB_DESCRS"         => 1,
19                   "NETSNMP_DS_LIB_MIB_COMMENT_TERM"        => 2,
20                   "NETSNMP_DS_LIB_MIB_PARSE_LABEL"         => 3,
21                   "NETSNMP_DS_LIB_DUMP_PACKET"             => 4,
22                   "NETSNMP_DS_LIB_LOG_TIMESTAMP"           => 5,
23                   "NETSNMP_DS_LIB_DONT_READ_CONFIGS"       => 6,
24                   "NETSNMP_DS_LIB_MIB_REPLACE"             => 7,
25                   "NETSNMP_DS_LIB_PRINT_NUMERIC_ENUM"      => 8,
26                   "NETSNMP_DS_LIB_PRINT_NUMERIC_OIDS"      => 9,
27                   "NETSNMP_DS_LIB_DONT_BREAKDOWN_OIDS"     => 10,
28                   "NETSNMP_DS_LIB_ALARM_DONT_USE_SIG"      => 11,
29                   "NETSNMP_DS_LIB_PRINT_FULL_OID"          => 12,
30                   "NETSNMP_DS_LIB_QUICK_PRINT"             => 13,
31                   "NETSNMP_DS_LIB_RANDOM_ACCESS"           => 14,
32                   "NETSNMP_DS_LIB_REGEX_ACCESS"            => 15,
33                   "NETSNMP_DS_LIB_DONT_CHECK_RANGE"        => 16,
34                   "NETSNMP_DS_LIB_NO_TOKEN_WARNINGS"       => 17,
35                   "NETSNMP_DS_LIB_NUMERIC_TIMETICKS"       => 18,
36                   "NETSNMP_DS_LIB_ESCAPE_QUOTES"           => 19,
37                   "NETSNMP_DS_LIB_REVERSE_ENCODE"          => 20,
38                   "NETSNMP_DS_LIB_PRINT_BARE_VALUE"        => 21,
39                   "NETSNMP_DS_LIB_EXTENDED_INDEX"          => 22,
40                   "NETSNMP_DS_LIB_PRINT_HEX_TEXT"          => 23,
41                   "NETSNMP_DS_LIB_PRINT_UCD_STYLE_OID"     => 24,
42                   "NETSNMP_DS_LIB_READ_UCD_STYLE_OID"      => 25,
43                   "NETSNMP_DS_LIB_HAVE_READ_PREMIB_CONFIG" => 26,
44                   "NETSNMP_DS_LIB_HAVE_READ_CONFIG"        => 27,
45                   "NETSNMP_DS_LIB_QUICKE_PRINT"            => 28,
46                   "NETSNMP_DS_LIB_MIB_WARNINGS"            => 0,
47                   "NETSNMP_DS_LIB_SECLEVEL"                => 1,
48                   "NETSNMP_DS_LIB_SNMPVERSION"             => 2,
49                   "NETSNMP_DS_LIB_DEFAULT_PORT"            => 3,
50                   "NETSNMP_DS_LIB_OID_OUTPUT_FORMAT"       => 4,
51                   "NETSNMP_DS_SNMP_VERSION_1"              => 128,
52                   "NETSNMP_DS_SNMP_VERSION_2c"             => 1,
53                   "NETSNMP_DS_SNMP_VERSION_3"              => 3,
54                   "NETSNMP_DS_LIB_SECNAME"                 => 0,
55                   "NETSNMP_DS_LIB_CONTEXT"                 => 1,
56                   "NETSNMP_DS_LIB_PASSPHRASE"              => 2,
57                   "NETSNMP_DS_LIB_AUTHPASSPHRASE"          => 3,
58                   "NETSNMP_DS_LIB_PRIVPASSPHRASE"          => 4,
59                   "NETSNMP_DS_LIB_OPTIONALCONFIG"          => 5,
60                   "NETSNMP_DS_LIB_APPTYPE"                 => 6,
61                   "NETSNMP_DS_LIB_COMMUNITY"               => 7,
62                   "NETSNMP_DS_LIB_PERSISTENT_DIR"          => 8,
63                   "NETSNMP_DS_LIB_CONFIGURATION_DIR"       => 9,
64                   "NETSNMP_DS_LIB_SECMODEL"                => 10,
65                   "NETSNMP_DS_LIB_MIBDIRS"                 => 11,
66                   );
67
68         print "1.." . (scalar(keys(%tests)) + 10) . "\n"; 
69     }
70 END {print "not ok 1\n" unless $loaded;}
71 use NetSNMP::default_store (':all');
72 $loaded = 1;
73 print "ok 1\n";
74
75 ######################### End of black magic.
76
77 # Insert your test code below (better if it prints "ok 13"
78 # (correspondingly "not ok 13") depending on the success of chunk 13
79 # of the test code):
80
81 print ((netsnmp_ds_set_string(1, 1, "hi there") == 0) ? "ok 2\n" : "not ok 2\n"); 
82 print ((netsnmp_ds_get_string(1, 1) eq "hi there") ? "ok 3\n" : "not ok 3\n"); 
83 print ((netsnmp_ds_set_int(1, 1, 42) == 0) ? "ok 4\n" : "not ok 4\n"); 
84 print ((netsnmp_ds_get_int(1, 1) == 42) ? "ok 5\n" : "not ok 5\n"); 
85 print ((netsnmp_ds_get_int(1, 2) == 0) ? "ok 6\n" : "not ok 6\n"); 
86 print ((NETSNMP_DS_LIB_REGEX_ACCESS == 15) ? "ok 7\n" : "not ok 7\n"); 
87 print ((netsnmp_ds_get_int(NETSNMP_DS_APPLICATION_ID, 1) == 42) ? "ok 8\n" : "not ok 8\n"); 
88 print ((netsnmp_ds_set_int(NETSNMP_DS_LIBRARY_ID, DS_LIB_DEFAULT_PORT, 9161) == 0) ? "ok 9\n" : "not ok 9\n"); 
89 print ((netsnmp_ds_get_int(NETSNMP_DS_LIBRARY_ID, DS_LIB_DEFAULT_PORT) == 9161) ? "ok 10\n" : "not ok 10\n"); 
90
91 $c = 10;
92 foreach my $i (keys(%tests)) {
93     my $str = "NetSNMP::default_store::$i";
94     my $val = eval $str;
95 #    print "$i -> $val -> $tests{$i}\n";
96     $c++;
97     print (($val eq $tests{$i})?"ok $c\n" : "not ok $c\n#  error:  name=$i value_expected=$tests{$i}  value_got=$val \n");
98 }