On Mon, Sep 17, 2012 at 9:48 AM, Matthew Knepley <knepley at gmail.com> wrote:
> On Mon, Sep 17, 2012 at 9:36 AM, Jed Brown <jedbrown at mcs.anl.gov> wrote: > >> On Mon, Sep 17, 2012 at 9:08 AM, Barry Smith <bsmith at mcs.anl.gov> wrote: >> >>> How do you map the loops in some of the shell scripts in the makefiles? >>> >> >> Not all the loop constructs are parsed now, but I can add that in an hour >> or so. It'll look like >> >> with Executable('ex19.c'): >> for mtype in 'aij baij sbaij'.split(): >> for vecscatter in 'rsend ssend alltoall'.split(): >> Test(id=('thename', mtype, vecscatter), args='-mat_type %s >> -vecscatter_%s' % (mtype,vecscatter), compare='ex19_thename') >> > > This cannot yet do what I need for ex62. I have a 'setup' directive that > executes code before the test. I like > this done for sets of tests to save time. > I would create a setup object and refer to it. with Executable('ex62.c'): quadrature = dict() for dim in 1 2 3: for order in 1 2 3 4: quadrature[(dim,order)] = GeneratedFile('ex62.h', command=[os.path.join(petsc_dir,'bin','pythonscripts','PetscGenerateFEMQuadrature.py'), ...]) Test(..., requires=quadrature(2,3)) # ... more tests, sharing one or more generated files Each test, or group of tests, will normally be run in its own private temporary directory. A sequence of tests sharing the same dependencies can reuse the generated file, but if you test with -j48, members of the same group may be executing concurrently. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120917/7a965a8a/attachment.html>