[petsc-dev] Introducing new "test harness" to PETSc
Scott Kruger
kruger at txcorp.com
Wed Jan 18 18:42:56 CST 2017
It looks like adding a
wPETSC_DIR=@wPETSC_DIR@
in the script header will work (see config/example_template.py)
with wPETSC_DIR then added to the variables that get substituted.
Then convertExamples will just pass the arguments as it and it
should *just work*.
OK.
But out of curiosity, when I look at config/PETSc/Configure.py, it looks
like wPETSC_DIR is only defined on Windows as a make macro:
...
def configureWin32(self):
...
if self.compilers.CC.find('win32fe') >= 0:
...
self.addMakeMacro('wPETSC_DIR',petscdir)
else:
...
self.addMakeMacro('wPETSC_DIR',self.petscdir.dir)
How does wPETSC_DIR get set for non-windows systems?
I know how I am going to do it, but how does the current/legacy
system do it?
Scott
On 1/18/17 1:47 PM, Satish Balay wrote:
> wPETSC_DIR is one of the petscconf variables.
>
> Perhaps we should start a branch origin/scott/testharness-update2 or
> something to push all new changes..
>
> [and change wPETSC_DIR to W_PETSC_DIR everywhere? There is still some
> inconsistancy wrt lowercase/uppercase in these 2 scripts]
>
> Satish
>
> -----
>
> diff --git a/config/example_template.py b/config/example_template.py
> index 6296f46..2f9050e 100755
> --- a/config/example_template.py
> +++ b/config/example_template.py
> @@ -9,6 +9,7 @@ exec=@EXEC@
> testname='@TESTNAME@'
> label=@LABEL@
> runfiles=@LOCALRUNFILES@
> +wPETSC_DIR=@WPETSC_DIR@
> petsc_dir=@PETSC_DIR@
>
> . ${petsc_dir}/config/petsc_harness.sh
> diff --git a/config/gmakegentest.py b/config/gmakegentest.py
> index 79894e7..fe449a8 100755
> --- a/config/gmakegentest.py
> +++ b/config/gmakegentest.py
> @@ -244,6 +244,7 @@ class generateExamples(Petsc):
> subst['rm']=self.conf['RM']
> subst['grep']=self.conf['GREP']
> subst['petsc_lib_dir']=self.conf['PETSC_LIB_DIR']
> + subst['wpetsc_dir']=self.conf['wPETSC_DIR']
>
> return subst
>
> On Wed, 18 Jan 2017, Scott Kruger wrote:
>
>>
>>
>>
>> In the current version of the new test system, there is support for 'requires:
>> DATAFILESPATH' which then keys off what is configured,
>> similar to any other requirement on how PETSc is configured.
>>
>> How would I get wPETSC_DIR?
>>
>> Scott
>>
>>
>> On 1/18/17 8:09 AM, Satish Balay wrote:
>>> On Tue, 17 Jan 2017, Barry Smith wrote:
>>>
>>>> In this case the data files is in the PETSc share directory so you should
>>>> use the ${PETSC_DIR} to point to it. Only files in the DATAFILESPATH
>>>> directory should use $DATAFILESPATH
>>>>
>>>
>>> Hm - we use wPETSC_DIR so that the path is valid for windows binaries
>>> aswell. Perhaps
>>> the test harness will need a fix for this..
>>>
>>> $ git grep wPETSC_DIR |grep makefile |head -3
>>> src/ksp/ksp/examples/tutorials/makefile: -@${MPIEXEC} -n 2 ./ex10 -f0
>>> ${wPETSC_DIR}/share/petsc/datafiles/matrices/spd-real-int${PETSC_INDEX_SIZE}-float${PETSC_SCALAR_SIZE}
>>>> ex10_1.tmp 2>&1; \
>>> src/ksp/ksp/examples/tutorials/makefile: -@${MPIEXEC} -n 2 ./ex10
>>> -pc_type asm -pc_asm_sub_mat_type aijviennacl -f0
>>> ${wPETSC_DIR}/share/petsc/datafiles/matrices/spd-real-int${PETSC_INDEX_SIZE}-float${PETSC_SCALAR_SIZE}
>>>> ex10_asm_viennacl.tmp 2>&1; \
>>> src/ksp/ksp/examples/tutorials/makefile: -@${MPIEXEC} -n 1 ./ex63
>>> --filedir=${wPETSC_DIR}/share/petsc/datafiles/matrices/
>>> --filename=amesos2_test_mat0.mtx --solver=SuperLU --print-residual=true
>>> -ksp_monitor -pc_type lu -pc_factor_mat_solver_package superlu -ksp_view
>>> -ksp_converged_reason > ex63_1.tmp 2>&1; \
>>>
>>> Satish
>>>
>>
>>
--
Tech-X Corporation kruger at txcorp.com
5621 Arapahoe Ave, Suite A Phone: (720) 974-1841
Boulder, CO 80303 Fax: (303) 448-7756
More information about the petsc-dev
mailing list