1#!/usr/bin/env python
2#   (C) 2001 by Argonne National Laboratory.
3#       See COPYRIGHT in top-level directory.
4#
5# Note that I repeat code for each test just in case I want to
6# run one separately.  I can simply copy it out of here and run it.
7# A single test can typically be chgd simply by altering its value(s)
8# for one or more of:
9#     PYEXT, NMPDS, HFILE
10
11import os, sys, commands
12sys.path += [os.getcwd()]  # do this once
13
14print "mpi tests---------------------------------------------------"
15
16clusterHosts = [ 'bp4%02d' % (i)  for i in range(0,8) ]
17print "clusterHosts=", clusterHosts
18
19MPIDir = "/home/rbutler/mpich2"
20
21# test: cpi
22print "TEST cpi"
23PYEXT = '.py'
24NMPDS = 1
25HFILE = 'temph'
26import os,socket
27from mpdlib import MPDTest
28mpdtest = MPDTest()
29os.environ['MPD_CON_EXT'] = 'testing'
30os.system("mpdallexit%s 1> /dev/null 2> /dev/null" % (PYEXT) )
31os.system("mpdboot%s -1 -f %s -n %d" % (PYEXT,HFILE,NMPDS) )
32expout = ['Process 0 of 3','Process 1 of 3','Process 2 of 3']
33rv = mpdtest.run(cmd="mpiexec%s -n 3 %s/examples/cpi" % (PYEXT,MPIDir),
34                 grepOut=1, expOut=expout )
35os.system("mpdallexit%s 1> /dev/null 2> /dev/null" % (PYEXT) )
36
37# test: spawn1
38print "TEST spawn1"
39PYEXT = '.py'
40NMPDS = 1
41HFILE = 'temph'
42import os,socket
43from mpdlib import MPDTest
44mpdtest = MPDTest()
45os.environ['MPD_CON_EXT'] = 'testing'
46os.system("mpdallexit%s 1> /dev/null 2> /dev/null" % (PYEXT) )
47os.system("mpdboot%s -1 -f %s -n %d" % (PYEXT,HFILE,NMPDS) )
48expout = ['No Errors']
49olddir = os.getcwd()
50os.chdir('%s/test/mpi/spawn' % (MPIDir))
51rv = mpdtest.run(cmd="%s/mpiexec%s -n 1 spawn1" % (olddir,PYEXT),  # -n 1
52                 grepOut=1, expOut=expout )
53os.chdir(olddir)
54os.system("mpdallexit%s 1> /dev/null 2> /dev/null" % (PYEXT) )
55
56# test: spawn2
57print "TEST spawn2"
58PYEXT = '.py'
59NMPDS = 1
60HFILE = 'temph'
61import os,socket
62from mpdlib import MPDTest
63mpdtest = MPDTest()
64os.environ['MPD_CON_EXT'] = 'testing'
65os.system("mpdallexit%s 1> /dev/null 2> /dev/null" % (PYEXT) )
66os.system("mpdboot%s -1 -f %s -n %d" % (PYEXT,HFILE,NMPDS) )
67expout = ['No Errors']
68olddir = os.getcwd()
69os.chdir('%s/test/mpi/spawn' % (MPIDir))
70rv = mpdtest.run(cmd="%s/mpiexec%s -n 1 spawn2" % (olddir,PYEXT),  # -n 1
71                 grepOut=1, expOut=expout )
72os.chdir(olddir)
73os.system("mpdallexit%s 1> /dev/null 2> /dev/null" % (PYEXT) )
74
75# test: spawnmult2
76print "TEST spawnmult2"
77PYEXT = '.py'
78NMPDS = 1
79HFILE = 'temph'
80import os,socket
81from mpdlib import MPDTest
82mpdtest = MPDTest()
83os.environ['MPD_CON_EXT'] = 'testing'
84os.system("mpdallexit%s 1> /dev/null 2> /dev/null" % (PYEXT) )
85os.system("mpdboot%s -1 -f %s -n %d" % (PYEXT,HFILE,NMPDS) )
86expout = ['No Errors']
87olddir = os.getcwd()
88os.chdir('%s/test/mpi/spawn' % (MPIDir))
89rv = mpdtest.run(cmd="%s/mpiexec%s -n 2 spawnmult2" % (olddir,PYEXT),  # -n 2
90                 grepOut=1, expOut=expout )
91os.chdir(olddir)
92os.system("mpdallexit%s 1> /dev/null 2> /dev/null" % (PYEXT) )
93
94# test: spawnargv
95print "TEST spawnargv"
96PYEXT = '.py'
97NMPDS = 1
98HFILE = 'temph'
99import os,socket
100from mpdlib import MPDTest
101mpdtest = MPDTest()
102os.environ['MPD_CON_EXT'] = 'testing'
103os.system("mpdallexit%s 1> /dev/null 2> /dev/null" % (PYEXT) )
104os.system("mpdboot%s -1 -f %s -n %d" % (PYEXT,HFILE,NMPDS) )
105expout = ['No Errors']
106olddir = os.getcwd()
107os.chdir('%s/test/mpi/spawn' % (MPIDir))
108rv = mpdtest.run(cmd="%s/mpiexec%s -n 1 spawnargv" % (olddir,PYEXT),  # -n 2
109                 grepOut=1, expOut=expout )
110os.chdir(olddir)
111os.system("mpdallexit%s 1> /dev/null 2> /dev/null" % (PYEXT) )
112
113# test: spawnintra
114print "TEST spawnintra"
115PYEXT = '.py'
116NMPDS = 1
117HFILE = 'temph'
118import os,socket
119from mpdlib import MPDTest
120mpdtest = MPDTest()
121os.environ['MPD_CON_EXT'] = 'testing'
122os.system("mpdallexit%s 1> /dev/null 2> /dev/null" % (PYEXT) )
123os.system("mpdboot%s -1 -f %s -n %d" % (PYEXT,HFILE,NMPDS) )
124expout = ['No Errors']
125olddir = os.getcwd()
126os.chdir('%s/test/mpi/spawn' % (MPIDir))
127rv = mpdtest.run(cmd="%s/mpiexec%s -n 1 spawnintra" % (olddir,PYEXT),  # -n 2
128                 grepOut=1, expOut=expout )
129os.chdir(olddir)
130os.system("mpdallexit%s 1> /dev/null 2> /dev/null" % (PYEXT) )
131
132# test: namepub
133print "TEST namepub"
134PYEXT = '.py'
135NMPDS = 1
136HFILE = 'temph'
137import os,socket
138from mpdlib import MPDTest
139mpdtest = MPDTest()
140os.environ['MPD_CON_EXT'] = 'testing'
141os.system("mpdallexit%s 1> /dev/null 2> /dev/null" % (PYEXT) )
142os.system("mpdboot%s -1 -f %s -n %d" % (PYEXT,HFILE,NMPDS) )
143expout = ['No Errors']
144olddir = os.getcwd()
145os.chdir('%s/test/mpi/spawn' % (MPIDir))
146rv = mpdtest.run(cmd="%s/mpiexec%s -n 1 namepub" % (olddir,PYEXT),  # -n 2
147                 grepOut=1, expOut=expout )
148os.chdir(olddir)
149os.system("mpdallexit%s 1> /dev/null 2> /dev/null" % (PYEXT) )
150