X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b0cb871288d741cf88f563c166c662071b8bd8e6..5843ccab4e336d47ca34f54e68760ac78d242f36:/teshsuite/smpi/MBI/CollMatchingGenerator.py diff --git a/teshsuite/smpi/MBI/CollMatchingGenerator.py b/teshsuite/smpi/MBI/CollMatchingGenerator.py index 952f85f7ad..5d72ca3f88 100755 --- a/teshsuite/smpi/MBI/CollMatchingGenerator.py +++ b/teshsuite/smpi/MBI/CollMatchingGenerator.py @@ -105,39 +105,53 @@ for c1 in gen.coll + gen.icoll + gen.ibarrier: patterns['operation2a'] = gen.operation[c2]("2") patterns['operation2b'] = gen.operation[c2]("2") patterns['change_cond'] = 'rank % 2' + shortdesc = ' collective ordering' if c1 == c2: # Generate the correct code using the same collective twice replace = patterns.copy() - replace['shortdesc'] = 'Correct collective ordering' + replace['shortdesc'] = 'Correct' + shortdesc replace['longdesc'] = f'All ranks call {c1} twice' replace['outcome'] = 'OK' replace['errormsg'] = '' + replace['change_cond'] = 'rank < nprocs' + replace['operation1b'] = '' + replace['operation2b'] = '' + replace['fini1b'] = '' + replace['fini2b'] = '' gen.make_file(template, f'CallOrdering_{c1}_{c2}_ok.c', replace) # Generate the correct code using the collective once replace = patterns.copy() - replace['shortdesc'] = 'Correct collective ordering' + replace['shortdesc'] = 'Correct' + shortdesc replace['longdesc'] = f'All ranks call {c1} once' replace['outcome'] = 'OK' replace['errormsg'] = '' replace['init2'] = '' + replace['change_cond'] = 'rank < nprocs' replace['operation2a'] = '' + replace['operation1b'] = '' replace['operation2b'] = '' replace['fini2a'] = '' + replace['fini1b'] = '' replace['fini2b'] = '' replace['free2'] = '' gen.make_file(template, f'CallOrdering_{c1}_ok.c', replace) else: # Generate the correct ordering with two different collectives replace = patterns.copy() - replace['shortdesc'] = 'Correct collective ordering' + replace['shortdesc'] = 'Correct' + shortdesc replace['longdesc'] = f'All ranks call {c1} and then {c2}' replace['outcome'] = 'OK' replace['errormsg'] = '' + replace['change_cond'] = 'rank < nprocs' + replace['operation1b'] = '' + replace['operation2b'] = '' + replace['fini1b'] = '' + replace['fini2b'] = '' gen.make_file(template, f'CallOrdering_{c1}_{c2}_ok.c', replace) # Generate the incorrect ordering with two different collectives replace = patterns.copy() - replace['shortdesc'] = 'Incorrect collective ordering' + replace['shortdesc'] = 'Incorrect' + shortdesc replace['longdesc'] = f'Odd ranks call {c1} and then {c2} while even ranks call these collectives in the other order' replace['outcome'] = 'ERROR: CallMatching' replace['errormsg'] = 'Collective mistmatch. @{c1}@ at @{filename}@:@{line:MBIERROR1}@ is matched with @{c2}@ line @{filename}@:@{line:MBIERROR2}@.' @@ -154,7 +168,7 @@ for c1 in gen.coll + gen.icoll + gen.ibarrier: # Generate the incorrect ordering with one collective replace = patterns.copy() - replace['shortdesc'] = 'Incorrect collective ordering' + replace['shortdesc'] = 'Incorrect' + shortdesc replace['longdesc'] = f'Odd ranks call {c1} while even ranks do not call any collective' replace['outcome'] = 'ERROR: CallMatching' replace['errormsg'] = 'Collective mistmatch. @{c1}@ at @{filename}@:@{line:MBIERROR1}@ is not matched.' @@ -170,11 +184,11 @@ for c1 in gen.coll + gen.icoll + gen.ibarrier: gen.make_file(template, f'CallOrdering_{c1}_none_nok.c', replace) # Generate a correct ordering with a conditional not depending on ranks replace = patterns.copy() - replace['shortdesc'] = 'Correct collective ordering' + replace['shortdesc'] = 'Correct' + shortdesc replace['longdesc'] = f'All ranks call {c1}' replace['outcome'] = 'OK' replace['errormsg'] = '' - replace['change_cond'] = 'nprocs<256' + replace['change_cond'] = 'rank < nprocs' replace['operation1b'] = '' # Remove functions replace['operation2b'] = '' replace['operation2a'] = ''