It would be good if we could run the test suite against an arbitrary
installed set of Subversion binaries and libraries.
We have this for a starting point:
make check SVN_BIN_DIR=/opt/foo/some/path
For the Python tests, it mostly uses the given path for loading 'svn*'
executables. In a few cases it doesn't, probably where they are loaded
indirectly, e.g. in "ra-test 3: test ra_svn tunnel creation callbacks".
I found this by changing
-check: bin @TRANSFORM_LIBTOOL_SCRIPTS@ $(TEST_DEPS) @BDB_TEST_DEPS@
+check: @TRANSFORM_LIBTOOL_SCRIPTS@ $(TEST_DEPS) @BDB_TEST_DEPS@
so the main "svn*" are not built in the source tree, and running "make
clean; make check SVN_BIN_DIR=...".
For the C tests, "make check" first builds the svn libraries in the
source tree and links the tests against them. However, at run time, if
we set
LD_LIBRARY_PATH=/path/to/installed/svn/lib
we can delete the libs from the source tree, and it will load dynamic
libs from the target installation. I am not sure if that covers
everything or whether some static linking was used as well.
It would be good if we could make a clearer separation and be able to do
a test run that doesn't need to build libs in the source tree, so we can
see it is only using the desired target installation.
- Julian