X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/aa4c6499f0eae7992715a60875e59152f5eafe4a..896386afac0a53b642ff35bb8467791bb952559f:/teshsuite/smpi/MBI/P2PMatchingGenerator.py diff --git a/teshsuite/smpi/MBI/P2PMatchingGenerator.py b/teshsuite/smpi/MBI/P2PMatchingGenerator.py index f449148db8..a675d335cb 100755 --- a/teshsuite/smpi/MBI/P2PMatchingGenerator.py +++ b/teshsuite/smpi/MBI/P2PMatchingGenerator.py @@ -16,7 +16,7 @@ template = """// @{generatedby}@ BEGIN_MPI_FEATURES P2P!basic: @{p2pfeature}@ P2P!nonblocking: @{ip2pfeature}@ - P2P!persistent: @{persfeature}0@ + P2P!persistent: @{persfeature}@ COLL!basic: Lacking COLL!nonblocking: Lacking COLL!persistent: Lacking @@ -57,6 +57,7 @@ int main(int argc, char **argv) { @{init1}@ @{init2}@ + if (rank == 0) { @{operation1}@ /* MBIERROR1 */ @{fini1}@ @@ -65,6 +66,9 @@ int main(int argc, char **argv) { @{fini2}@ } + @{free1}@ + @{free2}@ + MPI_Finalize(); printf("Rank %d finished normally\\n", rank); return 0; @@ -79,12 +83,14 @@ for p in gen.send + gen.ssend + gen.bsend + gen.recv + gen.irecv + gen.isend: patterns['p2pfeature'] = 'Yes' if p in gen.send + gen.bsend + gen.ssend + gen.recv else 'Lacking' patterns['ip2pfeature'] = 'Yes' if p in gen.isend + gen.irecv else 'Lacking' patterns['persfeature'] = 'Lacking' - #patterns['persfeature'] = 'Yes' if p in psend + precv else 'Lacking' + # patterns['persfeature'] = 'Yes' if p in gen.psend + gen.precv else 'Lacking' patterns['p'] = p patterns['init1'] = gen.init[p]("1") patterns['init2'] = '' #gen.init[p2]("2") patterns['fini1'] = gen.fini[p]("1") patterns['fini2'] = '' #gen.fini[p2]("2") + patterns['free1'] = gen.free[p]("1") + patterns['free2'] = '' #gen.free[p]("2") patterns['operation1'] = gen.operation[p]("1") patterns['operation2'] = '' #gen.operation[p2]("2") patterns['change_cond'] = 'rank == 1' @@ -105,6 +111,7 @@ for p in gen.send + gen.ssend + gen.bsend + gen.recv + gen.irecv + gen.isend: replace['errormsg'] = 'P2P mismatch. @{p}@ at @{filename}@:@{line:MBIERROR1}@ and @{p}@ at @{filename}@:@{line:MBIERROR2}@ are not matched.' replace['operation2'] = gen.operation[p]("1") replace['fini2'] = gen.fini[p]("1") + #replace['free2'] = gen.free[p]("2") gen.make_file(template, f'CallOrdering_{p}_{p}_nok.c', replace) for s in gen.send + gen.isend + gen.ssend + gen.bsend: @@ -114,12 +121,15 @@ for s in gen.send + gen.isend + gen.ssend + gen.bsend: patterns['generatedby'] = f'DO NOT EDIT: this file was generated by {os.path.basename(sys.argv[0])}. DO NOT EDIT.' patterns['p2pfeature'] = 'Yes' if s in gen.send or r in gen.recv else 'Lacking' patterns['ip2pfeature'] = 'Yes' if s in gen.isend or r in gen.irecv else 'Lacking' + patterns['persfeature'] = 'Lacking' patterns['s'] = s patterns['r'] = r patterns['init1'] = gen.init[s]("1") patterns['init2'] = gen.init[r]("2") patterns['fini1'] = gen.fini[s]("1") patterns['fini2'] = gen.fini[r]("2") + patterns['free1'] = gen.free[s]("1") + patterns['free2'] = gen.free[r]("2") patterns['operation1'] = gen.operation[s]("1") patterns['operation2'] = gen.operation[r]("2") patterns['change_cond'] = '(rank == 1) && (its_raining)'