added files
[bcm963xx.git] / userapps / opensource / net-snmp / perl / OID / 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 #########################
5
6 # change 'tests => 1' to 'tests => last_test_to_print';
7
8 use Test;
9 BEGIN { plan tests => 36 ; $ENV{'SNMPCONFPATH'} = 'nopath'};
10 use NetSNMP::OID;
11 ok(1); # If we made it this far, we're ok.
12
13 #########################
14
15 # Insert your test code below, the Test module is use()ed here so read
16 # its man page ( perldoc Test ) for help writing this test script.
17
18 my $oid = new NetSNMP::OID(".1.3.6.1");
19 ok(ref($oid) eq "NetSNMP::OID");
20 ok(ref($oid->{oidptr}) eq "netsnmp_oidPtr");
21 #print STDERR ref($oid),"\n";
22
23 my $tostring = "$oid";
24 #print STDERR "$tostring\n";
25 ok($tostring eq "internet");
26
27 my $oid2 = new NetSNMP::OID(".1.3.6.1.2");
28 $tostring = "$oid2";
29 #print STDERR "$tostring\n";
30 ok($tostring eq "mgmt");
31
32 my $oid3 = new NetSNMP::OID(".1.3.6.1");
33
34 my $val = NetSNMP::OID::snmp_oid_compare($oid, $oid2);
35 #print STDERR "compare result: $val\n";
36 ok($val == -1);
37
38 $val = $oid2->snmp_oid_compare($oid);
39 #print STDERR "compare result: $val\n";
40 ok($val == 1);
41
42 $val = NetSNMP::OID::compare($oid, $oid);
43 #print STDERR "compare result: $val\n";
44 ok($val == 0);
45
46 $val = $oid->compare($oid3);
47 #print STDERR "compare result: $val\n";
48 ok($val == 0);
49
50 ok(($oid <=> $oid2) == -1);
51 ok(($oid2 <=> $oid) == 1);
52 ok(($oid <=> $oid3) == 0);
53
54 ok($oid < $oid2);
55 ok($oid <= $oid2);
56 ok($oid2 > $oid);
57 ok($oid2 >= $oid);
58 ok($oid == $oid3);
59 ok($oid <= $oid3);
60 ok($oid >= $oid3);
61
62 ok(new NetSNMP::OID('system') < new NetSNMP::OID('interfaces'));
63 ok(new NetSNMP::OID('interfaces') > new NetSNMP::OID('system'));
64 ok(new NetSNMP::OID('sysORTable') > new NetSNMP::OID('system'));
65
66 my @a = $oid->to_array();
67 ok($a[0] == 1 && $a[1] == 3 && $a[2] == 6 && $a[3] == 1 && $#a == 3);
68
69 $oid->append(".1.2.3");
70 ok("$oid" eq "directory.2.3");
71
72 $oidmore = $oid + ".8.9.10";
73 ok($oidmore == new NetSNMP::OID("directory.2.3.8.9.10"));
74 ok("$oid" eq "directory.2.3");
75 ok(ref($oidmore) eq "NetSNMP::OID");
76
77 # += should work
78 $oidmore += ".11";
79 ok($oidmore == new NetSNMP::OID("directory.2.3.8.9.10.11"));
80
81 $oidstr = $oidmore + "\"wes\"";
82 ok($oidstr == new NetSNMP::OID("directory.2.3.8.9.10.11.3.119.101.115"));
83
84 $oidstr = $oidmore + "\'wes\'";
85 ok($oidstr == new NetSNMP::OID("directory.2.3.8.9.10.11.119.101.115"));
86
87 # just make sure you can do it twice (ie, not modify the original)
88 $oidstr = $oidmore + "\'wes\'";
89 ok($oidstr == new NetSNMP::OID("directory.2.3.8.9.10.11.119.101.115"));
90
91 $oidstr = $oidmore + "internet";
92 ok($oidstr == new NetSNMP::OID("directory.2.3.8.9.10.11.1.3.6.1"));
93
94 $oidstr = $oidmore + "999";
95 ok($oidstr == new NetSNMP::OID("directory.2.3.8.9.10.11.999"));
96
97 $oidstr = $oidmore + (new NetSNMP::OID(".1.3.6.1"));
98 ok($oidstr == new NetSNMP::OID("directory.2.3.8.9.10.11.1.3.6.1"));
99
100 $oid = new NetSNMP::OID("nosuchoidexists");
101 ok(ref($oid) ne "NetSNMP::OID");
102
103 ok($oidstr->length() == 15);
104