<div class="gmail_quote">On Mon, Sep 17, 2012 at 9:48 AM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Mon, Sep 17, 2012 at 9:36 AM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">jedbrown@mcs.anl.gov</a>></span> wrote:<br></div><div class="gmail_quote"><div class="im">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote"><div>On Mon, Sep 17, 2012 at 9:08 AM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div> How do you map the loops in some of the shell scripts in the makefiles?<br></div></blockquote><div><br></div></div><div>Not all the loop constructs are parsed now, but I can add that in an hour or so. It'll look like</div>


<div><br></div><div>with Executable('ex19.c'):</div><div>  for mtype in 'aij baij sbaij'.split():</div><div>    for vecscatter in 'rsend ssend alltoall'.split():</div><div>      Test(id=('thename', mtype, vecscatter), args='-mat_type %s -vecscatter_%s' % (mtype,vecscatter), compare='ex19_thename')</div>

</div></blockquote><div><br></div></div><div>This cannot yet do what I need for ex62. I have a 'setup' directive that executes code before the test. I like</div><div>this done for sets of tests to save time.</div>
</div></blockquote></div><br><div>I would create a setup object and refer to it.</div><div><br></div><div>with Executable('ex62.c'):</div><div>  quadrature = dict()</div><div>  for dim in 1 2 3:</div><div>    for order in 1 2 3 4:</div>
<div>      quadrature[(dim,order)] = GeneratedFile('ex62.h', command=[os.path.join(petsc_dir,'bin','pythonscripts','PetscGenerateFEMQuadrature.py'), ...])</div><div>  Test(..., requires=quadrature(2,3))</div>
<div>  # ... more tests, sharing one or more generated files</div><div><br></div><div>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.</div>