[1844] | 1 | #!/bin/bash |
---|
| 2 | |
---|
| 3 | source ../ARCH/arch-${arch}.env |
---|
| 4 | cd .. ; source load_env ; 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 | |
---|