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

Reply via email to