source: BOL/script_install_amaury/test_compils.sh @ 4914

Last change on this file since 4914 was 4914, checked in by abarral, 4 weeks ago

Move fetching orch and lmdz earlier in the code
Allow lmdz version switch
Add check for lmdz version if orch in parallel
Remove explicit pgf90/ifort support
Add lmdz version to tests

  • Property svn:executable set to *
File size: 1.9 KB
Line 
1#!/bin/bash
2# Test LMDZ compilation in various situations
3
4set -eu
5
6mkdir -p test_logs
7
8function do_one_test {
9    # Perform one test, if the log file doesn't already exist
10
11    # Create test args
12    args="-arch_dir arch_local -arch local-gfortran"
13    if [[ ! $parallel = "none" ]]; then
14        args="$args-parallel"
15    fi
16    args="$args -rad $rad -parallel $parallel -netcdf 0 -veget $veget $xios $lmdzrev"
17    # trim
18    args=$(echo "$args" | xargs)
19
20    logfile="test_logs/$args.out"
21    if [[ -f $logfile ]]; then return; fi
22    echo "Testing $args"
23    rm -rf LMDZ
24
25
26    # shellcheck disable=SC2086
27    if ! ./install_lmdz.sh -name LMDZ $args > "$logfile" 2>&1; then
28        # Check bench success if bench
29        if (grep -q "EXECUTION DU BENCH" < "$logfile") && (! grep -q "Everything is cool" < "$logfile"); then
30            echo "/!\\ Bench FAILED /!\\"
31        else
32            echo "/!\\ Install FAILED /!\\"
33        fi
34    fi
35}
36
37function run_all_tests {
38    for parallel in "none" "mpi_omp"; do
39    for rad in "oldrad" "rrtm"; do
40    for veget in "none" "orch2.0" "orch2.2"; do
41    for xios in "" "-xios"; do
42    if [[ $xios = "-xios" && $parallel = "none" ]]; then continue; fi
43    for lmdzrev in "" "-r 4894"; do
44        do_one_test
45    done
46    done
47    done
48    done
49    done
50}
51
52function display_results {
53    cd "test_logs"
54    echo "Success=o, Failure=XXX"
55    echo "INSTALL  BENCH  NAME"
56    for fname in *; do
57        if [[ $(tail -n 1 -- "$fname") = " Everything is cool" ]]; then
58            echo "   o       o    $fname"
59        else
60            if grep -q "EXECUTION DU BENCH" < "$fname"; then
61                echo "   o      XXX   $fname"
62            else
63                echo "  XXX           $fname"
64            fi
65        fi
66    done
67}
68
69skip_tests=""
70while (($# > 0)); do
71    case $1 in
72        "-s") skip_tests="y"; shift;;
73    esac
74done
75
76if [[ -z $skip_tests ]]; then run_all_tests; fi
77display_results
Note: See TracBrowser for help on using the repository browser.