mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-23 22:33:28 +00:00
Improve test automation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@39089 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
5f7103b520
commit
b221331898
4 changed files with 76 additions and 9 deletions
|
@ -1,3 +1,12 @@
|
|||
2015-11-24 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Instance/framework.make:
|
||||
* Instance/library.make:
|
||||
* TestFramework/gnustep-tests.in:
|
||||
Improve automated library and framework testcase handling, with
|
||||
code to tell the testcases where to find the library/framework
|
||||
headers and what to link with in order to do the tests.
|
||||
|
||||
2015-11-21 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Instance/framework.make: Remove unused methods (-frameworkEnv and
|
||||
|
|
|
@ -809,12 +809,41 @@ endif
|
|||
|
||||
internal-framework-check::
|
||||
ifneq ($($(GNUSTEP_INSTANCE)_TEST_DIR),)
|
||||
@(echo "export LD_LIBRARY_PATH=\"$$(pwd)/$(GNUSTEP_INSTANCE).framework:$(LD_LIBRARY_PATH)\"" > $($(GNUSTEP_INSTANCE)_TEST_DIR)/TestInfo; \
|
||||
@(\
|
||||
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; \
|
||||
echo "# Generated by 'make check'" \
|
||||
> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckmak; \
|
||||
echo "ADDITIONAL_INCLUDE_DIRS += \"-I$(GNUSTEP_MAKEFILES)/TestFramework -I$(FRAMEWORK_VERSION_DIR)/Headers\"" \
|
||||
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckmak; \
|
||||
echo "ADDITIONAL_LIB_DIRS += \"-L$(FRAMEWORK_VERSION_DIR))\"" \
|
||||
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckmak; \
|
||||
echo "ADDITIONAL_TOOL_LIBS += \"-l$(GNUSTEP_INSTANCE)\"" \
|
||||
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckmak; \
|
||||
unset MAKEFLAGS; \
|
||||
if [ "$(DEBUG)" = "" ]; then \
|
||||
gnustep-tests $($(GNUSTEP_INSTANCE)_TEST_DIR);\
|
||||
gnustep-tests --verbose $($(GNUSTEP_INSTANCE)_TEST_DIR);\
|
||||
else \
|
||||
gnustep-tests --debug $($(GNUSTEP_INSTANCE)_TEST_DIR);\
|
||||
fi;)
|
||||
fi;\
|
||||
)
|
||||
endif
|
||||
|
||||
#
|
||||
|
|
|
@ -344,12 +344,41 @@ endif
|
|||
# LD_LIBRARY_PATH for running the tests and then invoke gnustep-tests
|
||||
internal-library-check::
|
||||
ifneq ($($(GNUSTEP_INSTANCE)_TEST_DIR),)
|
||||
@(echo "export LD_LIBRARY_PATH=\"$$(pwd)/$(GNUSTEP_OBJ_DIR):$(LD_LIBRARY_PATH)\"" > $($(GNUSTEP_INSTANCE)_TEST_DIR)/TestInfo; \
|
||||
@(\
|
||||
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; \
|
||||
echo "# Generated by 'make check'" \
|
||||
> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckmak; \
|
||||
echo "ADDITIONAL_INCLUDE_DIRS += \"-I$(GNUSTEP_MAKEFILES)/TestFramework -I$$(pwd)\"" \
|
||||
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckmak; \
|
||||
echo "ADDITIONAL_LIB_DIRS += \"-L$$(pwd)/$(GNUSTEP_OBJ_DIR)\"" \
|
||||
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckmak; \
|
||||
echo "ADDITIONAL_TOOL_LIBS += \"-l$(LIBRARY_NAME_WITHOUT_LIB)\"" \
|
||||
>> $($(GNUSTEP_INSTANCE)_TEST_DIR)/gscheckmak; \
|
||||
unset MAKEFLAGS; \
|
||||
if [ "$(DEBUG)" = "" ]; then \
|
||||
gnustep-tests $($(GNUSTEP_INSTANCE)_TEST_DIR);\
|
||||
gnustep-tests --verbose $($(GNUSTEP_INSTANCE)_TEST_DIR);\
|
||||
else \
|
||||
gnustep-tests --debug $($(GNUSTEP_INSTANCE)_TEST_DIR);\
|
||||
fi;)
|
||||
fi;\
|
||||
)
|
||||
endif
|
||||
|
||||
#
|
||||
|
|
|
@ -350,7 +350,7 @@ build_and_run ()
|
|||
then
|
||||
echo "Building $dir/$TESTFILE"
|
||||
echo "$BUILD_CMD"
|
||||
$BUILD_CMD 2>&1
|
||||
( . ./TestInfo; $BUILD_CMD) 2>&1
|
||||
BUILDSTATUS=$?
|
||||
else
|
||||
BUILDSTATUS=0
|
||||
|
@ -535,7 +535,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
|
||||
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
|
||||
|
||||
else
|
||||
echo "--- Running tests in $dir ---"
|
||||
|
@ -635,7 +635,7 @@ ${tmp}_OBJC_FILES=$TESTFILE"
|
|||
# each individual test file later.
|
||||
echo "" >>$GSTESTLOG
|
||||
echo "Building in $dir" >>$GSTESTLOG
|
||||
$MAKE_CMD -j 4 debug=yes >>$GSTESTLOG 2>&1
|
||||
( . ./TestInfo; $MAKE_CMD -j 4 debug=yes) >>$GSTESTLOG 2>&1
|
||||
if test $? = 0
|
||||
then
|
||||
NEEDBUILD=no
|
||||
|
|
Loading…
Reference in a new issue