1 | #!/bin/bash |
---|
2 | |
---|
3 | source ../ARCH/arch-${arch}.env |
---|
4 | cd .. ; source load_env_local ; cd RUN_TEST_SUITE |
---|
5 | |
---|
6 | export machine_name=$xios_machine_name |
---|
7 | export machine_full_name=$xios_full_machine_name |
---|
8 | export xios_dir=$(bash -c "cd ../.. && pwd" 2>&1) |
---|
9 | |
---|
10 | export reference_file=xios_reference.tar.gz |
---|
11 | export reference_folder=xios_reference |
---|
12 | |
---|
13 | export build_dir=xios_test_suite/RUN_TEST_SUITE/build_${arch}_${mode} |
---|
14 | export xios_revision=$(svn info --show-item revision ../.. 2>&1) |
---|
15 | export relurl=$(svn info --show-item relative-url ../.. 2>&1) |
---|
16 | |
---|
17 | |
---|
18 | set -x |
---|
19 | |
---|
20 | echo "Start Building XIOS ... " |
---|
21 | bash -c "cd ../.. && ./make_xios --arch_path `pwd`/../ARCH --arch ${arch} --${mode} --build_dir ${build_dir} --job 16 &> /dev/null" |
---|
22 | export build_status=$? |
---|
23 | if [[ ${build_status} == 0 ]] |
---|
24 | then |
---|
25 | echo "XIOS Build Finished. Start Unit Tests" |
---|
26 | else |
---|
27 | echo "XIOS Build Failed. Skip Unit Tests" |
---|
28 | fi |
---|
29 | |
---|
30 | #----------- Fetch reference ----------- |
---|
31 | cp ${xios_reference_dir}/${reference_file} ./ |
---|
32 | tar -xzvf ${reference_file} |
---|
33 | |
---|
34 | rm -f ${reference_file} |
---|
35 | |
---|
36 | for i in $(ls ${reference_folder}/) |
---|
37 | do |
---|
38 | folder=${i%%} |
---|
39 | bash -c "cd ${folder} && rm -rf config_*" |
---|
40 | bash -c "cp -r ${reference_folder}/${folder}/config_* ./${folder}" |
---|
41 | done |
---|
42 | |
---|
43 | rm -rf ${reference_folder} |
---|
44 | |
---|
45 | |
---|
46 | rm -f plain_report.txt |
---|
47 | |
---|
48 | echo "#revision" ${xios_revision} >> plain_report.txt |
---|
49 | echo "#relurl" ${relurl} >> plain_report.txt |
---|
50 | echo "#machine" ${machine_name} >> plain_report.txt |
---|
51 | echo "#build_dir" ${xios_dir}/${build_dir} >> plain_report.txt |
---|
52 | echo "#arch" ${arch} >> plain_report.txt |
---|
53 | echo "#mode" ${mode} >> plain_report.txt |
---|
54 | |
---|
55 | if [[ ${build_status} == 0 ]] |
---|
56 | then |
---|
57 | |
---|
58 | rm -f setup.sh |
---|
59 | touch setup.sh |
---|
60 | >setup.sh |
---|
61 | for i in $(ls -d test_*/) |
---|
62 | do |
---|
63 | cp setup.py ${i%%/} |
---|
64 | cp default_param.json ${i%%/} |
---|
65 | cp param_list.py ${i%%/} |
---|
66 | cp run_sub_test.sh ${i%%/} |
---|
67 | echo "bash -c \"cd " ${i%%/} " && python setup.py\" ">> setup.sh |
---|
68 | echo "echo \"setup.py called from " ${i%%/} "\"">> setup.sh |
---|
69 | done |
---|
70 | |
---|
71 | export output=$(python user_config.py 2>&1 >/dev/null) |
---|
72 | |
---|
73 | if [ "$output" -ne 0 ] |
---|
74 | then |
---|
75 | echo "user_config.py failed" |
---|
76 | exit |
---|
77 | else |
---|
78 | echo "user_config.py OK" |
---|
79 | fi |
---|
80 | |
---|
81 | |
---|
82 | cmake . |
---|
83 | ctest -V |
---|
84 | #ctest --output-on-failure |
---|
85 | make report |
---|
86 | |
---|
87 | rm -f test_*/setup.py |
---|
88 | rm -f test_*/run_sub_test.sh |
---|
89 | rm -f test_*/run_test_*.py |
---|
90 | rm -f test_*/CMakeLists.txt |
---|
91 | rm -f test_*/context_grid_dynamico.xml |
---|
92 | rm -f test_*/dynamico_grid.nc |
---|
93 | rm -f test_*/default_param.pyc |
---|
94 | rm -f test_*/user_param.pyc |
---|
95 | rm -f test_*/user_param.py.* |
---|
96 | |
---|
97 | rundir=${xios_test_suite_repository}/RUN |
---|
98 | mkdir -p $rundir ; CHMOD $rundir |
---|
99 | mkdir -p ${rundir}/test_${machine_name} ; CHMOD ${rundir}/test_${machine_name} |
---|
100 | |
---|
101 | cp plain_report.txt ${rundir}/test_${machine_name}/test_${xios_revision}_${machine_name}_${arch}_${mode}.txt |
---|
102 | CHMOD ${rundir}/test_${machine_name}/test_${xios_revision}_${machine_name}_${arch}_${mode}.txt |
---|
103 | |
---|
104 | mkdir -p ${rundir}/def_files ; CHMOD ${rundir}/RUN/def_files |
---|
105 | mkdir -p ${rundir}/def_files/${xios_revision} ; CHMOD ${rundir}/def_files/${xios_revision} |
---|
106 | |
---|
107 | for i in $(ls -d test_*/) |
---|
108 | do |
---|
109 | mkdir -p ${rundir}/def_files/${xios_revision}/${i%%} |
---|
110 | cp ${i%%}/user_param.json ${rundir}/def_files/${xios_revision}/${i%%} |
---|
111 | for j in $(ls -d ${i%%/}/config_*) |
---|
112 | do |
---|
113 | mkdir -p ${rundir}/def_files/${xios_revision}/${j%%} |
---|
114 | cp ${j%%}/setup/all_param.def ${rundir}/def_files/${xios_revision}/${j%%} |
---|
115 | done |
---|
116 | CHMOD ${rundir}/def_files |
---|
117 | done |
---|
118 | |
---|
119 | fi |
---|
120 | |
---|