IPv4/6 reassembly
[vpp.git] / test / sys_req / set_system_parameters.sh
1 #!/bin/bash
2
3 file="$1"
4
5 usage(){
6         echo "Usage: $0 <requirements file>"
7 }
8
9 if [ "$file" == "" ]
10 then
11         echo "Invalid parameters specified."
12         usage
13         exit 1
14 fi
15
16 if [ ! -f $file ]
17 then
18         echo "File '$file' does not exist."
19         usage
20         exit 1
21 fi
22
23 cat $file | grep -v -e '^#.*$' | grep -v -e '^ *$' | while read line
24 do
25         value_file=`echo $line | awk '{print $1}'`
26         operator=`echo $line | awk '{print $2}'`
27         value=`echo $line | awk '{print $3}'`
28         set_value=`echo $line | awk '{print $4}'`
29         if [[ "$value_file" == "" || "$operator" == "" || "$value" == "" || "$set_value" == "" ]]
30         then
31                 echo "Syntax error in requirements file."
32                 exit 1
33         fi
34         current_value=`cat $value_file`
35         if test "$current_value" $operator "$value"
36         then
37                 if test "$V" = "2"
38                 then
39                         echo "Requirement '$value_file $operator $value' satisfied."
40                 fi
41         else
42                 echo "Requirement '$value_file $operator $value' not satisfied."
43                 echo "Writing '$set_value' to '$value_file'."
44                 echo "$set_value" | tee "$value_file" > /dev/null
45                 if ! test "`cat $value_file`" = "$set_value"
46                 then
47                         echo "Repeating the write using sudo..."
48                         echo "$set_value" | sudo -n tee "$value_file" > /dev/null
49                         if ! test "`cat $value_file`" = "$set_value"
50                         then
51                                 echo "Couldn't set the required value. Is that value allowed? Is sudo working?"
52                                 exit 1
53                         fi
54                 fi
55                 echo "Succesfully wrote '$set_value' to '$value_file'."
56         fi
57 done