diff --git a/scripts/check-dist.sh b/scripts/check-dist.sh index bacc725af685c41111044851e5e5b7b4096db08c..29e0433ba9e01929098944bb7c34b7efd22a8d56 100755 --- a/scripts/check-dist.sh +++ b/scripts/check-dist.sh @@ -20,7 +20,8 @@ FEMDIR="$DUNEDIR/dune-fem" SCRIPTSDIR="$FEMDIR/scripts" OPTSDIR="$SCRIPTSDIR/opts" -MODULES="dune-common dune-geometry dune-grid dune-istl dune-spgrid dune-fem dune-alugrid" +MODULES="dune-common dune-geometry dune-grid dune-istl dune-localfunctions dune-spgrid dune-fem dune-alugrid dune-fem-dg" +EXISTINGMODULES="" # fetch missing tarballs from website # ----------------------------------- @@ -49,6 +50,8 @@ for MODULE in $MODULES ; do echo "Fatal: No tarball available for $MODULE" exit 1 fi + + EXISTINGMODULES+=" $MODULE" done # perform tests @@ -95,11 +98,26 @@ for OPTS in `cd $OPTSDIR ; ls *.opts` ; do CHECKLOG="$WORKINGDIR/${OPTS%.opts}-check.out" MAKE_CHECK_FLAGS="" MAKE_CHECK_FLAGS="$(source $OPTSDIR/$OPTS; echo $MAKE_CHECK_FLAGS)" - if ! $SCRIPTSDIR/check-tests.sh $TESTDIR/dune-fem "$MAKE_CHECK_FLAGS"; then - echo "Error: Check failed with $OPTS (see $CHECKLOG)" - errors=$((errors+1)) + + # check for dependencies + MAKE_CHECK_DEPS="$(source $OPTSDIR/$OPTS; echo $MAKE_CHECK_DEPS)" + + MISSINGDEPS="" + for dep in $MAKE_CHECK_DEPS ; do + if ! echo $EXISTINGMODULES | grep $dep; then + MISSINGDEPS+=" $dep" + fi + done + + if test -z "$MISSINGDEPS" ; then + if ! $SCRIPTSDIR/check-tests.sh $TESTDIR/dune-fem "$MAKE_CHECK_FLAGS"; then + echo "Error: Check failed with $OPTS (see $CHECKLOG)" + errors=$((errors+1)) + fi + mv $WORKINGDIR/check-tests.out $CHECKLOG + else + echo "Skipping $OPTS due to missing dependencies:$MISSINGDEPS" fi - mv $WORKINGDIR/check-tests.out $CHECKLOG done # clean up diff --git a/scripts/opts/config_all.opts b/scripts/opts/config_all.opts index fd30de5b9913d8316ee6ae324205681e7445b9c1..9885be79c026d89f3ec7769f81cca68cd7555d07 100644 --- a/scripts/opts/config_all.opts +++ b/scripts/opts/config_all.opts @@ -20,5 +20,6 @@ MAKE_FLAGS= # These flags are necessary to perform grid specific checks! MAKE_CHECK_FLAGS="GRIDTYPE=ALUGRID_SIMPLEX GRIDDIM=3" +MAKE_CHECK_DEPS="dune-alugrid" MAKE_FLAGS=-j8 diff --git a/scripts/opts/config_alu.opts b/scripts/opts/config_alu.opts index 59eb91da69cc57f2cb6f8b3bad4cf234898491ac..c74df0427ec83d3479cee8b5eb9cb59785e842b0 100644 --- a/scripts/opts/config_alu.opts +++ b/scripts/opts/config_alu.opts @@ -15,5 +15,6 @@ MAKE_FLAGS= # These flags are necessary to perform grid specific checks! MAKE_CHECK_FLAGS="GRIDTYPE=ALUGRID_SIMPLEX GRIDDIM=2" +MAKE_CHECK_DEPS="dune-alugrid" MAKE_FLAGS=-j8 diff --git a/scripts/opts/config_spgrid.opts b/scripts/opts/config_spgrid.opts index 473d31275aee57456134db9120f77cc1dff62e58..7860672929c0a19e96afc30e8ad9d6f09f9aa86f 100644 --- a/scripts/opts/config_spgrid.opts +++ b/scripts/opts/config_spgrid.opts @@ -9,5 +9,6 @@ MAKE_FLAGS= # These flags are necessary to perform grid specific checks! MAKE_CHECK_FLAGS="GRIDTYPE=SPGRID GRIDDIM=2" +MAKE_CHECK_DEPS="dune-spgrid" MAKE_FLAGS=-j8