cleaner autotest implementation

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@39091 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2015-10-25 09:17:24 +00:00
parent b221331898
commit ae2cbed411
4 changed files with 38 additions and 49 deletions

View file

@ -810,33 +810,17 @@ endif
internal-framework-check::
ifneq ($($(GNUSTEP_INSTANCE)_TEST_DIR),)
@(\
if !(grep gscheckenv \
"$($(GNUSTEP_INSTANCE)_TEST_DIR)/TestInfo" \
>/dev/null 2>/dev/null); then \
echo "# include settings generated by 'make check'" \
>> "$($(GNUSTEP_INSTANCE)_TEST_DIR)/TestInfo"; \
echo ". ./gscheckenv" \
>> "$($(GNUSTEP_INSTANCE)_TEST_DIR)/TestInfo"; \
fi; \
echo "# Generated by 'make check'" \
> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckenv; \
echo "export LD_LIBRARY_PATH=\"$$(pwd)/$(GNUSTEP_INSTANCE).framework:$(LD_LIBRARY_PATH)\"" > $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckenv; \
if !(grep gscheckmak \
"$($(GNUSTEP_INSTANCE)_TEST_DIR)/GNUmakefile.preamble" \
>/dev/null 2>/dev/null); then \
echo "# include settings generated by 'make check'" \
>> "$($(GNUSTEP_INSTANCE)_TEST_DIR)/GNUmakefile.preamble"; \
echo "include ./gscheckmak" \
>> "$($(GNUSTEP_INSTANCE)_TEST_DIR)/GNUmakefile.preamble"; \
fi; \
> $($(GNUSTEP_INSTANCE)_TEST_DIR)/make-check.env; \
echo "export LD_LIBRARY_PATH=\"$$(pwd)/$(GNUSTEP_INSTANCE).framework:$(LD_LIBRARY_PATH)\"" > $($(GNUSTEP_INSTANCE)_TEST_DIR)/make-check.env; \
echo "# Generated by 'make check'" \
> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckmak; \
> $($(GNUSTEP_INSTANCE)_TEST_DIR)/make-check.mak; \
echo "ADDITIONAL_INCLUDE_DIRS += \"-I$(GNUSTEP_MAKEFILES)/TestFramework -I$(FRAMEWORK_VERSION_DIR)/Headers\"" \
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckmak; \
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/make-check.mak; \
echo "ADDITIONAL_LIB_DIRS += \"-L$(FRAMEWORK_VERSION_DIR))\"" \
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckmak; \
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/make-check.mak; \
echo "ADDITIONAL_TOOL_LIBS += \"-l$(GNUSTEP_INSTANCE)\"" \
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckmak; \
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/make-check.mak; \
unset MAKEFLAGS; \
if [ "$(DEBUG)" = "" ]; then \
gnustep-tests --verbose $($(GNUSTEP_INSTANCE)_TEST_DIR);\

View file

@ -345,33 +345,17 @@ endif
internal-library-check::
ifneq ($($(GNUSTEP_INSTANCE)_TEST_DIR),)
@(\
if !(grep gscheckenv \
"$($(GNUSTEP_INSTANCE)_TEST_DIR)/TestInfo" \
>/dev/null 2>/dev/null); then \
echo "# include settings generated by 'make check'" \
>> "$($(GNUSTEP_INSTANCE)_TEST_DIR)/TestInfo"; \
echo ". ./gscheckenv" \
>> "$($(GNUSTEP_INSTANCE)_TEST_DIR)/TestInfo"; \
fi; \
echo "# Generated by 'make check'" \
> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckenv; \
echo "export LD_LIBRARY_PATH=\"$$(pwd)/$(GNUSTEP_OBJ_DIR):$(LD_LIBRARY_PATH)\"" >> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckenv; \
if !(grep gscheckmak \
"$($(GNUSTEP_INSTANCE)_TEST_DIR)/GNUmakefile.preamble" \
>/dev/null 2>/dev/null); then \
echo "# include settings generated by 'make check'" \
>> "$($(GNUSTEP_INSTANCE)_TEST_DIR)/GNUmakefile.preamble"; \
echo "include ./gscheckmak" \
>> "$($(GNUSTEP_INSTANCE)_TEST_DIR)/GNUmakefile.preamble"; \
fi; \
> $($(GNUSTEP_INSTANCE)_TEST_DIR)/make-check.env; \
echo "export LD_LIBRARY_PATH=\"$$(pwd)/$(GNUSTEP_OBJ_DIR):$(LD_LIBRARY_PATH)\"" >> $($(GNUSTEP_INSTANCE)_TEST_DIR)/make-check.env; \
echo "# Generated by 'make check'" \
> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckmak; \
> $($(GNUSTEP_INSTANCE)_TEST_DIR)/make-check.mak; \
echo "ADDITIONAL_INCLUDE_DIRS += \"-I$(GNUSTEP_MAKEFILES)/TestFramework -I$$(pwd)\"" \
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckmak; \
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/make-check.mak; \
echo "ADDITIONAL_LIB_DIRS += \"-L$$(pwd)/$(GNUSTEP_OBJ_DIR)\"" \
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckmak; \
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/make-check.mak; \
echo "ADDITIONAL_TOOL_LIBS += \"-l$(LIBRARY_NAME_WITHOUT_LIB)\"" \
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckmak; \
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/make-check.mak; \
unset MAKEFLAGS; \
if [ "$(DEBUG)" = "" ]; then \
gnustep-tests --verbose $($(GNUSTEP_INSTANCE)_TEST_DIR);\

View file

@ -18,9 +18,11 @@ endif
@TESTRULES@
-include GNUmakefile.preamble
-include make-check.mak
include $(GNUSTEP_MAKEFILES)/test-tool.make
-include GNUmakefile.postamble
after-clean::
rm -f core core.* *.core tests.log tests.sum oldtests.log oldtests.sum
rm -f core core.* *.core \
tests.log tests.sum oldtests.log oldtests.sum

View file

@ -350,7 +350,12 @@ build_and_run ()
then
echo "Building $dir/$TESTFILE"
echo "$BUILD_CMD"
( . ./TestInfo; $BUILD_CMD) 2>&1
if test -r ./make-check.env
then
( . ./make-check.env; . ./TestInfo; $BUILD_CMD) 2>&1
else
( . ./TestInfo; $BUILD_CMD) 2>&1
fi
BUILDSTATUS=$?
else
BUILDSTATUS=0
@ -386,7 +391,12 @@ build_and_run ()
then
( . ./Env.sh; $RUN_CMD )
else
( . ./TestInfo; $RUN_CMD )
if test -r ./make-check.env
then
( . ./make-check.env; . ./TestInfo; $RUN_CMD )
else
( . ./TestInfo; $RUN_CMD )
fi
fi
if test $? != 0
@ -535,7 +545,7 @@ do
then
$MAKE_CMD clean >/dev/null 2>&1
fi
rm -rf core core.* *.core obj GNUmakefile gdb.cmds tests.log tests.sum oldtests.log oldtests.sum tests.tmp tests.sum.tmp tests.log.tmp gscheckenv gscheckmak
rm -rf core core.* *.core obj GNUmakefile gdb.cmds tests.log tests.sum oldtests.log oldtests.sum tests.tmp tests.sum.tmp tests.log.tmp make-check.mak make-check.env
else
echo "--- Running tests in $dir ---"
@ -568,6 +578,10 @@ do
then
# There's a custom make template present ... use it.
TEMPLATE=GNUmakefile.tests
elif test -r make-check.mak
then
# There's an autogenerated makefile present ... use default template.
TEMPLATE=$GSTESTTOP/GNUmakefile.in
elif test -r GNUmakefile.preamble
then
# There's a make preamble present ... use default template.
@ -635,7 +649,12 @@ ${tmp}_OBJC_FILES=$TESTFILE"
# each individual test file later.
echo "" >>$GSTESTLOG
echo "Building in $dir" >>$GSTESTLOG
( . ./TestInfo; $MAKE_CMD -j 4 debug=yes) >>$GSTESTLOG 2>&1
if test -r ./make-check.env
then
( . ./make-check.env; . ./TestInfo; $MAKE_CMD -j 4 debug=yes) >>$GSTESTLOG 2>&1
else
( . ./TestInfo; $MAKE_CMD -j 4 debug=yes) >>$GSTESTLOG 2>&1
fi
if test $? = 0
then
NEEDBUILD=no