You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Yoshiki Hayashi <yo...@xemacs.org> on 2001/08/15 13:22:06 UTC

[PATCH] make make check work with VPATH build

Current Makefile cannot run some tests when build directory differs
from source directory.  There are some problems.

  When no C tests exist for the given directory, make does not create
  tests directory. (e.g. subversion/tests/clients/)

  Not all test programs are in build tree.  Shell script and python
  test cases only exist in source tree.

The patch below fixes above problems.  This fixes all problems except
below.

Running all tests in svn-test.sh...
apr_error: #2, src_err 0 : <No such file or directory>
  unable to open ../../../xml/co1-inline.xml
FAILED
--- at least one test FAILED, check tests.log.

This can be fixed by changing ../../../xml/co1-inline.xml to the file
in source tree.  Perhaps I'll fix it tomorrow if no one fixes it
today.

ChangeLog:
Fix path to test cases so that VPATH build can run tests.

* Makefile.in (check): Escape . to grep argument correctly.

  Fix references to python and shell scripts.  They should always
  point to source tree.

  Create base directory for testcases so that VPATH build can run
  test cases in correct directory.

  chmod is only required for shell scripts.  Python scripts are not
  run directly and object files should be executable by default.

Index: Makefile.in
===================================================================
RCS file: /home/penny/cvsroot/subversion/Makefile.in,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.4.1
diff -u -r1.1.1.1 -r1.1.1.1.4.1
--- Makefile.in	14 Aug 2001 13:55:34 -0000	1.1.1.1
+++ Makefile.in	15 Aug 2001 08:27:49 -0000	1.1.1.1.4.1
@@ -108,15 +108,22 @@
 	echo > $$logfile ; \
 	failed=no ; \
 	list='$(TEST_PROGRAMS)'; for prog in $$list; do \
-	    chmod a+x $$prog ; \
 	    progbase=`echo $$prog | sed 's?.*/??'` ; \
 	    progdir=`echo $$prog | sed 's?/[^/]*$$??'` ; \
 	    echo -n "Running all tests in $$progbase..." ; \
 	    echo "START: $$progbase" >> $$logfile ; \
-	    if echo $$prog | grep \.py > /dev/null; then  \
-		runprog="$(PYTHON) $$progbase" ; \
+	    if echo $$prog | grep \\.py > /dev/null; then  \
+		runprog="$(PYTHON) $(abs_srcdir)/$$prog" ; \
 	    else  \
-		runprog="./$$progbase" ; \
+		if echo $$prog | grep \\.sh$ > /dev/null; then \
+		    runprog="$(abs_srcdir)/$$prog" ; \
+		    chmod a+x $$runprog ; \
+		else \
+		    runprog="./$$progbase" ; \
+		fi ; \
+	    fi ; \
+	    if ! test -d "$$progdir" ; then \
+		$(MKDIR) $$progdir ; \
 	    fi ; \
 	    if ( cd $$progdir && $$runprog ) >> $$logfile ; then \
 		echo "SUCCESS" ; \



-- 
Yoshiki Hayashi

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] make make check work with VPATH build

Posted by kf...@collab.net.
Thank you for the patches, Yoshiki!  (& good to see you back in
action.)

Will look at them right after M3...

-K

Yoshiki Hayashi <yo...@xemacs.org> writes:
> Current Makefile cannot run some tests when build directory differs
> from source directory.  There are some problems.
> 
>   When no C tests exist for the given directory, make does not create
>   tests directory. (e.g. subversion/tests/clients/)
> 
>   Not all test programs are in build tree.  Shell script and python
>   test cases only exist in source tree.
> 
> The patch below fixes above problems.  This fixes all problems except
> below.
> 
> Running all tests in svn-test.sh...
> apr_error: #2, src_err 0 : <No such file or directory>
>   unable to open ../../../xml/co1-inline.xml
> FAILED
> --- at least one test FAILED, check tests.log.
> 
> This can be fixed by changing ../../../xml/co1-inline.xml to the file
> in source tree.  Perhaps I'll fix it tomorrow if no one fixes it
> today.
> 
> ChangeLog:
> Fix path to test cases so that VPATH build can run tests.
> 
> * Makefile.in (check): Escape . to grep argument correctly.
> 
>   Fix references to python and shell scripts.  They should always
>   point to source tree.
> 
>   Create base directory for testcases so that VPATH build can run
>   test cases in correct directory.
> 
>   chmod is only required for shell scripts.  Python scripts are not
>   run directly and object files should be executable by default.
> 
> Index: Makefile.in
> ===================================================================
> RCS file: /home/penny/cvsroot/subversion/Makefile.in,v
> retrieving revision 1.1.1.1
> retrieving revision 1.1.1.1.4.1
> diff -u -r1.1.1.1 -r1.1.1.1.4.1
> --- Makefile.in	14 Aug 2001 13:55:34 -0000	1.1.1.1
> +++ Makefile.in	15 Aug 2001 08:27:49 -0000	1.1.1.1.4.1
> @@ -108,15 +108,22 @@
>  	echo > $$logfile ; \
>  	failed=no ; \
>  	list='$(TEST_PROGRAMS)'; for prog in $$list; do \
> -	    chmod a+x $$prog ; \
>  	    progbase=`echo $$prog | sed 's?.*/??'` ; \
>  	    progdir=`echo $$prog | sed 's?/[^/]*$$??'` ; \
>  	    echo -n "Running all tests in $$progbase..." ; \
>  	    echo "START: $$progbase" >> $$logfile ; \
> -	    if echo $$prog | grep \.py > /dev/null; then  \
> -		runprog="$(PYTHON) $$progbase" ; \
> +	    if echo $$prog | grep \\.py > /dev/null; then  \
> +		runprog="$(PYTHON) $(abs_srcdir)/$$prog" ; \
>  	    else  \
> -		runprog="./$$progbase" ; \
> +		if echo $$prog | grep \\.sh$ > /dev/null; then \
> +		    runprog="$(abs_srcdir)/$$prog" ; \
> +		    chmod a+x $$runprog ; \
> +		else \
> +		    runprog="./$$progbase" ; \
> +		fi ; \
> +	    fi ; \
> +	    if ! test -d "$$progdir" ; then \
> +		$(MKDIR) $$progdir ; \
>  	    fi ; \
>  	    if ( cd $$progdir && $$runprog ) >> $$logfile ; then \
>  		echo "SUCCESS" ; \
> 
> 
> 
> -- 
> Yoshiki Hayashi
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org