Or is the issue with the name "lib/petsc/conf/test"? I guess it could be renamed lib/petsc/conf/rules_examples [or something else]
Satish On Sat, 7 Jul 2018, Satish Balay wrote: > Sorry - I don't quiet understand what you are suggesting here. > > On Thu, 5 Jul 2018, Jed Brown wrote: > > > "Smith, Barry F." <bsm...@mcs.anl.gov> writes: > > > > >> On Jul 5, 2018, at 5:36 PM, Jed Brown <j...@jedbrown.org> wrote: > > >> > > >> When can we delete the legacy test system? Are we currently using it > > >> anywhere? > > > > > > Make test currently requires the test include file > > > > Surely this indirection and logging isn't needed in all the > > */examples/tutorials/makefile. > > Are you suggesting the following change? > > diff --git a/lib/petsc/conf/test b/lib/petsc/conf/test > index 3942d879ad..8cd6fcd238 100644 > --- a/lib/petsc/conf/test > +++ b/lib/petsc/conf/test > @@ -11,7 +11,3 @@ ex%f: ex%f.o | chkopts > -${FLINKER} -o $@ $^ ${PETSC_LIB} > ex%: ex%.o | chkopts > -${CLINKER} -o $@ $^ ${PETSC_LIB} > - > - > -include ${PETSC_DIR}/lib/petsc/conf/test.common > - > > > > > TESTMODE = testexamples > > ALLTESTS_CHECK_FAILURES = no > > ALLTESTS_MAKEFILE = gmakefile.test > > alltests: > > -@${RM} -rf ${PETSC_ARCH}/lib/petsc/conf/alltests.log alltests.log > > +@if [ -f ${PETSC_DIR}/share/petsc/examples/gmakefile.test ] ; then > > \ > > > > ALLTESTS_MAKEFILE=${PETSC_DIR}/share/petsc/examples/gmakefile.test ; \ > > ALLTESTSLOG=alltests.log ;\ > > else \ > > ALLTESTS_MAKEFILE=gmakefile.test; \ > > ALLTESTSLOG=${PETSC_ARCH}/lib/petsc/conf/alltests.log ;\ > > ln -s $${ALLTESTSLOG} alltests.log ;\ > > fi; \ > > ${OMAKE} allgtest ALLTESTS_MAKEFILE=$${ALLTESTS_MAKEFILE} > > PETSC_ARCH=${PETSC_ARCH} PETSC_DIR=${PETSC_DIR} MPIEXEC="${MPIEXEC}" > > DATAFILESPATH=${DATAFILESPATH} 2>&1 | tee $${ALLTESTSLOG};\ > > if [ x${ALLTESTS_CHECK_FAILURES} = xyes -a ${PETSC_PRECISION} != > > single ]; then \ > > cat $${ALLTESTSLOG} | egrep '(^not ok|not remade because of > > errors|^# No tests run)' | wc -l | grep '^[ ]*0$$' > /dev/null; \ > > fi; > > > > allgtest-tap: > > +@MAKEFLAGS="-j$(MAKE_TEST_NP) -l$(MAKE_LOAD) $(MAKEFLAGS)" > > ${OMAKE} -f gmakefile.test test V=0 > > > > allgtest: > > +@MAKEFLAGS="-j$(MAKE_TEST_NP) -l$(MAKE_LOAD) $(MAKEFLAGS)" > > ${OMAKE} -k -f ${ALLTESTS_MAKEFILE} test V=0 2>&1 | egrep -v '^(ok [^#]*(# > > SKIP|# TODO|$$)|[A-Za-z][A-Za-z0-9_]*\.(c|F|cxx|F90).$$)' > > > > > > > > We could use static pattern rules of the form > > > > $(EXAMPLESC) : % : %.c > > Sorry - I don't understand this nottation. What does this do? And what is it > a replacement for? > > > > and add them to lib/petsc/conf/rules. It isn't really for testing at > > this point, just for one-off building. > > We have some rules [for examples] in lib/petsc/conf/test. Are you > objecting to having this separate file for this? [since you are > recommending having them in lib/petsc/conf/rules] > > One of the reason I kept it separate is - it has gnumake syntax so > didn't want it included from the toplevel makefile - [which is free of > gnumake syntax] > > satish >