summaryrefslogtreecommitdiff
path: root/cleopatre/devkit/tests/validation
diff options
context:
space:
mode:
authorZoran Milosavljevic2010-08-18 16:57:21 +0200
committerZoran Milosavljevic2010-08-18 16:57:21 +0200
commit1ae03546d71a64f4863b8223da946ba1d9db47f8 (patch)
tree25532d435a709fbc831bd7628dab4e70e818c657 /cleopatre/devkit/tests/validation
parentdc521f077f9f464e3bbf29850db2448aca024f36 (diff)
cleo/devkit/tests/validation/scripts/test_snmp[eoc]: creates automatic snmp test, no refs
Diffstat (limited to 'cleopatre/devkit/tests/validation')
-rwxr-xr-xcleopatre/devkit/tests/validation/scripts/test_snmp/common_functions.pl653
-rwxr-xr-xcleopatre/devkit/tests/validation/scripts/test_snmp/ff69
-rwxr-xr-xcleopatre/devkit/tests/validation/scripts/test_snmp/test_snmp22
-rwxr-xr-xcleopatre/devkit/tests/validation/scripts/test_snmp/tsnmp1355
4 files changed, 2099 insertions, 0 deletions
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 (<FILE>)
+ {
+ $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 (<FILE>)
+ {
+ $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 (<FILE>)
+ {
+ $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 (<FILE>)
+ {
+ $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 (<FILE>)
+ {
+ $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 (<FILE>)
+ {
+ $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;
+