⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 async.t

📁 ucd-snmp源代码
💻 T
字号:
#!./perlBEGIN {    unless(grep /blib/, @INC) {        chdir 't' if -d 't';        @INC = '../lib' if -d '../lib';    }}use Test;BEGIN {plan tests => 20}use SNMP;use vars qw($agent_port $comm $agent_host);require "t/startagent.pl";sub cb1; # forward referencesub cb2;sub cb3;sub cb4;sub cb5;sub cb6;sub cb7;sub cbDummy;$SNMP::verbose = 0;$SNMP::dump_packet = 0;my $sess = new SNMP::Session(DestHost => $agent_host, 			  Community => $comm, 			  RemotePort => $agent_port);# try getting unregistered OID.my $result = $sess->get([["HooHaaHooHaa","0"]], [\&cbDummy, $sess]);ok(!defined($result));# this get should work$result = $sess->get([["sysDescr","0"]], [\&cb1, $sess]);ok($result);SNMP::MainLoop();sub cb1{    my $sess = shift;    my $vlist = shift;    ok(defined($vlist));    my $tag = $vlist->[0]->tag;    ok($tag eq 'sysDescr');    my $val = $vlist->[0]->val;    ok(defined $val);    my $iid = $vlist->[0]->iid;    my $type = $vlist->[0]->type;    ok($type eq 'OCTETSTR');    my $res = $sess->getnext([["sysDescr",0]], [\&cb2, $sess]);    ok ($res);} # end of cb1sub cb2{    my $sess = shift;    my $vlist = shift;    ok(defined($vlist));    ok(ref($vlist->[0]) =~ /Varbind/);    ok($vlist->[0][0] eq 'sysObjectID');    my $res = $sess->get([[".1.3.6.1.2.1.1.1.0"]], [\&cb3, $sess]);    ok($res);} # end of cb2sub cb3{    my $sess = shift;    my $vlist = shift;    ok(defined($vlist));    ok($vlist->[0][0] eq 'sysDescr');    my $res = $sess->getnext([["sysDescr",0]], [\&cb4, $sess]);    ok($res);} # end of cb3sub cb4{    my $sess = shift;    my $vlist = shift;    ok(defined $vlist);    my $res = $sess->set("sysDescr.0", "hahaha", [\&cb5, $sess]);} # end of cb4sub cb5{    my $sess = shift;    my $vlist = shift;    ok(defined($vlist));    my $res = $sess->set("sysORID.1", ".1.3.6.1.2.1.1.1", [\&cb6, $sess]);    ok(defined $res);} # end of cb5sub cb6{    my $sess = shift;    my $vlist = shift;    my $tag = $vlist->[0]->tag;    my $val = $vlist->[0]->val;    ok($tag =~ /^sysORID/);# create list of varbinds for GETS, val field can be null or omitted    my $vars =	new SNMP::VarList (			   ['sysDescr', '0', ''],			   ['sysObjectID', '0'],			   ['sysUpTime', '0'],			   ['sysContact', '0'],			   ['sysName', '0'],			   ['sysLocation', '0'],			   ['sysServices', '0'],			   ['ifNumber', '0'],			   ['ifDescr', '1'],			   ['ifSpeed', '1'],			   ['snmpInPkts', '0'],			   ['snmpInBadVersions', '0'],			   ['snmpInBadCommunityNames', '0'],			   ['snmpInBadCommunityUses', '0'],			   ['snmpInASNParseErrs', '0'],			   ['snmpEnableAuthenTraps', '0'],			   ['sysORID', '1'],			   ['sysORDescr', '1'],			   ['sysORUpTime', '1'],			   ['sysORLastChange', '0'],			   ['ipInHdrErrors', '0'],			   ['ipDefaultTTL', '0'],			   ['ipInHdrErrors', '0'],			   );    my $res = $sess->get($vars, [\&cb7, $sess]);    ok(defined $res);} # end of cb6sub cb7{    my $sess = shift;    my $vlist = shift;    my $tag = $vlist->[0]->tag;    my $val = $vlist->[0]->val;    ok(@{$vlist} == 23);    snmptest_cleanup();    exit(0);} # end of cb7sub cbDummy {    warn("error: this should not get called");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -