Author: rfm
Date: Tue Oct 20 15:33:17 2015
New Revision: 39082

URL: http://svn.gna.org/viewcvs/gnustep?rev=39082&view=rev
Log:
Attempt to ease unit testing by having a builtin rule to set up LD_LIBRARY_PATH
and run gnustep-tests on the files in a specified directory.

Modified:
    tools/make/trunk/ChangeLog
    tools/make/trunk/Instance/framework.make
    tools/make/trunk/Instance/library.make
    tools/make/trunk/Master/clibrary.make
    tools/make/trunk/Master/framework.make
    tools/make/trunk/Master/library.make
    tools/make/trunk/Master/test-library.make

Modified: tools/make/trunk/ChangeLog
URL: 
http://svn.gna.org/viewcvs/gnustep/tools/make/trunk/ChangeLog?rev=39082&r1=39081&r2=39082&view=diff
==============================================================================
--- tools/make/trunk/ChangeLog  (original)
+++ tools/make/trunk/ChangeLog  Tue Oct 20 15:33:17 2015
@@ -2,6 +2,15 @@
 
        * TestFramework/gnustep-tests.in: Deprecate Env.sh ... use TestInfo to
        set test ewnvironment
+       * Instance/framework.make: Add rule to invoke gnustep-tests
+       * Instance/library.make: Add rule to invoke gnustep-tests
+       * Master/clibrary.make: pass 'make check' to instance
+       * Master/framework.make: pass 'make check' to instance
+       * Master/library.make: pass 'make check' to instance
+       * Master/test-library.make: pass 'make check' to instance
+       Simple minded initial attempt to make unit testing for libraries and
+       frameworks easier by having a built-in rule to execute test files in
+       a subdirectory specified using xxx_TEST_DIR
 
 2015-09-23  Germán Arias <[email protected]>
 

Modified: tools/make/trunk/Instance/framework.make
URL: 
http://svn.gna.org/viewcvs/gnustep/tools/make/trunk/Instance/framework.make?rev=39082&r1=39081&r2=39082&view=diff
==============================================================================
--- tools/make/trunk/Instance/framework.make    (original)
+++ tools/make/trunk/Instance/framework.make    Tue Oct 20 15:33:17 2015
@@ -68,6 +68,8 @@
 # xxx_MAKE_CURRENT_VERSION is used to decide if the framework version
 #   we compiling should be made the current/default version or not
 #   (default is "yes")
+# xxx_TEST_DIR is the directory in which 'make check' will cause tests
+#   to be run using gnustep-tests.
 #
 # where xxx is the framework name
 #
@@ -808,6 +810,17 @@
        $(RM_LN_S) $(LIB_LINK_DLL_FILE); \
        $(END_ECHO)
 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 [ "$(DEBUG)" = "" ]; then \
+         gnustep-tests $($(GNUSTEP_INSTANCE)_TEST_DIR);\
+       else \
+         gnustep-tests --debug $($(GNUSTEP_INSTANCE)_TEST_DIR);\
+       fi;)
+endif
+
 #
 # Cleaning targets
 #

Modified: tools/make/trunk/Instance/library.make
URL: 
http://svn.gna.org/viewcvs/gnustep/tools/make/trunk/Instance/library.make?rev=39082&r1=39081&r2=39082&view=diff
==============================================================================
--- tools/make/trunk/Instance/library.make      (original)
+++ tools/make/trunk/Instance/library.make      Tue Oct 20 15:33:17 2015
@@ -43,6 +43,8 @@
 # The directory where the header files are located is xxx_HEADER_FILES_DIR
 # The directory where to install the header files inside the library
 # installation directory is xxx_HEADER_FILES_INSTALL_DIR
+# The directory in which 'make check' will cause tests to be run using
+# gnustep-tests is xxx_TEST_DIR
 #
 #      Where xxx is the name of the library
 #
@@ -338,7 +340,17 @@
 #
 # Testing targets
 #
+# Put the path to the directory containing the library to be tested in
+# 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 [ "$(DEBUG)" = "" ]; then \
+         gnustep-tests $($(GNUSTEP_INSTANCE)_TEST_DIR);\
+       else \
+         gnustep-tests --debug $($(GNUSTEP_INSTANCE)_TEST_DIR);\
+       fi;)
+endif
 
 #
 # If the user makefile contains the command

Modified: tools/make/trunk/Master/clibrary.make
URL: 
http://svn.gna.org/viewcvs/gnustep/tools/make/trunk/Master/clibrary.make?rev=39082&r1=39081&r2=39082&view=diff
==============================================================================
--- tools/make/trunk/Master/clibrary.make       (original)
+++ tools/make/trunk/Master/clibrary.make       Tue Oct 20 15:33:17 2015
@@ -45,6 +45,8 @@
 
 endif
 
+internal-check:: $(CLIBRARY_NAME:=.check.clibrary.variables)
+
 internal-install:: $(CLIBRARY_NAME:=.install.clibrary.variables)
 
 internal-uninstall:: $(CLIBRARY_NAME:=.uninstall.clibrary.variables)

Modified: tools/make/trunk/Master/framework.make
URL: 
http://svn.gna.org/viewcvs/gnustep/tools/make/trunk/Master/framework.make?rev=39082&r1=39081&r2=39082&view=diff
==============================================================================
--- tools/make/trunk/Master/framework.make      (original)
+++ tools/make/trunk/Master/framework.make      Tue Oct 20 15:33:17 2015
@@ -41,6 +41,8 @@
 
 $(FRAMEWORK_NAME:=.all.framework.variables): 
$(FRAMEWORK_NAME:=.build-headers.framework.variables)
 
+internal-check:: $(FRAMEWORK_NAME:=.check.framework.variables)
+
 internal-install:: $(FRAMEWORK_NAME:=.install.framework.variables)
 
 internal-uninstall:: $(FRAMEWORK_NAME:=.uninstall.framework.variables)

Modified: tools/make/trunk/Master/library.make
URL: 
http://svn.gna.org/viewcvs/gnustep/tools/make/trunk/Master/library.make?rev=39082&r1=39081&r2=39082&view=diff
==============================================================================
--- tools/make/trunk/Master/library.make        (original)
+++ tools/make/trunk/Master/library.make        Tue Oct 20 15:33:17 2015
@@ -45,6 +45,8 @@
 
 endif
 
+internal-check:: $(LIBRARY_NAME:=.check.library.variables)
+
 internal-install:: $(LIBRARY_NAME:=.install.library.variables)
 
 internal-uninstall:: $(LIBRARY_NAME:=.uninstall.library.variables)

Modified: tools/make/trunk/Master/test-library.make
URL: 
http://svn.gna.org/viewcvs/gnustep/tools/make/trunk/Master/test-library.make?rev=39082&r1=39081&r2=39082&view=diff
==============================================================================
--- tools/make/trunk/Master/test-library.make   (original)
+++ tools/make/trunk/Master/test-library.make   Tue Oct 20 15:33:17 2015
@@ -45,6 +45,8 @@
 
 endif
 
+internal-check:: $(TEST_LIBRARY_NAME:=.check.test-lib.variables)
+
 internal-install:: $(TEST_LIBRARY_NAME:=.install.test-lib.variables)
 
 internal-uninstall:: $(TEST_LIBRARY_NAME:=.uninstall.test-lib.variables)


_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs

Reply via email to