Changeset 2281
- Timestamp:
- 01/07/22 15:18:07 (2 years ago)
- Location:
- XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite
- Files:
-
- 5 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/ARCH/arch-X64_IRENE.fcm
r1803 r2281 8 8 9 9 %BASE_CFLAGS -std=c++11 -diag-disable 1125 -diag-disable 279 -D__XIOS_EXCEPTION 10 %PROD_CFLAGS -O3 - D BOOST_DISABLE_ASSERTS10 %PROD_CFLAGS -O3 -g -D BOOST_DISABLE_ASSERTS 11 11 #%DEV_CFLAGS -g -traceback 12 12 %DEV_CFLAGS -g … … 14 14 15 15 %BASE_FFLAGS -D__NONE__ 16 %PROD_FFLAGS -O3 16 %PROD_FFLAGS -O3 -g 17 17 #%DEV_FFLAGS -g -traceback 18 18 %DEV_FFLAGS -g -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/my_run.sh
r2210 r2281 8 8 9 9 fn=report_${svnR}_${arch}_${mode}.txt 10 echo "#revision" ${svnR} > ${fn}11 echo "#url" ${svnurl} >> ${fn}12 echo "#machine" ${xios_machine_name} >> ${fn}13 echo "#build_dir" $(pwd)/build_${arch}_${mode} >> ${fn}14 echo "#arch" $arch >> ${fn}15 echo "#mode" $mode >> ${fn}16 10 11 if [ -z ${enable_mem_track+x} ]; then 12 #Â initialize the report for the main part of the test (without memory tracking, see step2.py for details) 13 echo "#revision" ${svnR} > ${fn} 14 echo "#url" ${svnurl} >> ${fn} 15 echo "#machine" ${xios_machine_name} >> ${fn} 16 echo "#build_dir" $(pwd)/build_${arch}_${mode} >> ${fn} 17 echo "#arch" $arch >> ${fn} 18 echo "#mode" $mode >> ${fn} 19 else 20 if [ ! -f "$fn" ]; then 21 # initialize the report if it does not exist 22 echo "#revision" ${svnR} > ${fn} 23 echo "#url" ${svnurl} >> ${fn} 24 echo "#machine" ${xios_machine_name} >> ${fn} 25 echo "#build_dir" $(pwd)/build_${arch}_${mode} >> ${fn} 26 echo "#arch" $arch >> ${fn} 27 echo "#mode" $mode >> ${fn} 28 echo "#memtrack full" >> ${fn} 29 fi 30 # else write in the same report 31 fi 17 32 18 33 ${PYTHON} step1.py -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/run_test
r2272 r2281 3 3 export build_dir=xios_test_suite/RUN_TEST_SUITE/build_${arch}_${mode} 4 4 export svnR=$(svn info --show-item revision ../../) 5 if [[ -v enable_mem_track ]]; then 6 echo "enable_mem_track is set to '$enable_mem_track'" 7 fi 5 8 6 9 echo "Start Building XIOS ... " … … 54 57 echo "#MSUB -m work,scratch" >> compile.sh 55 58 echo "cd ../.. ">> compile.sh 56 echo "./make_xios --arch_path `pwd`/../ARCH --arch ${arch} --${mode} --use_tv --build_dir ${build_dir} --job 16" >> compile.sh59 echo "./make_xios --arch_path `pwd`/../ARCH --arch ${arch} --${mode} --use_tv ${enable_mem_track} --build_dir ${build_dir} --job 16" >> compile.sh 57 60 cmd=$(ccc_msub compile.sh) 58 61 jobid="${cmd//[!0-9]/}" -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/run_test_irene
r2197 r2281 13 13 14 14 15 # Must be run after main (X64_IRENE, prod) test to append in the same report 16 export arch=X64_IRENE 17 export mode=prod 18 export enable_mem_track="--memtrack full" 19 20 bash ./run_test 21 22 15 23 #export arch=X64_IRENE 16 24 #export mode=debug -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/step1.py
r2272 r2281 12 12 mode=os.getenv("mode") 13 13 arch=os.getenv("arch") 14 enable_mem_track=os.getenv("enable_mem_track") 14 15 machine=os.getenv("xios_machine_name") 15 16 svnR=os.getenv("svnR") … … 176 177 177 178 for test_folder in test_folder_list: 179 # check if test concerns xios features (NetCDF), or memory consumption (mem files) 180 files_list="" 181 flist = open(test_folder+"/checkfile.def", 'r') 182 files_list = flist.read() 183 flist.close() 184 if ( enable_mem_track==None ) and ( not('.mem' in files_list) ) : 185 print( "test_folder = ", test_folder, " : launch std run") 186 elif ( enable_mem_track=='--memtrack full' ) and ( '.mem' in files_list ) : 187 print( "test_folder = ", test_folder, " : launch mem run") 188 else : 189 continue 190 178 191 config_list=[] 179 192 config_name=[] -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/step2.py
r2231 r2281 13 13 mode=os.getenv("mode") 14 14 arch=os.getenv("arch") 15 enable_mem_track=os.getenv("enable_mem_track") 15 16 svnr=os.getenv("svnR") 16 17 ref_location=os.getenv("ref_location") … … 73 74 74 75 for test_folder in test_folder_list: 76 report_filename="" 77 # check if test concerns xios features (NetCDF), or memory consumption (mem files) 78 files_list="" 79 flist = open(test_folder+"/checkfile.def", 'r') 80 files_list = flist.read() 81 flist.close() 82 if ( enable_mem_track==None ) and ( not('.mem' in files_list) ) : 83 report_filename = "report_"+svnr+"_"+arch+"_"+mode+".txt" 84 elif ( enable_mem_track=='--memtrack full' ) and ( '.mem' in files_list ) : 85 #report_filename = "report_"+svnr+"_"+arch+"_"+mode+"_memtrack.txt" 86 # -> use same report that for feature test 87 report_filename = "report_"+svnr+"_"+arch+"_"+mode+".txt" 88 else : 89 continue 90 75 91 config_list = glob.glob(test_folder+"/CONFIG_*") 76 92 … … 79 95 checkfiles = list(nonblank_lines(fh)) 80 96 81 with open( "report_"+svnr+"_"+arch+"_"+mode+".txt", "a") as report:97 with open(report_filename, "a") as report: 82 98 for config in config_list: 83 99 folder_name = list(config.split("/"))[0] … … 85 101 for checkfile in checkfiles: 86 102 if os.path.exists(config+"/"+checkfile) and os.path.exists("reference/ref_"+config+"/"+checkfile): 87 #OSinfo("cdo -W diffn "+config+"/"+checkfile+" "+"reference/ref_"+config+"/"+checkfile+" 2>&1 |grep -v 'Found more than one time variable'|grep -v 'cdo diffn: Processed'|grep -v 'cdo diffn: Processed'|grep -v 'Time variable >time_counter< not found!' > diff_"+checkfile+".txt") 88 #if os.stat("diff_"+checkfile+".txt").st_size==0: # if no diff -> set 0 89 # report.write(folder_name+" "+folder_name+"@"+config_name+" "+folder_name+"@"+config_name+"@"+checkfile+" "+str(1)+"\n") 90 #else: # if cdo diffn returns diff -> set -1 91 # report.write(folder_name+" "+folder_name+"@"+config_name+" "+folder_name+"@"+config_name+"@"+checkfile+" "+str(-1)+"\n") 92 ref = Dataset( "reference/ref_"+config+"/"+checkfile ) 93 res = Dataset( config+"/"+checkfile ) 94 validated = 1 95 np.seterr(divide='ignore', invalid='ignore') 96 for var in res.variables: 97 if (not (var.startswith('lon_'))) and (not (var.startswith('lat_'))) and (not (var.startswith('time_'))) and (not (var.startswith('atm__'))): 98 ref_interp = ref.variables[var] 99 ref_array = ref_interp[:] 100 res_interp = res.variables[var] 101 res_array = res_interp[:] 102 if (res_array.shape == ref_array.shape): 103 diff = np.zeros_like( ref_array ) 104 np.divide(ref_array-res_array,ref_array,diff,where=(ref_array[:]>10**-15)) 105 if ( np.max(np.abs(diff)) > 1*10**-9 ): 103 if ( enable_mem_track==None ) and ( not('.mem' in files_list) ): # NetCDF 104 #OSinfo("cdo -W diffn "+config+"/"+checkfile+" "+"reference/ref_"+config+"/"+checkfile+" 2>&1 |grep -v 'Found more than one time variable'|grep -v 'cdo diffn: Processed'|grep -v 'cdo diffn: Processed'|grep -v 'Time variable >time_counter< not found!' > diff_"+checkfile+".txt") 105 #if os.stat("diff_"+checkfile+".txt").st_size==0: # if no diff -> set 0 106 # report.write(folder_name+" "+folder_name+"@"+config_name+" "+folder_name+"@"+config_name+"@"+checkfile+" "+str(1)+"\n") 107 #else: # if cdo diffn returns diff -> set -1 108 # report.write(folder_name+" "+folder_name+"@"+config_name+" "+folder_name+"@"+config_name+"@"+checkfile+" "+str(-1)+"\n") 109 ref = Dataset( "reference/ref_"+config+"/"+checkfile ) 110 res = Dataset( config+"/"+checkfile ) 111 validated = 1 112 np.seterr(divide='ignore', invalid='ignore') 113 for var in res.variables: 114 if (not (var.startswith('lon_'))) and (not (var.startswith('lat_'))) and (not (var.startswith('time_'))) and (not (var.startswith('atm__'))): 115 ref_interp = ref.variables[var] 116 ref_array = ref_interp[:] 117 res_interp = res.variables[var] 118 res_array = res_interp[:] 119 if (res_array.shape == ref_array.shape): 120 diff = np.zeros_like( ref_array ) 121 np.divide(ref_array-res_array,ref_array,diff,where=(ref_array[:]>10**-15)) 122 if ( np.max(np.abs(diff)) > 1*10**-9 ): 123 validated = -1 124 diff = np.zeros_like( ref_array ) 125 np.divide(ref_array-res_array,res_array,diff,where=(ref_array[:]>10**-15)) 126 if ( np.max(np.abs(diff)) > 1*10**-9 ): 127 validated = -1 128 else: 106 129 validated = -1 107 diff = np.zeros_like( ref_array ) 108 np.divide(ref_array-res_array,res_array,diff,where=(ref_array[:]>10**-15)) 109 if ( np.max(np.abs(diff)) > 1*10**-9 ): 110 validated = -1 111 else: 112 validated = -1 113 report.write(folder_name+" "+folder_name+"@"+config_name+" "+folder_name+"@"+config_name+"@"+checkfile+" "+str(validated)+"\n") 130 report.write(folder_name+" "+folder_name+"@"+config_name+" "+folder_name+"@"+config_name+"@"+checkfile+" "+str(validated)+"\n") 131 132 elif ( enable_mem_track=='--memtrack full' ) and ( '.mem' in files_list ) : # mem file 133 validated = 1 134 OSinfo("diff "+config+"/"+checkfile+" "+"reference/ref_"+config+"/"+checkfile+" 2>&1 > diff_"+checkfile+".txt") 135 if os.stat("diff_"+checkfile+".txt").st_size==0: # if no diff -> set 0 136 validated = 1 137 else: # if diff returns diff -> set -1 138 validated = -1 139 report.write(folder_name+" "+folder_name+"@"+config_name+" "+folder_name+"@"+config_name+"@"+checkfile+" "+str(validated)+"\n") 114 140 115 141 elif os.path.exists(config+"/"+checkfile): # if no ref file -> set 0 -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/generate_ref.sh
r1909 r2281 5 5 W_DIR=RUN_TEST_SUITE 6 6 NC_FILE=*.nc 7 MEM_FILE=*.mem 7 8 REF_TAR=reference.tar.gz 8 9 … … 15 16 do 16 17 mkdir -p ${REF}/${REF_PREFIX}${test_config%%} 17 cp ${W_DIR}/${test_config%%}/${NC_FILE} ${REF}/${REF_PREFIX}${test_config%%}18 cp ${W_DIR}/${test_config%%}/${NC_FILE} ${W_DIR}/${test_config%%}/${MEM_FILE} ${REF}/${REF_PREFIX}${test_config%%} 18 19 done 19 20 done
Note: See TracChangeset
for help on using the changeset viewer.