OpenCores
URL https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk

Subversion Repositories an-fpga-implementation-of-low-latency-noc-based-mpsoc

[/] [an-fpga-implementation-of-low-latency-noc-based-mpsoc/] [trunk/] [mpsoc/] [script/] [server/] [Integration_test/] [run.sh] - Blame information for rev 48

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 48 alirezamon
#!/bin/bash
2
 
3
#the max server load that is permited for runing the parallel test
4
max_allowed_server_load=35
5
source "my_password.sh" # define servers and passwords
6
 
7
SCRPT_FULL_PATH=$(realpath ${BASH_SOURCE[0]})
8
SCRPT_DIR_PATH=$(dirname $SCRPT_FULL_PATH)
9
 
10
 
11
 
12
 
13
 
14
#servers=( $server1 $server2 $server3 ) # an array which define the list of servers
15
my_server="to be selected"
16
SERVER_ROOT_DIR="~/pronoc_verify"
17
 
18
ProNoC="../../.."
19
 
20
my_srcs=( "rtl"
21
    "Integration_test"
22
        "src_verilator"
23
        "src_c/netrace-1.0"
24
        "script"
25
        "/perl_gui/lib/perl" )
26
 
27
 
28
rm "$SCRPT_DIR_PATH/report"
29
 
30
 
31
 
32
 
33
#copy_sources
34
#login_in_server
35
 
36
#step one login in tje server and read the load
37
function get_server_avg_load {
38
        out=$(sshpass -p $my_passwd ssh -t -o "StrictHostKeyChecking no" $1  "uptime")
39
        load_avg=$(grep -oP '(?<=load average: )[0-9]+' <<< $out)
40
}
41
 
42
 
43
function select_a_server {
44
        min_load="100"
45
 
46
        for i in "${servers[@]}"; do
47
                        echo "get load average on $i server"
48
                        get_server_avg_load $i
49
                        echo $load_avg
50
                        if [ $min_load  -gt $load_avg ]
51
                        then
52
                                min_load=$load_avg
53
                                my_server=$i
54
                        fi
55
        done
56
        if [ $min_load -gt $max_allowed_server_load ]
57
        then
58
                echo "All servers are busy. Cannot continue"
59
                exit
60
        fi
61
        echo "server $my_server is selected for running the test"
62
}
63
 
64
 
65
function copy_sources {
66
        sshpass -p $my_passwd ssh  -o "StrictHostKeyChecking no" $my_server  rm -rf  ${SERVER_ROOT_DIR}
67
        sshpass -p $my_passwd ssh  -o "StrictHostKeyChecking no" $my_server  mkdir -p "${SERVER_ROOT_DIR}/mpsoc/perl_gui/lib/"
68
    sshpass -p $my_passwd ssh  -o "StrictHostKeyChecking no" $my_server  mkdir -p "${SERVER_ROOT_DIR}/mpsoc/src_c/"
69
        sshpass -p $my_passwd ssh  -o "StrictHostKeyChecking no" $my_server  mkdir -p "${SERVER_ROOT_DIR}/mpsoc_work"
70
        for i in "${my_srcs[@]}"; do
71
                echo "Copy $i  on the server"
72
                sshpass -p $my_passwd scp  -o "StrictHostKeyChecking no" -r "$ProNoC/$i"  "$my_server:${SERVER_ROOT_DIR}/mpsoc/$i"
73
        done
74
        sshpass -p $my_passwd scp  -o "StrictHostKeyChecking no" -r "$SCRPT_DIR_PATH/server_run.sh"  "$my_server:${SERVER_ROOT_DIR}/mpsoc/Integration_test/server_run.sh"
75
}
76
 
77
 
78
function run_test {
79
        cmd="export PRONOC_WORK=${SERVER_ROOT_DIR}/mpsoc_work;"
80
        sshpass -p $my_passwd ssh -t -o "StrictHostKeyChecking no" $my_server $cmd
81
 
82
}
83
 
84
#setps to run the verrification
85
 
86
#1
87
select_a_server
88
#2
89
copy_sources
90
#3 run the test
91
 
92
sshpass -p $my_passwd ssh  -o "StrictHostKeyChecking no" $my_server  "cd ${SERVER_ROOT_DIR}/mpsoc/Integration_test;  source \"/etc/profile\";  bash   server_run.sh;"
93
 
94
#collect the report
95
rm "$SCRPT_DIR_PATH/report"
96
sshpass -p $my_passwd scp  -o "StrictHostKeyChecking no" -r   "$my_server:${SERVER_ROOT_DIR}/mpsoc/Integration_test/report"  "$SCRPT_DIR_PATH/report"
97
wait
98
gedit "$SCRPT_DIR_PATH/report"
99
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.