Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[MBI] Import generator_utils as gen.
[simgrid.git] / teshsuite / smpi / MBI / P2PComGenerator.py
index 1179650..e15c74d 100755 (executable)
@@ -1,7 +1,7 @@
 #! /usr/bin/python3
 import os
 import sys
-from generator_utils import *
+import generator_utils as gen
 
 template = """// @{generatedby}@
 /* ///////////////////////// The MPI Bugs Initiative ////////////////////////
@@ -81,27 +81,27 @@ int main(int argc, char **argv) {
 """
 
 
-for p1 in send + isend + psend:
-    for p2 in recv + irecv + precv:
+for p1 in gen.send + gen.isend + gen.psend:
+    for p2 in gen.recv + gen.irecv + gen.precv:
         patterns = {}
         patterns = {'p1': p1, 'p2': p2}
         patterns['origin'] = "MBI"
         patterns['generatedby'] = f'DO NOT EDIT: this file was generated by {os.path.basename(sys.argv[0])}. DO NOT EDIT.'
-        patterns['p2pfeature'] = 'Yes' if p1 in send or p2 in recv  else 'Lacking'
-        patterns['ip2pfeature'] = 'Yes' if p1 in isend or p2 in irecv  else 'Lacking'
-        patterns['persfeature'] = 'Yes' if p1 in psend or p2 in precv  else 'Lacking'
+        patterns['p2pfeature'] = 'Yes' if p1 in gen.send or p2 in gen.recv  else 'Lacking'
+        patterns['ip2pfeature'] = 'Yes' if p1 in gen.isend or p2 in gen.irecv  else 'Lacking'
+        patterns['persfeature'] = 'Yes' if p1 in gen.psend or p2 in gen.precv  else 'Lacking'
         patterns['p1'] = p1
         patterns['p2'] = p2
-        patterns['init1'] = init[p1]("1")
-        patterns['init2'] = init[p2]("2")
-        patterns['start1'] = start[p1]("1")
-        patterns['start2'] = start[p2]("2")
-        patterns['fini1'] = fini[p1]("1")
-        patterns['fini2'] = fini[p2]("2")
-        patterns['operation1'] = operation[p1]("1") #send
-        patterns['operation2'] = operation[p2]("2") #recv
-        patterns['free1'] = free[p1]("1")
-        patterns['free2'] = free[p2]("2")
+        patterns['init1'] = gen.init[p1]("1")
+        patterns['init2'] = gen.init[p2]("2")
+        patterns['start1'] = gen.start[p1]("1")
+        patterns['start2'] = gen.start[p2]("2")
+        patterns['fini1'] = gen.fini[p1]("1")
+        patterns['fini2'] = gen.fini[p2]("2")
+        patterns['operation1'] = gen.operation[p1]("1") #send
+        patterns['operation2'] = gen.operation[p2]("2") #recv
+        patterns['free1'] = gen.free[p1]("1")
+        patterns['free2'] = gen.free[p2]("2")
         patterns['change_srcdest'] = ""
 
         # Generate the incorrect matching
@@ -111,7 +111,7 @@ for p1 in send + isend + psend:
         replace['outcome'] = 'ERROR: CommunicatorMatching'
         replace['errormsg'] = 'P2P Communicator mismatch. @{p1}@ at @{filename}@:@{line:MBIERROR1}@ and @{p2}@ at @{filename}@:@{line:MBIERROR2}@ have newcom or MPI_COMM_WORLD as a communicator.'
         replace['change_com'] = 'if (rank==0)\n    newcom = MPI_COMM_WORLD; /* MBIERROR */'
-        make_file(template, f'ParamMatching_Com_{p1}_{p2}_nok.c', replace)
+        gen.make_file(template, f'ParamMatching_Com_{p1}_{p2}_nok.c', replace)
 
         # Generate the code with an invalid communicator
         replace = patterns
@@ -120,7 +120,7 @@ for p1 in send + isend + psend:
         replace['outcome'] = 'ERROR: InvalidCommunicator'
         replace['errormsg'] = 'Invalid Communicator. @{p1}@ at @{filename}@:@{line:MBIERROR1}@ and @{p2}@ at @{filename}@:@{line:MBIERROR2}@ use a communicator that is freed line @{line:MBIERROR}@.'
         replace['change_com'] = 'MPI_Comm_free(&newcom);  /* MBIERROR */'
-        make_file(template, f'InvalidParam_Com_{p1}_{p2}_nok.c', replace)
+        gen.make_file(template, f'InvalidParam_Com_{p1}_{p2}_nok.c', replace)
 
         #  Generate the code with an invalid communicator ==> TO CHECK
         #replace = patterns
@@ -130,7 +130,7 @@ for p1 in send + isend + psend:
        # replace['errormsg'] = 'Invalid Communicator. @{p1}@ at @{filename}@:@{line:MBIERROR1}@ and @{p2}@ at @{filename}@:@{line:MBIERROR2}@ use different communicators'
        # replace['origin'] = "MPI-Corrbench"
        # replace['change_com'] = ""
-       # make_file(template, f'InvalidParam_Com_{p1}_{p2}_nok.c', replace)
+       # gen.make_file(template, f'InvalidParam_Com_{p1}_{p2}_nok.c', replace)
 
         # Generate the code with an invalid dest
         replace = patterns
@@ -141,7 +141,7 @@ for p1 in send + isend + psend:
         replace['errormsg'] = 'InvalidSrcDest. @{p1}@ at @{filename}@:@{line:MBIERROR1}@ performs a send with a dest not in communicator (dest is changed line @{line:MBIERROR}@).'
         replace['change_com'] = ""
         replace['change_srcdest'] = 'dest=4; /* MBIERROR */'
-        make_file(template, f'InvalidParam_Dest_{p1}_{p2}_nok.c', replace)
+        gen.make_file(template, f'InvalidParam_Dest_{p1}_{p2}_nok.c', replace)
 
         # Generate the code with an invalid src
         replace = patterns
@@ -150,4 +150,4 @@ for p1 in send + isend + psend:
         replace['outcome'] = 'ERROR: InvalidSrcDest'
         replace['errormsg'] = 'InvalidSrcDest. @{p2}@ at @{filename}@:@{line:MBIERROR2}@ performs a recv with a negative integer as source (src is changed line @{line:MBIERROR}@).'
         replace['change_srcdest'] = 'src=-1; /* MBIERROR */'
-        make_file(template, f'InvalidParam_Src_{p1}_{p2}_nok.c', replace)
+        gen.make_file(template, f'InvalidParam_Src_{p1}_{p2}_nok.c', replace)