Using this compile time definition causes two tests to fail in svnadmin_tests.py
{{{
[[[
W: Unexpected output
W: EXPECTED STDOUT:
W: | Packing revisions in shard 1...done.
W: ACTUAL STDOUT:
W: DIFF STDOUT:
W: | --- EXPECTED STDOUT
W: | +++ ACTUAL STDOUT
W: | @@ -1 +0,0 @@
W: | -Packing revisions in shard 1...done.
W: CWD: /Users/breser/wandisco/builds/svn-trunk/subversion/tests/cmdline
W: EXCEPTION: SVNLineUnequal
Traceback (most recent call last):
File
"/Users/breser/wandisco/share/wcs/svn-trunk/subversion/tests/cmdline/svntest/main.py",
line 1598, in run
rc = self.pred.run(sandbox)
File
"/Users/breser/wandisco/share/wcs/svn-trunk/subversion/tests/cmdline/svntest/testcase.py",
line 254, in run
return self._delegate.run(sandbox)
File
"/Users/breser/wandisco/share/wcs/svn-trunk/subversion/tests/cmdline/svntest/testcase.py",
line 254, in run
return self._delegate.run(sandbox)
File
"/Users/breser/wandisco/share/wcs/svn-trunk/subversion/tests/cmdline/svntest/testcase.py",
line 176, in run
return self.func(sandbox)
File
"/Users/breser/wandisco/share/wcs/svn-trunk/subversion/tests/cmdline/svnadmin_tests.py",
line 1800, in hotcopy_incremental_packed
None, expected_output, [], "pack", os.path.join(cwd, sbox.repo_dir))
File
"/Users/breser/wandisco/share/wcs/svn-trunk/subversion/tests/cmdline/svntest/actions.py",
line 230, in run_and_verify_svnadmin
expected_exit, *varargs)
File
"/Users/breser/wandisco/share/wcs/svn-trunk/subversion/tests/cmdline/svntest/actions.py",
line 238, in run_and_verify_svnadmin2
expected_stdout, expected_stderr)
File
"/Users/breser/wandisco/share/wcs/svn-trunk/subversion/tests/cmdline/svntest/verify.py",
line 452, in verify_outputs
compare_and_display_lines(message, label, expected, actual, raisable)
File
"/Users/breser/wandisco/share/wcs/svn-trunk/subversion/tests/cmdline/svntest/verify.py",
line 425, in compare_and_display_lines
raise raisable
SVNLineUnequal
FAIL: svnadmin_tests.py 28: 'svnadmin hotcopy --incremental' with packing
]]]
[[[
W: Unexpected output
W: EXPECTED STDOUT:
W: | Packing revisions in shard 0...done.
W: | Packing revisions in shard 1...done.
W: | Packing revisions in shard 2...done.
W: ACTUAL STDOUT:
W: DIFF STDOUT:
W: | --- EXPECTED STDOUT
W: | +++ ACTUAL STDOUT
W: | @@ -1,3 +0,0 @@
W: | -Packing revisions in shard 0...done.
W: | -Packing revisions in shard 1...done.
W: | -Packing revisions in shard 2...done.
W: CWD: /Users/breser/wandisco/builds/svn-trunk/subversion/tests/cmdline
W: EXCEPTION: SVNLineUnequal
Traceback (most recent call last):
File
"/Users/breser/wandisco/share/wcs/svn-trunk/subversion/tests/cmdline/svntest/main.py",
line 1598, in run
rc = self.pred.run(sandbox)
File
"/Users/breser/wandisco/share/wcs/svn-trunk/subversion/tests/cmdline/svntest/testcase.py",
line 254, in run
return self._delegate.run(sandbox)
File
"/Users/breser/wandisco/share/wcs/svn-trunk/subversion/tests/cmdline/svntest/testcase.py",
line 176, in run
return self.func(sandbox)
File
"/Users/breser/wandisco/share/wcs/svn-trunk/subversion/tests/cmdline/svnadmin_tests.py",
line 2375, in verify_packed
"pack", sbox.repo_dir)
File
"/Users/breser/wandisco/share/wcs/svn-trunk/subversion/tests/cmdline/svntest/actions.py",
line 230, in run_and_verify_svnadmin
expected_exit, *varargs)
File
"/Users/breser/wandisco/share/wcs/svn-trunk/subversion/tests/cmdline/svntest/actions.py",
line 238, in run_and_verify_svnadmin2
expected_stdout, expected_stderr)
File
"/Users/breser/wandisco/share/wcs/svn-trunk/subversion/tests/cmdline/svntest/verify.py",
line 452, in verify_outputs
compare_and_display_lines(message, label, expected, actual, raisable)
File
"/Users/breser/wandisco/share/wcs/svn-trunk/subversion/tests/cmdline/svntest/verify.py",
line 425, in compare_and_display_lines
raise raisable
SVNLineUnequal
FAIL: svnadmin_tests.py 39: verify packed with small shards
]]]
}}}
After some discussion on IRC I started trying to fix this by shifting the
PACK_AFTER_EVERY_COMMIT to a fsfs.conf configuration (committed in r1577362).
So that these tests could turn off packing after every commit to allow them to
actually test svnadmin packing.
Right now we have both PACK_AFTER_EVERY_COMMIT and a --fsfs-packing option to
our tests. The first one inserts a pack operation as part of the transaction
commit in the libsvn_fs library. The second one adds a post-commit hook that
does the pack.
According to Daniel, there was a bug found by PACK_AFTER_EVERY_COMMIT that the
--fsfs-packing option didn't find. I honestly don't see how unless the test
had its own post-commit hook, which there is a conflict. See:
http://svn.apache.org/r875598
My inclination here is to change --fsfs-packing to simply use the new fsfs.conf
option I set. Change the failing tests to no longer not run with packing and
instead change the conf to disable packing (i.e. allow individual tests to
override things like --fsfs-packing).
The alternative would be to fix the test suite to support multiple bits of code
for a single hook script. But that seems far more complicated.
Any other opinions here?
Received on 2014-03-14 00:52:30 CET