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

Reply via email to