Author: rfm
Date: Sat Oct 24 15:55:08 2015
New Revision: 39089
URL: http://svn.gna.org/viewcvs/gnustep?rev=39089&view=rev
Log:
Improve test automation
Modified:
tools/make/trunk/ChangeLog
tools/make/trunk/Instance/framework.make
tools/make/trunk/Instance/library.make
tools/make/trunk/TestFramework/gnustep-tests.in
Modified: tools/make/trunk/ChangeLog
URL:
http://svn.gna.org/viewcvs/gnustep/tools/make/trunk/ChangeLog?rev=39089&r1=39088&r2=39089&view=diff
==============================================================================
--- tools/make/trunk/ChangeLog (original)
+++ tools/make/trunk/ChangeLog Sat Oct 24 15:55:08 2015
@@ -1,3 +1,12 @@
+2015-11-24 Richard Frith-Macdonald <[email protected]>
+
+ * 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 <[email protected]>
* Instance/framework.make: Remove unused methods (-frameworkEnv and
Modified: tools/make/trunk/Instance/framework.make
URL:
http://svn.gna.org/viewcvs/gnustep/tools/make/trunk/Instance/framework.make?rev=39089&r1=39088&r2=39089&view=diff
==============================================================================
--- tools/make/trunk/Instance/framework.make (original)
+++ tools/make/trunk/Instance/framework.make Sat Oct 24 15:55:08 2015
@@ -809,12 +809,41 @@
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
#
Modified: tools/make/trunk/Instance/library.make
URL:
http://svn.gna.org/viewcvs/gnustep/tools/make/trunk/Instance/library.make?rev=39089&r1=39088&r2=39089&view=diff
==============================================================================
--- tools/make/trunk/Instance/library.make (original)
+++ tools/make/trunk/Instance/library.make Sat Oct 24 15:55:08 2015
@@ -344,12 +344,41 @@
# 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
#
Modified: tools/make/trunk/TestFramework/gnustep-tests.in
URL:
http://svn.gna.org/viewcvs/gnustep/tools/make/trunk/TestFramework/gnustep-tests.in?rev=39089&r1=39088&r2=39089&view=diff
==============================================================================
--- tools/make/trunk/TestFramework/gnustep-tests.in (original)
+++ tools/make/trunk/TestFramework/gnustep-tests.in Sat Oct 24 15:55:08 2015
@@ -350,7 +350,7 @@
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 @@
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 @@
# 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
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs