From 1ae03546d71a64f4863b8223da946ba1d9db47f8 Mon Sep 17 00:00:00 2001 From: Zoran Milosavljevic Date: Wed, 18 Aug 2010 16:57:21 +0200 Subject: cleo/devkit/tests/validation/scripts/test_snmp[eoc]: creates automatic snmp test, no refs --- .../scripts/test_snmp/common_functions.pl | 653 ++++++++++ .../devkit/tests/validation/scripts/test_snmp/ff | 69 + .../tests/validation/scripts/test_snmp/test_snmp | 22 + .../tests/validation/scripts/test_snmp/tsnmp | 1355 ++++++++++++++++++++ 4 files changed, 2099 insertions(+) create mode 100755 cleopatre/devkit/tests/validation/scripts/test_snmp/common_functions.pl create mode 100755 cleopatre/devkit/tests/validation/scripts/test_snmp/ff create mode 100755 cleopatre/devkit/tests/validation/scripts/test_snmp/test_snmp create mode 100755 cleopatre/devkit/tests/validation/scripts/test_snmp/tsnmp (limited to 'cleopatre/devkit/tests') diff --git a/cleopatre/devkit/tests/validation/scripts/test_snmp/common_functions.pl b/cleopatre/devkit/tests/validation/scripts/test_snmp/common_functions.pl new file mode 100755 index 0000000000..bc436db8b3 --- /dev/null +++ b/cleopatre/devkit/tests/validation/scripts/test_snmp/common_functions.pl @@ -0,0 +1,653 @@ +# This file contains common functions used by both, 'ff' and 'tsnmp' scripts + +sub CompleteTestPassFail +{ + my($test_passed) = @_; + + print "\n-----------------------------------------------\n"; + if ($test_passed) { + print "Test PASSED!\n"; + } else { + print "Test FAILED!\n"; + } +} + +sub SingleTestPassFail +{ + my($test_name, $test_passed) = @_; + $global_test_result = $_[2]; + $failed_tests_list = @_; + + if (!$test_passed) { + print "Test $test_name FAILED!\n"; + $global_test_result = 0; + push(@{failed_tests_list}, $test_name); + push(@{failed_tests_list}, "\n"); + } +} + +sub CompareStringEq +{ + my($file_value, $response, $test_passed) = @_; + + ($response_key, $response_value) = split("= STRING: ", $response); + $response_value =~ tr/"//d; + chomp($response_value); + if ($file_value ne $response_value) { + $test_passed = 0; + } else { + $test_passed = 1; + } + return $test_passed; +} + +sub CompareStringContained +{ + my(@arr, $str, $test_passed) = @_; + $test_passed = 0; + + for ($i = 0; $i < $#arr; $i++) + { + if( $arr[$i] =~ /\b$str\b/ ) + { + $test_passed = 1; + last; + } + } + return $test_passed; +} + +# search array @arr from position nr. $from to position number $to +# for strings contained in @str +sub CompareMultipleStringContained +{ + my($ref_arr, $from, $to, $ref_str, $test_passed) = @_; + $$test_passed = 0; + $count = 0; + $j = 0; + + for ($i = $$from; $i < $$to; $i++) + { + for ($k = $j; $k < scalar @{$ref_str}; $k++) + { + ${$ref_arr}[$i] =~ s/00/0/g; # substitute two zero's from MAC address with one zero + if( ${$ref_arr}[$i] =~ /\b${$ref_str}[$k]\b/i ) { + $count++; + $j++; + } else {next;} + } + } + + if ($count == scalar @{$ref_str}) {$$test_passed = 1;} + + return $$test_passed; +} + +sub GetString +{ + my($response) = @_; + + ($response_key, $response_value) = split("= STRING: ", $response); + $response_value =~ tr/"//d; + chomp($response_value); + return $response_value; +} + +sub GetInt +{ + my($response) = @_; + + ($response_key, $response_value) = split("= INTEGER: ", $response); + $response_value =~ tr/"//d; + chomp($response_value); + return $response_value; +} + +sub GetIPAddress +{ + my($response) = @_; + + ($response_key, $response_value) = split("IpAddress: ", $response); + $response_value =~ tr/"//d; + chomp($response_value); + return $response_value; +} + +sub ArrGetListOf +{ + my($type, $sort, $response) = @_; + @response_index_extracted = (); + $i = 0; + + foreach $response (@response) + { + if ($type eq "int") { + ($response_key, $response_value) = split("= INTEGER: ", $response); + } elsif ($type eq "string") { + ($response_key, $response_value) = split("= STRING: ", $response); + } elsif ($type eq "timeticks") { + ($response_key, $response_value) = split("= Timeticks: ", $response); + } else { + ($response_key, $response_value) = split($type, $response); + } + + $response_value =~ tr/"//d; + chomp($response_value); + @response_index_extracted[$i++] = $response_value; + } + if ($sort eq "sorted") { + return sort(@response_index_extracted ); + } elsif ($sort eq "unsorted") { + return @response_index_extracted; + } else { + die ("Wrong parameter specified."); + } +} + +sub CompareIPAddress +{ + my($file_value, $response, $test_passed) = @_; + + ($response_key, $response_value) = split("= IpAddress: ", $response); + $response_value =~ tr/"//d; + chomp($response_value); + if ($file_value ne $response_value) { + $test_passed = 0; + } else { + $test_passed = 1; + } + return $test_passed; +} + +sub CompareIntEq +{ + my($file_value, $response, $test_passed) = @_; + + ($response_key, $response_value) = split("= INTEGER: ", $response); + $response_value =~ tr/"//d; + chomp($response_value); + if ($file_value ne $response_value) { + $test_passed = 0; + } else { + $test_passed = 1; + } + return $test_passed; +} + +sub CompareOIDEq +{ + my($file_value, $response, $test_passed) = @_; + + ($response_key, $response_value) = split("= OID: ", $response); + $response_value =~ tr/"//d; + chomp($response_value); + if ($file_value ne $response_value) { + $test_passed = 0; + } else { + $test_passed = 1; + } + return $test_passed; +} + +sub ParseFile +{ + my($file_path) = @_; + @arr = (); + @arr_tmp = (); + $i = 0; + open (FILE, $file_path) or die ("Can not open file $file_name"); + $file_name = basename($file_path); + while () + { + $line = $_; + $line =~ s/^\s+//; #remove leading spaces + $line =~ s/\s+$//; #remove trailing spaces + chomp; + if (($file_name eq "system.conf") or ($file_name eq "snmp.conf") + or ($file_name eq "alarm_analog.conf") or ($file_name eq "alarm_discrete.conf") + or ($file_name eq "eoc.conf") or ($file_name eq "master.conf") + or ($file_name eq "slave.conf") or ($file_name eq "nvram_full.txt")) + { + @arr_tmp = split(" = ", $line); + } + elsif (($file_name eq "ifconfig.txt") or ($file_name eq "etc_network_interfaces.txt") + or ($file_name eq "port.conf") or ($file_name eq "port.conf")) + { + # Split on one (or more) white space characters + @arr_tmp = split m/\s{1,}/, $line, -1; + } + elsif ($file_name eq "nvram.txt") + { + # Split on two (or more) white space characters + @arr_tmp = split m/\s{2,}/, $line, -1; + } + elsif ($file_name eq "version.txt") + { + @arr_tmp = split(" ", $line); + } + elsif ($file_name eq "online.info") + { + @arr_tmp = split(";", $line); + } + elsif ($file_name eq "list_etc_conf_files.txt") + { + $str_to_delete = "/etc/"; + $line =~ s/$str_to_delete//; + @arr_tmp[0] = $line; + } + elsif ($file_name eq "list_usr_local_etc_conf_files.txt") + { + $str_to_delete = "/usr/local/etc/"; + $line =~ s/$str_to_delete//; + @arr_tmp[0] = $line; + } + else {} + + $j = 0; + while ($arr_tmp[$j] ne "") { + @arr[$i + $j] = $arr_tmp[$j]; +#print @arr[$i].": and :".@arr[$i + $j]."\n"; + $j++; + } + + $i += $j * 2; + } + close (FILE); + return @arr; +} + +sub ParseArr +{ + my($key, @arr) = @_; + + for ($i = 0; $i < $#arr; $i+=2) + { + if ($arr[$i] eq $key) {return $arr[++$i];} + } +} + +sub GetNumberOfSlavesFromWhiteList +{ + my($file_name, $authorized) = @_; + $number_of_slaves = 0; + @arr_tmp = (); + + open (FILE, $file_name) or die ("Can not open file $file_name"); + + while () + { + $line = $_; + $line =~ s/^\s+//; #remove leading spaces + $line =~ s/\s+$//; #remove trailing spaces + chomp; + + # Split on one (or more) white space characters + @arr_tmp = split m/\s{1,}/, $line, -1; + + if ($authorized eq "authorized") { + if ($arr_tmp[2] eq "1") {$number_of_slaves++;} + } elsif ($authorized eq "all") { + if (($arr_tmp[2] eq "1") or ($arr_tmp[2] eq "0")) {$number_of_slaves++;} + } else { + die ("Must be specified 'authorized' or 'all'"); + } + } + + close (FILE); + + return $number_of_slaves; +} + +sub GetNumberOfConnectedSlaves # from online.info +{ + my($file_name) = @_; + $number_of_connected_slaves = 0; + + open (FILE, $file_name) or die ("Can not open file $file_name"); + + while () + { + $line = $_; + $line =~ s/^\s+//; #remove leading spaces + $line =~ s/\s+$//; #remove trailing spaces + chomp; + + # skip the line containing comment character "#" + if (substr($line, 0, 1) eq "#") {next;} + + $number_of_connected_slaves++; + } + + close (FILE); + + return $number_of_connected_slaves; +} + +sub GetMACAddrOfConnectedSlaves # from online.info +{ + my($file_name) = @_; + @mac_addr = (); + @arr_tmp = (); + $i = 0; + + open (FILE, $file_name) or die ("Can not open file $file_name"); + + while () + { + $line = $_; + $line =~ s/^\s+//; #remove leading spaces + $line =~ s/\s+$//; #remove trailing spaces + chomp; + + # skip the line containing comment character "#" + if (substr($line, 0, 1) eq "#") {next;} + + @arr_tmp = split(";", $line); + $mac_addr[$i++] = @arr_tmp[0]; + } + + close (FILE); + + return @mac_addr; +} + +sub FileGetListOf +{ + my($item, $sort, $file_path) = @_; + @list_of_items = (); + @arr_tmp = (); + $i = 0; + + open (FILE, $file_path) or die ("Can not open file $file_name"); + + $file_name = basename($file_path); + + while () + { + $line = $_; + $line =~ s/^\s+//; #remove leading spaces + $line =~ s/\s+$//; #remove trailing spaces + chomp; + + if (($file_name eq "wl_retrieve.txt") or ($file_name eq "wl_show.txt") + or ($file_name eq "port.conf") or ($file_name eq "service.conf")) { + # skip the line containing comment character "#" + if (substr($line, 0, 1) eq "#") {next;} + # Split on one (or more) white space characters + @arr_tmp = split m/\s{1,}/, $line, -1; + } elsif ($file_name eq "online.info") { + # skip the line containing comment character "#" + if (substr($line, 0, 1) eq "#") {next;} + # Split on ";" + @arr_tmp = split(";", $line); + } else {} + + if ($item eq "WL_RETRIEVE_TXT_TEI") { + $index = 1; + if (($arr_tmp[$index] ne "") and ($arr_tmp[$index] =~ /^[+-]?\d+$/)) { + $list_of_items[$i++] = $arr_tmp[$index] - 2; + } + } elsif ($item eq "WL_RETRIEVE_TXT_TEI_UNSUBSTRACTED") { + $index = 1; + if (($arr_tmp[$index] ne "") and ($arr_tmp[$index] =~ /^[+-]?\d+$/)) { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "WL_RETRIEVE_TXT_MAC") { + $index = 0; + if (($arr_tmp[$index] ne "") and ($arr_tmp[$index] =~ !/~[f-z]/g)) { + $arr_tmp[$index] =~ s/00/0/g; # substitute two zero's from MAC address with one zero + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "WL_RETRIEVE_TXT_AUTHORIZATION") { + $index = 2; + if (($arr_tmp[$index] ne "") and ($arr_tmp[$index] =~ /^[+-]?\d+$/)) { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "WL_RETRIEVE_TXT_OUTLEVEL") { + $index = 3; + if (($arr_tmp[$index] ne "") and ($arr_tmp[$index] =~ /^[+-]?\d+$/)) { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "WL_RETRIEVE_TXT_STIME") { + $index = 4; + if (($arr_tmp[$index] ne "") and ($arr_tmp[$index] =~ /[^A-z]/)) { + $arr_tmp[$index] =~ s/^0//; # delete first zero + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "WL_RETRIEVE_TXT_ETIME") { + $index = 5; + if (($arr_tmp[$index] ne "") and ($arr_tmp[$index] =~ /[^A-z]/)) { + $arr_tmp[$index] =~ s/^0//; # delete first zero + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "ONLINE_INFO_MODEL_NB") { + $index = 1; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "ONLINE_INFO_PORT_AMOUNT") { + $index = 2; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "ONLINE_INFO_AUTHORIZATION") { + $index = 3; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "ONLINE_INFO_SW_VERSION") { + $index = 4; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "ONLINE_INFO_DOWNSTR_ATT") { + $index = 5; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "ONLINE_INFO_UPSTR_ATT") { + $index = 6; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "ONLINE_INFO_DOWNSTR_DATARATE") { + $index = 7; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "ONLINE_INFO_UPSTR_DATARATE") { + $index = 8; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "WL_SHOW_DPW") { + $index = 6; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "PORT_CONF_PORT_EN") { + $index = 1; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "PORT_CONF_SERVICE_INDEX") { + $index = 2; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "PORT_CONF_VLAN_TAG_EN") { + $index = 3; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "PORT_CONF_VLAN_MARK_ID") { + $index = 4; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "SERVICE_CONF_INDEX") { + $index = 0; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "SERVICE_CONF_NAME") { + $index = 1; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "SERVICE_CONF_MATCHING_VAL") { + $index = 2; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "SERVICE_CONF_QOS_PRIO") { + $index = 3; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "SERVICE_CONF_DBA_DOWNSTREAM_PIR") { + $index = 4; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "SERVICE_CONF_DBA_UPSTREAM_PIR") { + $index = 5; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "SERVICE_CONF_DBA_DOWNSTREAM_CIR") { + $index = 6; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "SERVICE_CONF_DBA_UPSTREAM_CIR") { + $index = 7; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "SERVICE_CONF_MAX_LATENCY") { + $index = 8; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "SERVICE_CONF_MAX_JITTER") { + $index = 9; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } elsif ($item eq "SERVICE_CONF_ACS_EN") { + $index = 10; + if ($arr_tmp[$index] ne "") { + $list_of_items[$i++] = $arr_tmp[$index]; + } + } + else {}; + } + close (FILE); + if ($sort eq "sorted") { + return sort(@list_of_items); + } elsif ($sort eq "unsorted") { + return @list_of_items; + } else { + die ("Wrong parameter specified."); + } +} + +# returns "1" if arrays are equal +sub CompareArrays +{ + my ($first, $second) = @_; + my ($test_passed) = @_; + + if (scalar @{$first} != scalar @{$second}) {$test_passed = 0; return $test_passed;} + for (my $i = 0; $i < scalar @{$first}; $i++) { + if (@{$first}[$i] ne @{$second}[$i]) {$test_passed = 0;} + } + + return $test_passed; +} + +sub GetIndexFromMACAddress +{ + my($file_name, @arr_of_mac_addr) = @_; + @list_of_indexes = (); + @arr_tmp = (); + $i = 0; + + open (FILE, $file_name) or die ("Can not open file $file_name"); + + while () + { + $line = $_; + $line =~ s/^\s+//; #remove leading spaces + $line =~ s/\s+$//; #remove trailing spaces + chomp; + + # Split on one (or more) white space characters + @arr_tmp = split m/\s{1,}/, $line, -1; + + # extract MAC address + if (($arr_tmp[0] ne "") and ($arr_tmp[0] =~ !/~[f-z]/g)) { + # check if extracted MAC address matches with MAC addres specified as input + foreach $mac_addr (@arr_of_mac_addr) + { + if ($arr_tmp[0] eq $mac_addr) { + # ... if it does, return it's index (TEI - 2) + $list_of_indexes[$i++] = $arr_tmp[1] - 2; + } + } + } + } + close (FILE); + return sort(@list_of_indexes); +} + +sub GetMasterMAC +{ + my @arr = @_; + $i = 0; + + foreach $arr (@arr) + { + if ($i eq 2) {return $arr;} + if (($arr eq "br0") and ($i eq 0)) { + $i = 1; + next; + } + if (($arr eq "HWaddr") and ($i eq 1)) { + $i = 2; + next; + } + } +} + +sub ConnectToBoard +{ + my($master_ip) = @_; + + do { + $telnet = $telnet = new Net::Telnet ( Timeout=>10, Errmode=>'return'); + print "\nTrying to telnet to the board $master_ip ...\n"; + } while ($telnet->errmsg ne ""); + + do { + $ok = $telnet->open($master_ip); + print " Connecting to port on remote host: $master_ip ...\n"; + sleep(2); + } while ($ok ne 1); + + $telnet->waitfor('/scr310_eoc_master login:/'); + $telnet->print('root'); + $telnet->waitfor('/#/'); + + return $telnet; +} + +sub GetFileFromBoard +{ + my($telnet, $pc_eth1_ip_addr, $folder_name, $file_name) = @_; + + print $telnet->cmd("ftpput -v -u spidcom -p spidcom $pc_eth1_ip_addr $file_name $file_name"); + $copy = `cp /home/spidcom/$file_name $folder_name`; +} +1; diff --git a/cleopatre/devkit/tests/validation/scripts/test_snmp/ff b/cleopatre/devkit/tests/validation/scripts/test_snmp/ff new file mode 100755 index 0000000000..46e484f007 --- /dev/null +++ b/cleopatre/devkit/tests/validation/scripts/test_snmp/ff @@ -0,0 +1,69 @@ +#!/usr/bin/perl + +# This script is used to telnet to the board under test, collect all data needed and +# download files needed to the test PC (under folder spicified by ftpput). Those +# files will then be copied to the location specified by 3rd command line argument ($folder_name). +# It uses the Net::Telnet Perl module which has to be +# installed (for example, using: cpan -> install Net::Telnet -> q) + +use Net::Telnet; +require 'common_functions.pl'; + +$master_ip = $ARGV[0]; +$pc_eth1_ip_addr = $ARGV[1]; +$folder_name = $ARGV[2]; + +$telnet = &ConnectToBoard($master_ip); + +$rename_remove_create = `rm -rf $folder_name"_old"`; +$rename_remove_create = `mv $folder_name $folder_name"_old"`; +$rename_remove_create = `mkdir -p $folder_name`; + +print $telnet->cmd("cd /etc"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "system.conf"); +print $telnet->cmd("nvram show > nvram.txt"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "nvram.txt"); +print $telnet->cmd("uname -a > version.txt"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "version.txt"); +print $telnet->cmd("ifconfig > ifconfig.txt"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "ifconfig.txt"); +print $telnet->cmd("cd /etc"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "snmp.conf"); +print $telnet->cmd("cd /etc"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "alarm_analog.conf"); +print $telnet->cmd("cd /etc"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "alarm_discrete.conf"); +print $telnet->cmd("cd /etc"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "eoc.conf"); +print $telnet->cmd("cd /etc"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "master.conf"); +print $telnet->cmd("wl retrieve > wl_retrieve.txt"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "wl_retrieve.txt"); +print $telnet->cmd("cd /etc"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "slave.conf"); +print $telnet->cmd("cd /var/run/info"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "online.info"); +print $telnet->cmd("wl show > wl_show.txt"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "wl_show.txt"); +print $telnet->cmd("/usr/local/lib/modules/readNVRAM > nvram_full.txt"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "nvram_full.txt"); +print $telnet->cmd("cat /etc/network/interfaces > etc_network_interfaces.txt"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "etc_network_interfaces.txt"); +print $telnet->cmd("rm -f /usr/local/etc/test.txt"); +print $telnet->cmd("rm -f /etc/save.lst"); +print $telnet->cmd("touch /etc/test.txt"); +print $telnet->cmd("echo test > /etc/test.txt"); +print $telnet->cmd("echo test.txt > /etc/save.lst"); +print $telnet->cmd("ls /etc/*.conf > list_etc_conf_files.txt"); +print $telnet->cmd("ls /etc/test.txt >> list_etc_conf_files.txt"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "list_etc_conf_files.txt"); +print $telnet->cmd("cd /etc"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "port.conf"); +print $telnet->cmd("rm -f /etc/service.conf"); +print $telnet->cmd("rm -f /usr/local/etc/service.conf"); +print $telnet->cmd("echo 0 name1 1 2 3 4 5 6 7 8 1 > /etc/service.conf"); +print $telnet->cmd("echo 1 name2 11 12 13 14 15 16 17 18 1 >> /etc/service.conf"); +print $telnet->cmd("save"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "service.conf"); + +$telnet->close; diff --git a/cleopatre/devkit/tests/validation/scripts/test_snmp/test_snmp b/cleopatre/devkit/tests/validation/scripts/test_snmp/test_snmp new file mode 100755 index 0000000000..d0644775e5 --- /dev/null +++ b/cleopatre/devkit/tests/validation/scripts/test_snmp/test_snmp @@ -0,0 +1,22 @@ +#!/bin/sh + +# This is the main script to start full SNMP agent test +# The master board under test IP address (master_ip) and +# test PC eth used IP address (pc_eth1_ip_addr) has to be given together +# with the location where test files will be stored (folder_name). +# When test is finished, file results.txt is generated and contains +# test result. Test summary is given at the end of the file. +# The scripts called ('ff' and 'tsnmp') uses the Net::Telnet Perl module +# which has to be installed (for example, using: cpan -> install Net::Telnet -> q) + +master_ip="192.168.3.103" +pc_eth1_ip_addr="192.168.3.3" +folder_name="/home/zoran/Desktop/test_snmp/test_folder/" + +echo "Test snmp started ..." + +# fetch files needed +./ff $master_ip $pc_eth1_ip_addr $folder_name + +# start test +sudo ./tsnmp $master_ip $pc_eth1_ip_addr $folder_name | tee $folder_name"results.txt" diff --git a/cleopatre/devkit/tests/validation/scripts/test_snmp/tsnmp b/cleopatre/devkit/tests/validation/scripts/test_snmp/tsnmp new file mode 100755 index 0000000000..ab8e8eab67 --- /dev/null +++ b/cleopatre/devkit/tests/validation/scripts/test_snmp/tsnmp @@ -0,0 +1,1355 @@ +#!/usr/bin/perl + +# This is the test script for testing SNMP agent. It uses the Net::Telnet Perl module which has to be +# installed (for example, using: cpan -> install Net::Telnet -> q) +# This script assumes exsistance of all files needed. Preparation of this files is the task for 'ff' script +# which is called from main test script- 'test_snmp', before this one. +# Number of slaves under test is not limited. +# This script has to be called with 3 command line parameters: master board under test IP address ($master_ip), +# test PC eth IP address ($pc_eth1_ip_addr) and folder name where fetched files are stored +# ($folder_name), respectively. +# The following files are required: +# system.conf +# nvram.txt +# version.txt +# ifconfig.txt +# snmp.conf +# alarm_analog.conf +# alarm_discrete.conf +# eoc.conf +# master.conf +# wl_retrieve.txt +# slave.conf +# online.info +# wl_show.txt +# nvram_full.txt +# etc_network_interfaces.txt +# list_etc_conf_files.txt +# list_usr_local_etc_conf_files.txt +# port.conf +# service.conf + +use Net::Telnet; +use File::Basename; +require 'common_functions.pl'; + +$test_result = 1; +$global_test_result = 1; +@failed_tests_list = (); + +$master_ip = $ARGV[0]; +$pc_eth1_ip_addr = $ARGV[1]; +$folder_name = $ARGV[2]; +$snmp_get = "snmpget -v 2c -c spidcom ".$master_ip; +$snmp_set = "snmpset -v 2c -c spidcom ".$master_ip; +$snmp_walk = "snmpwalk -v 2c -c spidcom ".$master_ip; + +@system_conf_arr = &ParseFile($folder_name."system.conf"); +@nvram_txt_arr = &ParseFile($folder_name."nvram.txt"); +@nvram_full_txt_arr = &ParseFile($folder_name."nvram_full.txt"); +@version_txt_arr = &ParseFile($folder_name."version.txt"); +@ifconfig_txt_arr = &ParseFile($folder_name."ifconfig.txt"); +@snmp_conf_arr = &ParseFile($folder_name."snmp.conf"); +#@alarm_analog_conf_arr = &ParseFile($folder_name."alarm_analog.conf"); +#@alarm_discrete_conf_arr = &ParseFile($folder_name."alarm_discrete.conf"); +@eoc_conf_arr = &ParseFile($folder_name."eoc.conf"); +@master_conf_arr = &ParseFile($folder_name."master.conf"); +@slave_conf_arr = &ParseFile($folder_name."slave.conf"); +@etc_network_interfaces_txt_arr = &ParseFile($folder_name."etc_network_interfaces.txt"); +@list_etc_conf_files_txt_arr = &ParseFile($folder_name."list_etc_conf_files.txt"); +@port_conf_arr = &ParseFile($folder_name."port.conf"); +@service_conf_arr = &ParseFile($folder_name."service.conf"); + +$test_name = "modEoCCLTAdminLogicalID"; +$file_value = &ParseArr("ADMIN_LOGICAL_ID", @system_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminEMSIPAddress"; +$file_value = &ParseArr("ADMIN_EMS_IP_ADDRESS", @system_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIPAddress($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCSoftwareUpgradeServerIP"; +$file_value = &ParseArr("UPGRADE_SERVER_IP", @system_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIPAddress($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCSoftwareUpgradeServerPort"; +$file_value = &ParseArr("UPGRADE_SERVER_PORT", @system_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCSoftwareUpgradeLogin"; +$file_value = &ParseArr("UPGRADE_SERVER_LOGIN", @system_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCSoftwareUpgradePassword"; +$file_value = &ParseArr("UPGRADE_SERVER_PASSWORD", @system_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUWhiteListAutoUpgradeEN"; +$file_value = &ParseArr("AUTOUPDATE", @system_conf_arr); +if ($file_value eq "yes") { + $file_value = "enable(1)"; +} else { + $file_value = "disable(0)"; +} +@response = `$snmp_walk $test_name`; print @response; +@response_upgrade_extracted = &ArrGetListOf("int", "sorted", @response); +foreach $response_upgrade_extracted (@response_upgrade_extracted) +{ + if ($response_upgrade_extracted eq $file_value) { + $test_result = 1; + } else { + $test_result = 0; + last; + } +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminTechProject"; +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq("SPiDCOM", $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminManufactoryInfo"; +$file_value = &ParseArr("Manufactory info", @nvram_txt_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminModelNumber"; +$file_value = &ParseArr("product_name[64]", @nvram_full_txt_arr); +$response = `$snmp_get $test_name.0`; print $response; +$response_model_nr = &GetString($response); +# remove """ character from the string +$response_model_nr =~ s/\"//g; +if ($response_model_nr eq $file_value) { + $test_result = 1; +} else { + $test_result = 0; +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminSerialNumber"; +$file_value = &ParseArr("Modem serial number", @nvram_txt_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminSoftwareVersion"; +$response = `$snmp_get $test_name.0`; print $response; +$response_version_string_extracted = &GetString($response); +$test_result = &CompareStringContained(@version_txt_arr, $response_version_string_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCLTSoftwareVersion"; +$response = `$snmp_get -Oa $test_name.1`; print $response; +$response_version_string_extracted = &GetString($response); +$test_result = &CompareStringContained(@version_txt_arr, $response_version_string_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminHardwareVersion"; +$file_value = &ParseArr("product_partnb[64]", @nvram_full_txt_arr); +$response = `$snmp_get $test_name.0`; print $response; +$response_model_nr = &GetString($response); +# remove """ character from the string +$response_model_nr =~ s/\"//g; +if ($response_model_nr eq $file_value) { + $test_result = 1; +} else { + $test_result = 0; +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminVendorSpecialInfo"; +$file_value = &ParseArr("OEM info", @nvram_txt_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminMACAddress"; +$response = `$snmp_get $test_name.0`; print $response; +$response_mac_addr_string_extracted = &GetString($response); +@str_to_match = ("br0", "HWaddr", $response_mac_addr_string_extracted); +$f = 0; +$to = 10; +#print "\n==4==@str_to_match==4==\n"; +#print "\n==5==@ifconfig_txt_arr==5==\n"; +$test_result = CompareMultipleStringContained(\@ifconfig_txt_arr, \$f, \$to, \@str_to_match, \$test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminIPAddress"; +$response = `$snmp_get $test_name.0`; print $response; +$response_ip_addr_extracted = &GetIPAddress($response); +@str_to_match = ("br0", "inet", "addr", $response_ip_addr_extracted); +$f = 0; +$to = 40; +$test_result = CompareMultipleStringContained(\@ifconfig_txt_arr, \$f, \$to, \@str_to_match, \$test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminIPMask"; +$response = `$snmp_get $test_name.0`; print $response; +$response_ip_mask_extracted = &GetIPAddress($response); +@str_to_match = ("br0", "inet", "Mask", $response_ip_mask_extracted); +$f = 0; +$to = 40; +$test_result = CompareMultipleStringContained(\@ifconfig_txt_arr, \$f, \$to, \@str_to_match, \$test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCLTMACAddress"; +$response = `$snmp_get $test_name.1`; print $response; +$response_mac_addr_string_extracted = &GetString($response); +@str_to_match = ("br0", "HWaddr", $response_mac_addr_string_extracted); +$f = 0; +$to = 10; +$test_result = CompareMultipleStringContained(\@ifconfig_txt_arr, \$f, \$to, \@str_to_match, \$test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCLTUplinkDeviceMACAddress"; +$response = `$snmp_get $test_name.1`; print $response; +$response_mac_addr_string_extracted = &GetString($response); +@str_to_match = ("eth0", "HWaddr", $response_mac_addr_string_extracted); +$f = 20; +$to = 60; +$test_result = CompareMultipleStringContained(\@ifconfig_txt_arr, \$f, \$to, \@str_to_match, \$test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminVarBindings"; +$ref_value = 10; +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminSNMPVersion"; +$ref_value = 2; +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTRFIndex"; +$ref_value = 1; +$response = `$snmp_get $test_name.1`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTRFLinkMaximum"; +$ref_value = 128; +$response = `$snmp_get $test_name.1`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTMACVlanIndex"; +$ref_value = 1; +$response = `$snmp_get $test_name.1`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTMACBroadcastIndex"; +$ref_value = 1; +$response = `$snmp_get $test_name.1`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCLTUplinkDevicePortNumber"; +$ref_value = 0; +$response = `$snmp_get $test_name.1`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUWhiteListPhyRateGate"; +$ref_value = 200; +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCNUAmountLimitation"; +$ref_value = 256; +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCNUMasterIndex"; +$ref_value = 0; +$response = `$snmp_walk $test_name`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUServiceAmountLimitation"; +$ref_value = 128; +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUPortPerCNULimitation"; +$ref_value = 4; +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUPortAmountLimitation"; +$ref_value = 1024; +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNURealTimeStatisticMasterIndex"; +$ref_value = 1; +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCIGMPSnoopingMasterIndex"; +$ref_value = 1; +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTMACCNUIsolationIndex"; +$ref_value = 1; +$response = `$snmp_get $test_name.1`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCLTIndex"; +$ref_value = 1; +$response = `$snmp_get $test_name.1`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUWhiteListAmountLimitation"; +$ref_value = 128; +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCTrapMaxTimes"; +$file_value = &ParseArr("TRAP_MAX_TIMES", @snmp_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCTrapMinInterval"; +$file_value = &ParseArr("TRAP_MIN_INTERVAL", @snmp_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCTrapMaxInterval"; +$file_value = &ParseArr("TRAP_MAX_INTERVAL", @snmp_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCTrapIP"; +$file_value = &ParseArr("TRAP_SERVER_IP", @snmp_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCTrapCommunity"; +$file_value = &ParseArr("TRAP_COMMUNITY", @snmp_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCTrapStatus"; +$file_value = &ParseArr("TRAP_ENABLE", @snmp_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "analogParameterOID"; +$file_value = &ParseArr("OID", @alarm_analog_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "analogEnable"; +$file_value = &ParseArr("ENABLE", @alarm_analog_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "analogAlarmState"; +$file_value = &ParseArr("STATE", @alarm_analog_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "analogAlarmHIHI"; +$file_value = &ParseArr("HIHI", @alarm_analog_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "analogAlarmHI"; +$file_value = &ParseArr("HI", @alarm_analog_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "analogAlarmLO"; +$file_value = &ParseArr("LO", @alarm_analog_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "analogAlarmLOLO"; +$file_value = &ParseArr("LOLO", @alarm_analog_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "analogAlarmDeadband"; +$file_value = &ParseArr("Deadband", @alarm_analog_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "discreteAlarmParameterOID"; +$file_value = &ParseArr("OID", @alarm_discrete_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "discreteAlarmTriggerValue"; +$file_value = &ParseArr("TRIGGER", @alarm_discrete_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "discreteAlarmEnable"; +$file_value = &ParseArr("ENABLE", @alarm_discrete_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "discreteAlarmState"; +$file_value = &ParseArr("STATE", @alarm_discrete_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTRFCLTOutputLevel"; +$file_value = &ParseArr("OUTPUT_LEVEL", @eoc_conf_arr); +$response = `$snmp_get $test_name.1`; print $response; +$test_result = &CompareIntEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUServiceType"; +$file_value = &ParseArr("SERVICE_TYPE", @eoc_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTMACVlanEN"; +$test_result = 1; +$file_value = &ParseArr("VLAN_ADMIN_ENABLE", @master_conf_arr); +$response = `$snmp_get $test_name.1`; print $response; +$vlan_en = &GetInt($response); +if ($vlan_en eq "disable(0)") { + if ($file_value ne "no") { + $test_result = 0; + } +} elsif ($vlan_en eq "enable(1)") { + if ($file_value ne "yes") { + $test_result = 0; + } +} else {$test_result = 0;} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTMACAdminVlanID"; +$test_result = 0; +$file_value = &ParseArr("VLAN_ADMIN_ID", @master_conf_arr); +$response = `$snmp_get $test_name.1`; print $response; +$vlan_id = &GetInt($response); +if ($vlan_id eq $file_value) {$test_result = 1;} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTMACBroadcastRestrictionEN"; +$test_result = 1; +$file_value = &ParseArr("BCAST_LIMIT_ENABLE", @master_conf_arr); +$response = `$snmp_get $test_name.1`; print $response; +$vlan_en = &GetInt($response); +if ($vlan_en eq "disable(0)") { + if ($file_value ne "no") { + $test_result = 0; + } +} elsif ($vlan_en eq "enable(1)") { + if ($file_value ne "yes") { + $test_result = 0; + } +} else {$test_result = 0;} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTMACBroadcastRestriction"; +$test_result = 0; +$file_value = &ParseArr("BCAST_LIMIT_VALUE", @master_conf_arr); +$response = `$snmp_get $test_name.1`; print $response; +$vlan_en = &GetInt($response); +if ($vlan_en eq $file_value) {$test_result = 1;} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTMACUnknowRestrictionEN"; +$test_result = 1; +$file_value = &ParseArr("UNKNOWN_LIMIT_ENABLE", @master_conf_arr); +$response = `$snmp_get $test_name.1`; print $response; +$vlan_en = &GetInt($response); +if ($vlan_en eq "disable(0)") { + if ($file_value ne "no") { + $test_result = 0; + } +} elsif ($vlan_en eq "enable(1)") { + if ($file_value ne "yes") { + $test_result = 0; + } +} else {$test_result = 0;} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTMACUnknowRestriction"; +$test_result = 0; +$file_value = &ParseArr("UNKNOWN_LIMIT_VALUE", @master_conf_arr); +$response = `$snmp_get $test_name.1`; print $response; +$vlan_en = &GetInt($response); +if ($vlan_en eq $file_value) {$test_result = 1;} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTMACCNUIsolationEN"; +$test_result = 1; +$file_value = &ParseArr("ISOLATION_ENABLE", @master_conf_arr); +$response = `$snmp_get $test_name.1`; print $response; +$vlan_en = &GetInt($response); +if ($vlan_en eq "disable(0)") { + if ($file_value ne "no") { + $test_result = 0; + } +} elsif ($vlan_en eq "enable(1)") { + if ($file_value ne "yes") { + $test_result = 0; + } +} else {$test_result = 0;} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCLTUplinkBroadcastFrameSendIntervalBeforeAck"; +$file_value = &ParseArr("DISCOVERY_BCAST_FSI_BEFORE_ACK", @master_conf_arr); +$response = `$snmp_get $test_name.1`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCLTUplinkBroadcastFrameSendIntervalAfterAck"; +$file_value = &ParseArr("DISCOVERY_BCAST_FSI_AFTER_ACK", @master_conf_arr); +$response = `$snmp_get $test_name.1`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUWhiteListRegisteredAmount"; +$file_value = &GetNumberOfSlavesFromWhiteList($folder_name."wl_retrieve.txt", "authorized"); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUWhiteListAllRFOutputLevel"; +$file_value = &ParseArr("OUTPUT_LEVEL", @slave_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUWhiteListAllExtMACLimitation"; +$file_value = &ParseArr("MAC_LIMITATION", @slave_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCNUCurrentAmount"; +$file_value = &GetNumberOfConnectedSlaves($folder_name."online.info"); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUWhiteListIndex"; +@file_value = &FileGetListOf("WL_RETRIEVE_TXT_TEI", "sorted", $folder_name."wl_retrieve.txt"); +@response = `$snmp_walk $test_name`; print @response; +@response_index_extracted = &ArrGetListOf("int", "sorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_index_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUWhiteListMACAddress"; +@file_value = &FileGetListOf("WL_RETRIEVE_TXT_MAC", "sorted", $folder_name."wl_retrieve.txt"); +@response = `$snmp_walk $test_name`; print @response; +@response_mac_addr_extracted = &ArrGetListOf("string", "sorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_mac_addr_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUWhiteListAuthorization"; +@file_value = &FileGetListOf("WL_RETRIEVE_TXT_AUTHORIZATION", "sorted", $folder_name."wl_retrieve.txt"); +@response = `$snmp_walk $test_name`; print @response; +@response_author_extracted = &ArrGetListOf("int", "sorted", @response); +foreach $index (@response_author_extracted) +{ + $index =~ s/unauthorized\(0\)/0/g; # substitute "unauthorized(0)" with "0" + $index =~ s/authorized\(1\)/1/g; # substitute "authorized(1)" with "1" +} +$test_result = &CompareArrays(\@file_value, \@response_author_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUWhiteListRFOutputLevel"; +@file_value = &FileGetListOf("WL_RETRIEVE_TXT_OUTLEVEL", "sorted", $folder_name."wl_retrieve.txt"); +@response = `$snmp_walk $test_name`; print @response; +@response_outlev_extracted = &ArrGetListOf("int", "sorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_outlev_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUWhiteListRegisterOnlineState"; +@file_value = &GetMACAddrOfConnectedSlaves($folder_name."online.info"); +@file_value_index = &GetIndexFromMACAddress($folder_name."wl_retrieve.txt", @file_value); +@response = `$snmp_walk $test_name`; print @response; +@response_index_not_extracted = &ArrGetListOf("SPIDCOM-EOC-MIB::modEoCCNUWhiteListRegisterOnlineState.", "sorted", @response); +$k = 0; +@response_status_not_found = (); +foreach $response_index_not_extracted (@response_index_not_extracted) +{ + ($response_index, $response_status) = split(" = ", $response_index_not_extracted); + $response_status =~ s/INTEGER: offline\(0\)/0/g; # substitute "INTEGER: offline(0)" with "0" + $response_status =~ s/INTEGER: online\(1\)/1/g; # substitute "INTEGER: online(1)" with "1" + $i = 0; + $found = 0; + foreach $file_value_index (@file_value_index) + { + if ($file_value_index eq $response_index) + { + $found = 1; + if ($response_status eq "1") { + $test_result = 1; + } else { + $test_result = 0; + last; + } + splice (@file_value_index, $i, 1); + $i++; + } + } + if (!$found) { + @response_status_not_found[$k] = $response_status; + $k++; + } +} +if (scalar (@file_value_index) != 0) {$test_result = 0;} +foreach $response_status_not_found (@response_status_not_found) +{ + if ($response_status_not_found eq 1) { + $test_result = 0; + last; + } +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUWhiteListStartTime"; +@file_value = &FileGetListOf("WL_RETRIEVE_TXT_STIME", "sorted", $folder_name."wl_retrieve.txt"); +@response = `$snmp_walk $test_name`; print @response; +@response_stime_extracted = &ArrGetListOf("timeticks", "sorted", @response); +foreach $response_stime_extracted (@response_stime_extracted) +{ + ($other, $response_stime_tmp) = split m/\s{1,}/, $response_stime_extracted, -1; + $response_stime_extracted = substr($response_stime_tmp, 0, - 6); # remove last 6 characters: 8:00:00.00 -> 8:00 +} +$test_result = &CompareArrays(\@file_value, \@response_stime_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUWhiteListEndTime"; +@file_value = &FileGetListOf("WL_RETRIEVE_TXT_ETIME", "sorted", $folder_name."wl_retrieve.txt"); +@response = `$snmp_walk $test_name`; print @response; +@response_etime_extracted = &ArrGetListOf("timeticks", "sorted", @response); +foreach $response_etime_extracted (@response_etime_extracted) +{ + ($other, $response_etime_tmp) = split m/\s{1,}/, $response_etime_extracted, -1; + $response_etime_extracted = substr($response_etime_tmp, 0, - 6); # remove last 6 characters: 8:00:00.00 -> 8:00 +} +$test_result = &CompareArrays(\@file_value, \@response_etime_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCNUIndex"; +$file_value = &GetNumberOfConnectedSlaves($folder_name."online.info"); +@response = `$snmp_walk $test_name`; print @response; +@response_n_of_indexes = &ArrGetListOf("int", "sorted", @response); +if ($file_value eq scalar (@response_n_of_indexes)) { + $test_result = 1; +} else { + $test_result = 0; +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCNUMACAddress"; +@file_value = &GetMACAddrOfConnectedSlaves($folder_name."online.info"); +foreach $file_value (@file_value) +{ + $file_value =~ s/00/0/g; # substitute two zero's from MAC address with one zero +} +@response = `$snmp_walk $test_name`; print @response; +@response_n_of_slaves = &ArrGetListOf("string", "sorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_n_of_slaves, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCNUModelNumber"; +@file_value = &FileGetListOf("ONLINE_INFO_MODEL_NB", "sorted", $folder_name."online.info"); +@response = `$snmp_walk -Oa $test_name`; print @response; +@response_n_of_slaves = &ArrGetListOf("string", "sorted", @response); +# remove the "." character from the end of the string +foreach $response_n_of_slaves (@response_n_of_slaves) +{ + $response_n_of_slaves = substr($response_n_of_slaves, 0, - 1); +} +$test_result = &CompareArrays(\@file_value, \@response_n_of_slaves, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCNUPortAmount"; +@file_value = &FileGetListOf("ONLINE_INFO_PORT_AMOUNT", "sorted", $folder_name."online.info"); +@response = `$snmp_walk $test_name`; print @response; +@response_p_amount = &ArrGetListOf("int", "sorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_p_amount, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCNUAuthorizationState"; +@file_value = &FileGetListOf("ONLINE_INFO_AUTHORIZATION", "sorted", $folder_name."online.info"); +@response = `$snmp_walk $test_name`; print @response; +@response_author = &ArrGetListOf("int", "sorted", @response); +# substitute "unauthorized(0)" with "0" and "authorized(1)" with "1" +foreach $response_author (@response_author) +{ + $response_author =~ s/unauthorized\(0\)/0/g; + $response_author =~ s/authorized\(1\)/1/g; +} +$test_result = &CompareArrays(\@file_value, \@response_author, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCNUSoftwareVersion"; +@file_value = &FileGetListOf("ONLINE_INFO_SW_VERSION", "sorted", $folder_name."online.info"); +@response = `$snmp_walk -Oa $test_name`; print @response; +@response_sw_version = &ArrGetListOf("string", "sorted", @response); +# remove the "." and """ character from the string +foreach $response_sw_version (@response_sw_version) +{ + $response_sw_version = substr($response_sw_version, 0, - 1); + $response_sw_version =~ s/\"//g; +} +$test_result = &CompareArrays(\@file_value, \@response_sw_version, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCNURFDownstreamAttenuation"; +@file_value = &FileGetListOf("ONLINE_INFO_DOWNSTR_ATT", "sorted", $folder_name."online.info"); +@response = `$snmp_walk $test_name`; print @response; +@response_downstr_att = &ArrGetListOf("int", "sorted", @response); +# remove the " dB" from the end of the string +foreach $response_downstr_att (@response_downstr_att) +{ + $response_downstr_att =~ s/ dB//g; +} +$test_result = &CompareArrays(\@file_value, \@response_downstr_att, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCNURFUpstreamAttenuation"; +@file_value = &FileGetListOf("ONLINE_INFO_UPSTR_ATT", "sorted", $folder_name."online.info"); +@response = `$snmp_walk $test_name`; print @response; +@response_upstr_att = &ArrGetListOf("int", "sorted", @response); +# remove the " dB" from the end of the string +foreach $response_upstr_att (@response_upstr_att) +{ + $response_upstr_att =~ s/ dB//g; +} +$test_result = &CompareArrays(\@file_value, \@response_upstr_att, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCNURFDownstreamQuality"; +@file_value = &FileGetListOf("ONLINE_INFO_DOWNSTR_DATARATE", "sorted", $folder_name."online.info"); +@response = `$snmp_walk $test_name`; print @response; +@response_downstr_datarate = &ArrGetListOf("int", "sorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_downstr_datarate, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCNURFUpstreamQuality"; +@file_value = &FileGetListOf("ONLINE_INFO_UPSTR_DATARATE", "sorted", $folder_name."online.info"); +@response = `$snmp_walk $test_name`; print @response; +@response_upstr_datarate = &ArrGetListOf("int", "sorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_upstr_datarate, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "spc300EoCSlaveWhiteListAmountLimitation"; +$ref_value = 256; +$response = `$snmp_walk $test_name`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "spc300EoCSlaveWhiteListNetworkPassword"; +$file_value = &ParseArr("NPW", @eoc_conf_arr); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareStringEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "spc300EoCSlaveWhiteListDevicePassword"; +@file_value = &FileGetListOf("WL_SHOW_DPW", "sorted", $folder_name."wl_show.txt"); +# delete the first element from @file_value (delete string "DPW" from the first line of wl_show.txt) +splice (@file_value, 0, 1); +@response = `$snmp_walk $test_name`; print @response; +@response_dpw_extracted = &ArrGetListOf("string", "sorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_dpw_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCSoftwareUpgradeMasterIndex"; +$test_result = 1; +@response = `$snmp_walk $test_name`; print @response; +@response_index_extracted = &ArrGetListOf("int", "sorted", @response); +foreach $response_index_extracted (@response_index_extracted) +{ + if ($response_index_extracted ne 0) {$test_result = 0;} # all values hass to be "0" +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCSoftwareUpgradeCNUIndex"; +$test_result = 1; +$j = 0; +@file_value_tei = &FileGetListOf("WL_RETRIEVE_TXT_TEI_UNSUBSTRACTED", "sorted", $folder_name."wl_retrieve.txt"); +@response = `$snmp_walk $test_name`; print @response; +@response_index_not_extracted = &ArrGetListOf("SPIDCOM-EOC-MIB::modEoCSoftwareUpgradeCNUIndex.1.", "sorted", @response); +foreach $response_index_not_extracted (@response_index_not_extracted) +{ + ($response_index_1, $response_index_2) = split(" = INTEGER: ", $response_index_not_extracted); + if ($response_index_1 ne $response_index_2) { + $test_result = 0; + last; + } + if ($response_index_2 ne 0) { + if ($response_index_2 ne $file_value_tei[$j++]) { + $test_result = 0; + last; + } + } else {next;} +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCSoftwareUpgradeMACAddress"; +$master_mac_addr = &GetMasterMAC(@ifconfig_txt_arr); +@file_value = &FileGetListOf("WL_RETRIEVE_TXT_MAC", "sorted", $folder_name."wl_retrieve.txt"); +unshift(@file_value, lc($master_mac_addr)); +@response = `$snmp_walk $test_name`; print @response; +@response_mac_addr_extracted = &ArrGetListOf("string", "sorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_mac_addr_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCSoftwareUpgradeDevType"; +@response = `$snmp_walk $test_name`; print @response; +@response_dev_type_extracted = &ArrGetListOf("SPIDCOM-EOC-MIB::modEoCSoftwareUpgradeDevType.1.", "sorted", @response); +$test_result = 1; +foreach $response_dev_type_extracted (@response_dev_type_extracted) +{ + ($response_index, $response_value) = split(" = INTEGER: ", $response_dev_type_extracted); + if ($response_index eq 0) { + if (substr($response_value, 0, 3) ne "clt") { + $test_result = 0; + last; + } + } else { # $response_index != 0 + if (substr($response_value, 0, 3) ne "cnu") { + $test_result = 0; + last; + } + } +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCSoftwareUpgradeFileName"; +@response = `$snmp_walk -Oa $test_name`; print @response; +@response_file_name_not_extracted = &ArrGetListOf("SPIDCOM-EOC-MIB::modEoCSoftwareUpgradeFileName.1.", "sorted", @response); +$test_result = 1; +foreach $response_file_name_not_extracted (@response_file_name_not_extracted) +{ + ($response_index, $response_value) = split(" = STRING: ", $response_file_name_not_extracted); + # remove the "." and """ character from the string + $response_value = substr($response_value, 0, - 1); + $response_value =~ s/\"//g; + if ($response_index eq 0) { + if ($response_value ne "master_filename") { + $test_result = 0; + last; + } + } else { # $response_index != 0 + if ($response_value ne "slave_filename") { + $test_result = 0; + last; + } + } +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCSoftwareUpgradeResult"; +@response = `$snmp_walk $test_name`; print @response; +@response_upgrade_result_extracted = &ArrGetListOf("SPIDCOM-EOC-MIB::modEoCSoftwareUpgradeResult.1.", "sorted", @response); +$test_result = 1; +foreach $response_upgrade_result_extracted (@response_upgrade_result_extracted) +{ + ($response_index, $response_value) = split(" = INTEGER: ", $response_upgrade_result_extracted); + if ($response_value ne "none(0)") { + $test_result = 0; + last; + } +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTRFDownstreamStartFreq"; +$ref_value = "2000 Hz"; +$response = `$snmp_get $test_name.1`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTRFDownstreamStopFreq"; +$ref_value = "30000 Hz"; +$response = `$snmp_get $test_name.1`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTRFUpstreamStartFreq"; +$ref_value = "2000 Hz"; +$response = `$snmp_get $test_name.1`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTRFUpstreamStopFreq"; +$ref_value = "30000 Hz"; +$response = `$snmp_get $test_name.1`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCLTModelNumber"; +$file_value = &ParseArr("product_name[64]", @nvram_full_txt_arr); +$response = `$snmp_get -Oa $test_name.1`; print $response; +$response_model_nr = &GetString($response); +# remove the "." and """ character from the string +$response_model_nr = substr($response_value, 0, - 1); +$response_model_nr =~ s/\"//g; +if ($response_model_nr eq $file_value) { + $test_result = 1; +} else { + $test_result = 0; +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminIPMode"; +$response = `$snmp_get $test_name.0`; print $response; +$response_ip_addr_extracted = &GetInt($response); +$response_ip_addr_extracted = substr($response_ip_addr_extracted, 0, - 3); # remove last 3 characters +@str_to_match = ("iface", "br0", "inet", $response_ip_addr_extracted); +$f = 0; +$to = 80; +$test_result = CompareMultipleStringContained(\@etc_network_interfaces_txt_arr, \$f, \$to, \@str_to_match, \$test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminIPGateway"; +@str_to_match = ("iface", "br0", "inet", "gateway"); +$f = 0; +$to = 200; +$result = 0; +$ref_value = "0.0.0.0"; +$result = CompareMultipleStringContained(\@etc_network_interfaces_txt_arr, \$f, \$to, \@str_to_match, \$result); +$response = `$snmp_get $test_name.0`; print $response; +if ($result eq 0) { + $test_result = &CompareIPAddress($ref_value, $response, $test_result); +} else { + $response_gateway_extracted = &GetIPAddress($response); + @str_to_match = ("iface", "br0", "inet", "gateway", $response_gateway_extracted); + $test_result = CompareMultipleStringContained(\@etc_network_interfaces_txt_arr, \$f, \$to, \@str_to_match, \$test_result); +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminConfigurationSaving"; +$test_result = 0; +$f = 0; +$to = 100; +$response = `$snmp_set $test_name.0 i 1`; print $response; +# generate file list_usr_local_etc_conf_files.txt +$telnet = &ConnectToBoard($master_ip); +print $telnet->cmd("ls /usr/local/etc/*.conf > list_usr_local_etc_conf_files.txt"); +print $telnet->cmd("ls /usr/local/etc/test.txt >> list_usr_local_etc_conf_files.txt"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "list_usr_local_etc_conf_files.txt"); +$telnet->close; +$config_saved = &GetInt($response); +if ($config_saved eq "save(1)") { + @list_usr_local_etc_conf_files_txt = &ParseFile($folder_name."list_usr_local_etc_conf_files.txt"); + $test_result = CompareMultipleStringContained(\@list_usr_local_etc_conf_files_txt, \$f, \$to, \@list_etc_conf_files_txt_arr, \$test_result); +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminConfigurationResult"; +$test_result = 0; +$response = `$snmp_get $test_name.0`; print $response; +$save_result = &GetInt($response); +if ($save_result eq "save(1)") {$test_result = 1;} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +# test pass/fail result depends on when the board was reseted last time +$test_name = "modEoCCLTAdminLinkTopoChange"; +$ref_value = "change(1)"; +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminAppropriativeOID"; +$ref_value = "SNMPv2-SMI::mib-2.17409"; +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareOIDEq($ref_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCLTConfigurationSaving"; +$test_result = 0; +$f = 0; +$to = 100; +$response = `$snmp_set $test_name.1 i 1`; print $response; +# generate file list_usr_local_etc_conf_files.txt +$telnet = &ConnectToBoard($master_ip); +print $telnet->cmd("ls /usr/local/etc/*.conf > list_usr_local_etc_conf_files.txt"); +print $telnet->cmd("ls /usr/local/etc/test.txt >> list_usr_local_etc_conf_files.txt"); +&GetFileFromBoard($telnet, $pc_eth1_ip_addr, $folder_name, "list_usr_local_etc_conf_files.txt"); +$telnet->close; +$config_saved = &GetInt($response); +if ($config_saved eq "save(1)") { + @list_usr_local_etc_conf_files_txt = &ParseFile($folder_name."list_usr_local_etc_conf_files.txt"); + $test_result = CompareMultipleStringContained(\@list_usr_local_etc_conf_files_txt, \$f, \$to, \@list_etc_conf_files_txt_arr, \$test_result); +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCLTConfigurationResult"; +$test_result = 0; +$response = `$snmp_get $test_name.1`; print $response; +$save_result = &GetInt($response); +if ($save_result eq "save(1)") {$test_result = 1;} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUWhiteListRowStatus"; +$ref_value = "active(1)"; +@response = `$snmp_walk $test_name`; print @response; +@response_row_status_extracted = &ArrGetListOf("int", "sorted", @response); +foreach $response_row_status_extracted (@response_row_status_extracted) +{ + if ($response_row_status_extracted eq $ref_value) { + $test_result = 1; + } else { + $test_result = 0; + last; + } +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUPortMasterIndex"; +$ref_value = 1; +@response = `$snmp_walk $test_name`; print @response; +@response_master_index_extracted = &ArrGetListOf("int", "sorted", @response); +foreach $response_master_index_extracted (@response_master_index_extracted) +{ + if ($response_master_index_extracted eq $ref_value) { + $test_result = 1; + } else { + $test_result = 0; + last; + } +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUPortCNUIndex"; +@file_value = &FileGetListOf("WL_RETRIEVE_TXT_TEI", "sorted", $folder_name."wl_retrieve.txt"); +@response = `$snmp_walk $test_name`; print @response; +@response_index_extracted = &ArrGetListOf("int", "sorted", @response); +for ($i = 1; $i < scalar(@response_index_extracted); $i++) +{ + # skip equal elements, e.g. (71, 71, 71, 71, 72, 72, 72, 72) -> (71, 72) + if (@response_index_extracted[$i] eq @response_index_extracted[$i - 1]) { + splice (@response_index_extracted, $i, 1); + $i--; + } +} +$test_result = &CompareArrays(\@file_value, \@response_index_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUPortIndex"; +@ref_val_arr = (1, 2, 3, 4); +@file_value_tei = &FileGetListOf("WL_RETRIEVE_TXT_TEI", "sorted", $folder_name."wl_retrieve.txt"); +@response = `$snmp_walk $test_name`; print @response; +@response_port_index_extracted = &ArrGetListOf("SPIDCOM-EOC-MIB::modEoCCNUPortIndex.1.", "sorted", @response); +# @response_port_index_extracted contains: 71.1 = INTEGER: 1, 71.2 = INTEGER: 2, ..., 72.1 = INTEGER: 1, ..., 75.4 = INTEGER: 4 +$test_result = 1; +$i = 0; +$k = 0; +foreach $response_port_index_extracted (@response_port_index_extracted) +{ + ($response_index, $response_value) = split(" = INTEGER: ", $response_port_index_extracted); + # $response_index contains: 71.1, 71.2, ..., 72.1, ..., 75.4 + # $response_value contains: 1, 2, ..., 1, ..., 4 + # extract TEI from response + @response_tei_extracted[$i] = substr($response_index, 0, length ($response_index) - length($response_value) - 1); + # @response_tei_extracted contains: 71, 71, 71, 71, 72, 72, 72, 72, ..., 75, 75, 75, 75 + # check indexes (e.g. 71.1 -> 1 eq 1, ..., 72.3 -> 3 eq 3, ...) + if (substr($response_index, length(@response_tei_extracted[$i]) + 1, length($response_value)) ne $response_value) { + $test_result = 0; + last; + } + # compare indexes against referent value (if indexes extracted from result are 1, 2, 3 and 4) + if ($response_value ne @ref_val_arr[$k]){ + $test_result = 0; + last; + } + if ($k < 3) { + $k++; + } else { + $k = 0; + } + $i++; +} +for ($i = 1; $i < scalar(@response_tei_extracted); $i++) +{ + # skip equal elements, e.g. (71, 71, 71, 71, 72, 72, 72, 72) -> (71, 72) + if (@response_tei_extracted[$i] eq @response_tei_extracted[$i - 1]) { + splice (@response_tei_extracted, $i, 1); + $i--; + } +} +if ($test_result ne 0) { + # if no test before fails, check if TEI extracted from result matches TEI extracted from file wl_retrieve.txt + $test_result = &CompareArrays(\@file_value_tei, \@response_tei_extracted, $test_result); +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUPortEN"; +@file_value = &FileGetListOf("PORT_CONF_PORT_EN", "unsorted", $folder_name."port.conf"); +@response = `$snmp_walk $test_name`; print @response; +@response_port_en_extracted = &ArrGetListOf("int", "unsorted", @response); +$i = 0; +foreach $response_port_en_extracted (@response_port_en_extracted) +{ + $response_port_en_extracted =~ s/disable\(0\)/0/; + $response_port_en_extracted =~ s/enable\(1\)/1/; + if ($response_port_en_extracted eq @file_value[$i++]) { + $test_result = 1; + } else { + $test_result = 0; + last; + } +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUPortService"; +@file_value = &FileGetListOf("PORT_CONF_SERVICE_INDEX", "unsorted", $folder_name."port.conf"); +@response = `$snmp_walk $test_name`; print @response; +@response_service_index_extracted = &ArrGetListOf("int", "unsorted", @response); +$i = 0; +foreach $response_service_index_extracted (@response_service_index_extracted) +{ + if ($response_service_index_extracted eq @file_value[$i++]) { + $test_result = 1; + } else { + $test_result = 0; + last; + } +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUPortVLANTagEN"; +@file_value = &FileGetListOf("PORT_CONF_VLAN_TAG_EN", "unsorted", $folder_name."port.conf"); +@response = `$snmp_walk $test_name`; print @response; +@response_port_en_extracted = &ArrGetListOf("int", "unsorted", @response); +$i = 0; +foreach $response_port_en_extracted (@response_port_en_extracted) +{ + $response_port_en_extracted =~ s/disable\(0\)/0/; + $response_port_en_extracted =~ s/enable\(1\)/1/; + if ($response_port_en_extracted eq @file_value[$i++]) { + $test_result = 1; + } else { + $test_result = 0; + last; + } +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUPortVLANMarkID"; +@file_value_port_conf_vlan_mark_id = &FileGetListOf("PORT_CONF_VLAN_MARK_ID", "unsorted", $folder_name."port.conf"); +@file_value_service_conf_matching_val = &FileGetListOf("SERVICE_CONF_MATCHING_VAL", "unsorted", $folder_name."service.conf"); +@response = `$snmp_walk $test_name`; print @response; +@response_port_vlan_mark_id_extracted = &ArrGetListOf("int", "unsorted", @response); +$i = 0; +foreach $response_port_vlan_mark_id_extracted (@response_port_vlan_mark_id_extracted) +{ + if ($response_port_vlan_mark_id_extracted eq 0) { + $test_result = 1; + } else { + $test_result = 0; + last; + } +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUServiceIndex"; +@file_value = &FileGetListOf("SERVICE_CONF_INDEX", "unsorted", $folder_name."service.conf"); +@response = `$snmp_walk $test_name`; print @response; +@response_service_index_extracted = &ArrGetListOf("int", "unsorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_service_index_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUServiceName"; +@file_value = &FileGetListOf("SERVICE_CONF_NAME", "unsorted", $folder_name."service.conf"); +@response = `$snmp_walk $test_name`; print @response; +@response_service_name_extracted = &ArrGetListOf("string", "unsorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_service_name_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUServiceMatchingValue"; +@file_value = &FileGetListOf("SERVICE_CONF_MATCHING_VAL", "unsorted", $folder_name."service.conf"); +@response = `$snmp_walk $test_name`; print @response; +@response_service_matching_val_extracted = &ArrGetListOf("int", "unsorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_service_matching_val_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUServiceQOSPrio"; +@file_value = &FileGetListOf("SERVICE_CONF_QOS_PRIO", "unsorted", $folder_name."service.conf"); +@response = `$snmp_walk $test_name`; print @response; +@response_service_qos_prio_extracted = &ArrGetListOf("int", "unsorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_service_qos_prio_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUServiceDBADownstreamPIR"; +@file_value = &FileGetListOf("SERVICE_CONF_DBA_DOWNSTREAM_PIR", "unsorted", $folder_name."service.conf"); +@response = `$snmp_walk $test_name`; print @response; +@response_service_dba_downstr_pir_extracted = &ArrGetListOf("int", "unsorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_service_dba_downstr_pir_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUServiceDBAUpstreamPIR"; +@file_value = &FileGetListOf("SERVICE_CONF_DBA_UPSTREAM_PIR", "unsorted", $folder_name."service.conf"); +@response = `$snmp_walk $test_name`; print @response; +@response_service_dba_upstr_pir_extracted = &ArrGetListOf("int", "unsorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_service_dba_upstr_pir_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUServiceDBADownstreamCIR"; +@file_value = &FileGetListOf("SERVICE_CONF_DBA_DOWNSTREAM_CIR", "unsorted", $folder_name."service.conf"); +@response = `$snmp_walk $test_name`; print @response; +@response_service_dba_downstr_cir_extracted = &ArrGetListOf("int", "unsorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_service_dba_downstr_cir_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUServiceDBAUpstreamCIR"; +@file_value = &FileGetListOf("SERVICE_CONF_DBA_UPSTREAM_CIR", "unsorted", $folder_name."service.conf"); +@response = `$snmp_walk $test_name`; print @response; +@response_service_dba_upstr_cir_extracted = &ArrGetListOf("int", "unsorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_service_dba_upstr_cir_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUServiceMaxLatency"; +@file_value = &FileGetListOf("SERVICE_CONF_MAX_LATENCY", "unsorted", $folder_name."service.conf"); +@response = `$snmp_walk $test_name`; print @response; +@response_service_max_latency_extracted = &ArrGetListOf("int", "unsorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_service_max_latency_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCNUServiceRowStatus"; +$ref_value = "active(1)"; +@response = `$snmp_walk $test_name`; print @response; +@response_row_status_extracted = &ArrGetListOf("int", "sorted", @response); +foreach $response_row_status_extracted (@response_row_status_extracted) +{ + if ($response_row_status_extracted eq $ref_value) { + $test_result = 1; + } else { + $test_result = 0; + last; + } +} +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "spc300EoCSlaveWhiteListRegisteredAmount"; +$file_value = &GetNumberOfSlavesFromWhiteList($folder_name."wl_retrieve.txt", "all"); +$response = `$snmp_get $test_name.0`; print $response; +$test_result = &CompareIntEq($file_value, $response, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "spc300EoCSlaveServiceMaxJitter"; +@file_value = &FileGetListOf("SERVICE_CONF_MAX_JITTER", "unsorted", $folder_name."service.conf"); +@response = `$snmp_walk $test_name`; print @response; +@response_service_max_jitter_extracted = &ArrGetListOf("int", "unsorted", @response); +$test_result = &CompareArrays(\@file_value, \@response_service_max_jitter_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "spc300EoCSlaveServiceACSEn"; +@file_value = &FileGetListOf("SERVICE_CONF_ACS_EN", "unsorted", $folder_name."service.conf"); +@response = `$snmp_walk $test_name`; print @response; +@response_service_acs_en_extracted = &ArrGetListOf("int", "unsorted", @response); +foreach $response_service_acs_en_extracted (@response_service_acs_en_extracted) +{ + $response_service_acs_en_extracted =~ s/disable\(0\)/0/; + $response_service_acs_en_extracted =~ s/enable\(1\)/1/; +} +$test_result = &CompareArrays(\@file_value, \@response_service_acs_en_extracted, $test_result); +&SingleTestPassFail($test_name, $test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCNUAllReset"; +# generate test file which has to be deleted if board is successfully reseted +$telnet = &ConnectToBoard($master_ip); +print $telnet->cmd("cd /etc"); +print $telnet->cmd("touch has_to_be_deleted.txt"); +print $telnet->cmd("echo some text > has_to_be_deleted.txt"); +@ls_test_file_before_reset = $telnet->cmd("ls /etc/has_to_be_deleted.txt"); +$telnet->close; +$response = `$snmp_set $test_name.0 i 1`; print $response; +# check if test file exists after reset +$telnet = &ConnectToBoard($master_ip); +@ls_test_file_after_reset = $telnet->cmd("ls /etc/has_to_be_deleted.txt"); +$telnet->close; +# if arrays @ls_test_file_before_reset and @ls_test_file_after_reset are different, test passed +$test_result = &CompareArrays(\@ls_test_file_before_reset, \@ls_test_file_after_reset, $test_result); +&SingleTestPassFail($test_name, !$test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCOnlineCLTReset"; +# generate test file which has to be deleted if board is successfully reseted +$telnet = &ConnectToBoard($master_ip); +print $telnet->cmd("cd /etc"); +print $telnet->cmd("touch has_to_be_deleted.txt"); +print $telnet->cmd("echo some text > has_to_be_deleted.txt"); +@ls_test_file_before_reset = $telnet->cmd("ls /etc/has_to_be_deleted.txt"); +$telnet->close; +$response = `$snmp_set $test_name.1 i 1`; print $response; +# check if test file exists after reset +$telnet = &ConnectToBoard($master_ip); +@ls_test_file_after_reset = $telnet->cmd("ls /etc/has_to_be_deleted.txt"); +$telnet->close; +# if arrays @ls_test_file_before_reset and @ls_test_file_after_reset are different, test passed +$test_result = &CompareArrays(\@ls_test_file_before_reset, \@ls_test_file_after_reset, $test_result); +&SingleTestPassFail($test_name, !$test_result, $global_test_result, \@failed_tests_list); + +$test_name = "modEoCCLTAdminReset"; +# generate test file which has to be deleted if board is successfully reseted +$telnet = &ConnectToBoard($master_ip); +print $telnet->cmd("cd /etc"); +print $telnet->cmd("touch has_to_be_deleted.txt"); +print $telnet->cmd("echo some text > has_to_be_deleted.txt"); +@ls_test_file_before_reset = $telnet->cmd("ls /etc/has_to_be_deleted.txt"); +$telnet->close; +$response = `$snmp_set $test_name.0 i 1`; print $response; +# check if test file exists after reset +$telnet = &ConnectToBoard($master_ip); +@ls_test_file_after_reset = $telnet->cmd("ls /etc/has_to_be_deleted.txt"); +$telnet->close; +# if arrays @ls_test_file_before_reset and @ls_test_file_after_reset are different, test passed +$test_result = &CompareArrays(\@ls_test_file_before_reset, \@ls_test_file_after_reset, $test_result); +&SingleTestPassFail($test_name, !$test_result, $global_test_result, \@failed_tests_list); + +&CompleteTestPassFail($global_test_result); +print "\n\nList of failed tests: \n @failed_tests_list\n"; +print "\nTotal number of tests failed: ".(scalar (@failed_tests_list) / 2); +print "\n-----------------------------------------------\n"; +exit; + -- cgit v1.2.3