Opened 18 years ago

Closed 18 years ago

Last modified 18 years ago

#6555 closed defect (fixed)

subversion*: run make check's

Reported by: blair (Blair Zajac) Owned by: danielluke (Daniel J. Luke)
Priority: Normal Milestone:
Component: ports Version: 1.0
Keywords: Cc:
Port:

Description

Hello,

I'm one of the Subversion committers and I was thinking that it would be good to have the subversion package and all the subversion-*bindings packages run their respective test suites.

Given that Darwin Ports is using apr 1.2.2 which is currently an uncommon build, it would be nice to ensure that everything passes the tests properly.

For the subversion-javahlbindings, it'll have to use the junit package at build time and pass --with-junit to the configure step. However, they may not pass because the build runs as root and a permissions test will fail.

Regards, Blair

Change History (10)

comment:1 Changed 18 years ago by danielluke (Daniel J. Luke)

Status: newassigned

(In reply to comment #0)

I'm one of the Subversion committers and I was thinking that it would be good to have the subversion package and all the subversion-*bindings packages run their respective test suites.

Earlier versions of subversions' test suites would fail when run under darwinports (because of path issues since darwinports wants to run the test suite in the DESTROOT, iirc).

Given that Darwin Ports is using apr 1.2.2 which is currently an uncommon build, it would be nice to ensure that everything passes the tests properly.

For the subversion-javahlbindings, it'll have to use the junit package at build time and pass --with-junit to the configure step. However, they may not pass because the build runs as root and a permissions test will fail.

I'll take a look at this when I get a chance.

If _you_ happen to get a chance before I do, I'd be happy to apply patches to the ports ;)

comment:2 Changed 18 years ago by danielluke (Daniel J. Luke)

Resolution: fixed
Status: assignedclosed

Committed updated portfiles for:

subversion (all tests pass, one test is skipped on my machine) subversion-pythonbindings (all tests pass)

Did not update:

subversion-perlbindings (already had test support) subversion-javahlbindings (test failures because of NoClassDefFoundError/UnsatisfiedLinkError I'll see if I can figure out how to point the tests to the libs in the build directory, unless you want to get me a patch before I do :) )

comment:3 Changed 18 years ago by blair (Blair Zajac)

Resolution: fixed
Status: closedreopened

Hi Daniel,

Using the latest Portfile, I'm still getting errors in the make check in Subversion, with all the tests failing with the image error.

Did you happen to have a Subversion installed when you ran the test suite, as all the tests seem to look for already installed *.dylib files.

I needed to change the test.env line to this to get my tests to pass:

test.env "DYLD_FALLBACK_LIBRARY_PATH=find ${worksrcpath}/subversion -type d -name .libs | xargs echo | sed -e 's/ /:/g'"

Regards, Blair

comment:4 Changed 18 years ago by danielluke (Daniel J. Luke)

(In reply to comment #3)

Did you happen to have a Subversion installed when you ran the test suite, as all the tests seem to look for already installed *.dylib files.

I probably did ...

I needed to change the test.env line to this to get my tests to pass:

test.env "DYLD_FALLBACK_LIBRARY_PATH=`find ${worksrcpath}/subversion -type d -name .libs | xargs echo | sed -e 's/ /:/g'`"

Thanks, I'll see if I can get a patch to fix this committed soon.

comment:5 Changed 18 years ago by danielluke (Daniel J. Luke)

Resolution: fixed
Status: reopenedclosed

comment:6 Changed 18 years ago by blair (Blair Zajac)

I was thinking that we may want to change the DYLD_FALLBACK_LIBRARY_PATH to DYLD_LIBRARY_PATH for the following scenario:

  • Somebody installs 1.3.0
  • 1.3.1 comes out with a bug fix in one of the libsvn_* and a test for it
  • The person goes to build and run 1.3.1's test suite when 1.3.0 is installed
  • The test binaries will link against the 1.3.0 /opt/local/lib/libsvn_*dylib
  • The new test fails

Regards, Blair

comment:7 Changed 18 years ago by blair (Blair Zajac)

And one more thing :)

If you set CLEANUP=true when you run make check, each test repository for each individual test will removed if the test passed successfully. So this is nice to run the tests but not fill up the disk as much.

See the comment in Makefile for this.

Regards, Blair

comment:8 Changed 18 years ago by danielluke (Daniel J. Luke)

(In reply to comment #6)

If you set CLEANUP=true when you run make check, each test repository for each individual test will removed if the test passed successfully. So this is nice to run the tests but not fill up the disk as much.

Since the test repos aren't installed into the destroot, they'll be deleted after the install phase runs (since autoclean is the default), so I don't see this as a big issue (especially since 'test' isn't run by default anyway).

If it's really a better way to run the tests, then the upstream distro should set that as the default and let people who need the other behavior override it.

comment:9 Changed 18 years ago by danielluke (Daniel J. Luke)

(In reply to comment #5)

I was thinking that we may want to change the DYLD_FALLBACK_LIBRARY_PATH to DYLD_LIBRARY_PATH for the following scenario:

Testing this now ...

I'll probably commit an update soon.

comment:10 Changed 18 years ago by blair (Blair Zajac)

Agreed that the work directory is cleaned up after running install, but this just reduces the working set size of work during the test. If you're disk is getting full and you want to run the test suite, you won't run into problems.

And yes, this may be something that the Subversion team may want to change.

Note: See TracTickets for help on using tickets.