source: trunk/IPs/systemC/processor/Morpheo/Script/distexe_env.sh @ 145

Last change on this file since 145 was 145, checked in by rosiere, 14 years ago

1) add test with SPECINT2K
2) new config of Selftest
3) modif RAT to support multiple depth_save ... but not finish (need fix Update Prediction Table)
4) add Function_pointer but need fix

  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 6.0 KB
Line 
1#!/bin/bash
2
3declare distexe_env_is_subshell;
4declare distexe_env_file="${HOME}/.distexe_env";
5
6#-----[ distexe_env_usage ]---------------------------------
7function distexe_env_usage()
8{
9    echo "${0} option";
10    echo "  -h : print this message";
11    echo "  -d : load default DISTEXE_HOSTS";
12    echo "  -t : from DISTEXE_HOSTS, test hosts";
13    echo "  -s : save DISTEXE_HOSTS in file ${distexe_env_file} (if -t, save after test host)";
14    echo "  -l : load file ${distexe_env_file} and set DISTEXE_HOSTS";
15    echo "";
16    echo " 2 methode to set DISTEXE_HOSTS : ";
17    echo "   * 1) \". $0\"";
18    echo "   * 2) DISTEXE_HOSTS=\$($0);";
19
20#    exit 1;
21}
22
23#-----[ distexe_env_default ]-------------------------------
24function distexe_env_default ()
25{
26    export DISTEXE_HOSTS="";
27    export DISTEXE_HOSTS="${DISTEXE_HOSTS} bip/4"      ; # serveur recherche
28    export DISTEXE_HOSTS="${DISTEXE_HOSTS} bop/4"      ; # serveur recherche
29   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} houla/8"    ; # serveur recherche
30    export DISTEXE_HOSTS="${DISTEXE_HOSTS} hop/8"      ; # serveur recherche
31    export DISTEXE_HOSTS="${DISTEXE_HOSTS} fox/2"      ; # serveur recherche
32    export DISTEXE_HOSTS="${DISTEXE_HOSTS} trot/2"     ; # serveur recherche
33   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} polka/1"    ; # serveur recherche    - réservé 
34   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} debussy/1"  ; # serveur enseignement           
35    export DISTEXE_HOSTS="${DISTEXE_HOSTS} do/2"       ; # serveur recherche               
36    export DISTEXE_HOSTS="${DISTEXE_HOSTS} re/2"       ; # serveur recherche               
37    export DISTEXE_HOSTS="${DISTEXE_HOSTS} mi/2"       ; # serveur recherche               
38    export DISTEXE_HOSTS="${DISTEXE_HOSTS} fa/2"       ; # serveur recherche               
39    export DISTEXE_HOSTS="${DISTEXE_HOSTS} fusion/2"   ; # serveur recherche               
40    export DISTEXE_HOSTS="${DISTEXE_HOSTS} heavy/1"    ; # serveur recherche               
41   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} berlioz/1"  ; # serveur enseignement - g++ 3.4.6
42    export DISTEXE_HOSTS="${DISTEXE_HOSTS} roll/1"     ; # serveur recherche               
43   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} rock/1"     ; # serveur recherche    - g++ 3.4.6
44    export DISTEXE_HOSTS="${DISTEXE_HOSTS} waller/1"   ; # desktop
45  # export DISTEXE_HOSTS="${DISTEXE_HOSTS} lin/1"      ; # desktop
46  # export DISTEXE_HOSTS="${DISTEXE_HOSTS} eric/1"     ; # desktop
47  # export DISTEXE_HOSTS="${DISTEXE_HOSTS} amouri/1"   ; # desktop
48    export DISTEXE_HOSTS="${DISTEXE_HOSTS} nemu/1"     ; # desktop
49  ##export DISTEXE_HOSTS="${DISTEXE_HOSTS} cherry/1"   ; # desktop
50  # export DISTEXE_HOSTS="${DISTEXE_HOSTS} gamoudi/1"  ; # desktop
51   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} grunge/1"   ; # desktop
52   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} mitra/1"    ; # desktop
53   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} pronky/1"   ; # desktop
54   #export DISTEXE_HOSTS="${DISTEXE_HOSTS} babylone/1" ; # desktop 
55
56    if test ${1} -eq 1; then
57        echo "${DISTEXE_HOSTS}";
58    fi;
59}
60
61#-----[ distexe_env_load ]----------------------------------
62function distexe_env_load ()
63{
64    if test -f ${distexe_env_file}; then
65        DISTEXE_HOSTS=$(cat ${distexe_env_file});
66    fi;
67}
68
69#-----[ distexe_env_save ]----------------------------------
70function distexe_env_save ()
71{
72    echo ${DISTEXE_HOSTS} > ${distexe_env_file};
73}
74
75#-----[ distexe_env_test ]----------------------------------
76function distexe_env_test ()
77{
78    local hosts="${DISTEXE_HOSTS}";
79
80    # re init DISTEXE_HOSTS
81
82    export DISTEXE_HOSTS="";
83    for line in ${hosts}; do
84        host=$(echo ${line} | cut -d/ -f1);
85
86        if test ${1} -eq 0; then
87            echo -n " * station : ${host} ... ";
88        fi;
89       
90        # ping host ...
91        ping -w 1 ${host} &> /dev/null;
92
93        if test "$?" -eq "0"; then
94            # ... if ok, reinsert
95            if test ${1} -eq 0; then
96                echo "online";
97            fi;
98            export DISTEXE_HOSTS="${DISTEXE_HOSTS} ${line}";
99        else
100            if test ${1} -eq 0; then
101                echo "offline";
102            fi;
103        fi;
104    done;
105
106    if test ${1} -eq 1; then
107        echo "${DISTEXE_HOSTS}";
108    fi;
109}
110
111#-----[ distexe_env ]---------------------------------------
112function distexe_env ()
113{
114    if test "${0}" = "$(basename ${SHELL})"; then
115        distexe_env_is_subshell=0;
116    else
117        distexe_env_is_subshell=1;
118    fi;
119   
120    local exec_distexe_env_default=0;
121    local exec_distexe_env_test=0;
122    local exec_distexe_env_save=0;
123    local exec_distexe_env_load=0;
124    local exec_distexe_env_usage=0;
125    local no_option=1;
126   
127    set -- $(getopt :sldth "$@")
128    for arg
129    do  case "$arg" in
130            -d) exec_distexe_env_default=1; no_option=0; ;;
131            -t) exec_distexe_env_test=1;    no_option=0; ;;
132            -s) exec_distexe_env_save=1;    no_option=0; ;;
133            -l) exec_distexe_env_load=1;    no_option=0; ;;
134            -h) exec_distexe_env_usage=1;   break; ;;
135            --) if test $no_option -eq 1; then
136                    exec_distexe_env_usage=1;
137                fi;
138                break;;
139        esac
140    done
141
142
143    if test $exec_distexe_env_usage -eq 1; then
144        distexe_env_usage ${*};
145       
146        if test ${distexe_env_is_subshell} -eq 1; then
147            exit 1;
148        fi;
149    else
150        if test $exec_distexe_env_default -eq 1; then
151            if test $exec_distexe_env_test    -eq 1; then
152                distexe_env_default 0;
153            else
154                distexe_env_default ${distexe_env_is_subshell};
155            fi;
156        fi;
157        if test $exec_distexe_env_load    -eq 1; then
158            distexe_env_load;
159        fi;
160        if test $exec_distexe_env_test    -eq 1; then
161            distexe_env_test ${distexe_env_is_subshell};
162        fi;
163        if test $exec_distexe_env_save   -eq 1; then
164            distexe_env_save;
165        fi;
166    fi;
167   
168    unset distexe_env_file;
169    unset distexe_env_is_subshell;
170}
171
172#-----[ Corps ]---------------------------------------------
173distexe_env ${*};
Note: See TracBrowser for help on using the repository browser.