X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/342490f7aa81a13bb9f12c11588566674179b71d..f1a4e4babeebd3e2aacb699273f6abb1a643e51d:/teshsuite/smpi/MBI/simgrid.py?ds=sidebyside diff --git a/teshsuite/smpi/MBI/simgrid.py b/teshsuite/smpi/MBI/simgrid.py index ec8911a70c..907abc880b 100644 --- a/teshsuite/smpi/MBI/simgrid.py +++ b/teshsuite/smpi/MBI/simgrid.py @@ -3,9 +3,10 @@ import re import os -from MBIutils import * +import subprocess +import MBIutils as mbi -class Tool(AbstractTool): +class Tool(mbi.AbstractTool): def identify(self): return "SimGrid wrapper" @@ -30,15 +31,15 @@ class Tool(AbstractTool): os.chdir(here) - def ensure_image(self): - AbstractTool.ensure_image(self, "-x simgrid") + def ensure_image(self, params=None, dockerparams=None): + mbi.AbstractTool.ensure_image(self, "-x simgrid") def setup(self, rootdir): os.environ['PATH'] = os.environ['PATH'] + ":" + rootdir + "/builds/SimGrid/bin" os.environ['VERBOSE'] = '1' - def run(self, execcmd, filename, binary, id, timeout, batchinfo): - cachefile = f'{binary}_{id}' + def run(self, execcmd, filename, binary, num_id, timeout, batchinfo): + cachefile = f'{binary}_{num_id}' if not os.path.exists("cluster.xml"): with open('cluster.xml', 'w') as outfile: @@ -48,13 +49,13 @@ class Tool(AbstractTool): outfile.write(' \n') outfile.write('\n') - execcmd = execcmd.replace("mpirun", "smpirun -wrapper simgrid-mc -platform ./cluster.xml -analyze --cfg=smpi/finalization-barrier:on --cfg=smpi/list-leaks:10 --cfg=model-check/max-depth:10000 --cfg=smpi/pedantic:true") + execcmd = execcmd.replace("mpirun", "smpirun -wrapper simgrid-mc -platform ./cluster.xml -analyze --cfg=smpi/barrier-finalization:on --cfg=smpi/list-leaks:10 --cfg=model-check/max-depth:10000") execcmd = execcmd.replace('${EXE}', binary) execcmd = execcmd.replace('$zero_buffer', "--cfg=smpi/buffering:zero") execcmd = execcmd.replace('$infty_buffer', "--cfg=smpi/buffering:infty") - run_cmd( - buildcmd=f"smpicc {filename} -trace-call-location -g -Wl,-znorelro -Wl,-znoseparate-code -o {binary}", + mbi.run_cmd( + buildcmd=f"smpicc {filename} -trace-call-location -g -o {binary}", execcmd=execcmd, cachefile=cachefile, filename=filename, @@ -63,8 +64,8 @@ class Tool(AbstractTool): batchinfo=batchinfo) def teardown(self): - subprocess.run("find -type f -a -executable | xargs rm -f", shell=True, check=True) # Remove generated cruft (binary files) - subprocess.run("rm -f smpitmp-* core", shell=True, check=True) + subprocess.run("find -type f -a -executable -exec rm -f {} +", shell=True, check=True) # Remove generated cruft (binary files) + subprocess.run("rm -f smpitmp-* core", shell=True, check=True) def parse(self, cachefile): if os.path.exists(f'{cachefile}.timeout') or os.path.exists(f'logs/simgrid/{cachefile}.timeout'): @@ -75,7 +76,7 @@ class Tool(AbstractTool): with open(f'{cachefile}.txt' if os.path.exists(f'{cachefile}.txt') else f'logs/simgrid/{cachefile}.txt', 'r') as infile: output = infile.read() - if re.search('Compilation of .*? raised an error \(retcode: ', output): + if re.search(r'Compilation of .*? raised an error \(retcode: ', output): return 'UNIMPLEMENTED' if re.search('MBI_MSG_RACE', output): @@ -100,7 +101,7 @@ class Tool(AbstractTool): if re.search('DFS exploration ended.', output): return 'OK' - print (f">>>>[ INCONCLUSIVE ]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ({cachefile})") + print(f">>>>[ INCONCLUSIVE ]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ({cachefile})") print(output) - print ("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<") + print("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<") return 'other'