46a4045ff3f56cb02d237e6acb18e4960cae9146
[tests.git] / qaapi / qa / tests / node / vsys_launch.pl
1 #!/usr/bin/perl
2 use strict;
3
4 my $prefix;
5
6 if ($#ARGV>0) {
7                 $prefix=$ARGV[0];
8                 print "Setting prefix = $prefix\n";
9 }
10 else {
11         $prefix="pl";
12 }
13 # my $prefix="ple";
14
15 my $slice="$prefix"."_netflow";
16 my $slicedir="/vservers/$slice";
17
18 # Subtest #1 Create new vsys entry
19 print "Creating entries...\t";
20
21 my $vsys_entry="#!/bin/bash\n\ncat /etc/passwd";
22 my $vsys_entry_acl = "$slice";
23
24 open ACL,">/vsys/test.acl" || die ("Could not create acl for test entry.");
25 print ACL $vsys_entry_acl;
26 close ACL;
27
28 open FIL,">/vsys/test" || die ("Could not create test entry.");
29 print FIL $vsys_entry;
30 close $vsys_entry;
31
32 chmod 0755,"/vsys/test";
33
34 # Check if it has shown up
35 sleep(2);
36
37 (-p "/vservers/$slice/vsys/test.in") || die ("in file didn't show up in the slice");
38 (-p "/vservers/$slice/vsys/test.out") || die ("out file didn't show up in the slice");
39
40 # OK, SUBTEST #1 SUCCEEDED
41 print "[SUCCESS] The new entried appeared OK\n";
42
43 # Subtest #2 
44
45 print "Multiple-connection test...\t";
46 mkdir ("/vservers/$slice/support");
47 system("cp vsys_conctest /vservers/$slice/support");
48 system("su -c '/support/vsys_conctest $slice' $slice -");
49 ($? && die ("[FAILED] Multiple-connection test failed\n"));
50
51
52 # OK, SUBTEST #2 SUCCEEDED
53 print "[SUCCESS])\n";
54
55 # Subtest #3
56 unlink "/vsys/test.acl";
57 unlink "/vsys/test";
58
59 (-f "$slicedir/test.in" || -f "$slicedir/test.out") && die ("cleanup failed");
60