Rev 6477: (gz) Merge 2.5 for fixes to texinfo doc script and btree tests (Martin in file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/
Patch Queue Manager
pqm at pqm.ubuntu.com
Mon Feb 27 15:20:55 UTC 2012
At file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 6477 [merge]
revision-id: pqm at pqm.ubuntu.com-20120227152055-sw2fya70kpfk3h4y
parent: pqm at pqm.ubuntu.com-20120225152853-nz1w2gsfv7lc1yq4
parent: martin.packman at canonical.com-20120227145041-gc9wmhu97liqc9se
committer: Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Mon 2012-02-27 15:20:55 +0000
message:
(gz) Merge 2.5 for fixes to texinfo doc script and btree tests (Martin
Packman)
modified:
bzrlib/doc_generate/builders/texinfo.py texinfo_builder.py-20100428165122-t24toqlqz1nxzsc0-1
bzrlib/tests/test_btree_index.py test_index.py-20080624222253-p0x5f92uyh5hw734-13
doc/en/release-notes/bzr-2.4.txt bzr2.4.txt-20110114053217-k7ym9jfz243fddjm-1
=== modified file 'bzrlib/doc_generate/builders/texinfo.py'
--- a/bzrlib/doc_generate/builders/texinfo.py 2012-02-24 10:07:50 +0000
+++ b/bzrlib/doc_generate/builders/texinfo.py 2012-02-24 13:35:31 +0000
@@ -41,5 +41,4 @@
def setup(app):
- import pdb; pdb.set_trace()
app.add_builder(TexinfoBuilder)
=== modified file 'bzrlib/tests/test_btree_index.py'
--- a/bzrlib/tests/test_btree_index.py 2011-11-16 20:59:10 +0000
+++ b/bzrlib/tests/test_btree_index.py 2012-02-27 13:07:18 +0000
@@ -103,6 +103,16 @@
self.overrideAttr(btree_index, '_PAGE_SIZE')
btree_index._PAGE_SIZE = 2048
+ def assertEqualsApproxCompressed(self, expected, actual, slop=6):
+ """Check a count of compressed bytes is approximately as expected
+
+ Relying on compressed length being stable even with fixed inputs is
+ slightly bogus, but zlib is stable enough that this mostly works.
+ """
+ if not expected - slop < actual < expected + slop:
+ self.fail("Expected around %d bytes compressed but got %d" %
+ (expected, actual))
+
class TestBTreeBuilder(BTreeTestCase):
@@ -199,7 +209,7 @@
temp_file = builder.finish()
content = temp_file.read()
del temp_file
- self.assertEqual(9283, len(content))
+ self.assertEqualsApproxCompressed(9283, len(content))
self.assertEqual(
"B+Tree Graph Index 2\nnode_ref_lists=0\nkey_elements=1\nlen=400\n"
"row_lengths=1,2\n",
@@ -233,7 +243,7 @@
temp_file = builder.finish()
content = temp_file.read()
del temp_file
- self.assertEqual(155, len(content))
+ self.assertEqualsApproxCompressed(155, len(content))
self.assertEqual(
"B+Tree Graph Index 2\nnode_ref_lists=0\nkey_elements=1\nlen=10\n"
"row_lengths=1\n",
@@ -255,7 +265,7 @@
temp_file = builder.finish()
content = temp_file.read()
del temp_file
- self.assertEqual(9283, len(content))
+ self.assertEqualsApproxCompressed(9283, len(content))
self.assertEqual(
"B+Tree Graph Index 2\nnode_ref_lists=0\nkey_elements=1\nlen=400\n"
"row_lengths=1,2\n",
@@ -314,7 +324,7 @@
temp_file = builder.finish()
content = temp_file.read()
del temp_file
- self.assertEqual(12643, len(content))
+ self.assertEqualsApproxCompressed(12643, len(content))
self.assertEqual(
"B+Tree Graph Index 2\nnode_ref_lists=2\nkey_elements=2\nlen=200\n"
"row_lengths=1,3\n",
@@ -700,7 +710,7 @@
# The entire index should have been read, as it is one page long.
self.assertEqual([('readv', 'index', [(0, size)], False, None)],
t._activity)
- self.assertEqual(1173, size)
+ self.assertEqualsApproxCompressed(1173, size)
def test_with_offset_no_size(self):
index = self.make_index_with_offset(key_elements=1, ref_lists=1,
@@ -750,7 +760,7 @@
builder.add_node(*node)
t = transport.get_transport_from_url('trace+' + self.get_url(''))
size = t.put_file('index', builder.finish())
- self.assertEqual(17692, size)
+ self.assertEqualsApproxCompressed(17692, size)
index = btree_index.BTreeGraphIndex(t, 'index', size)
del t._activity[:]
self.assertEqual([], t._activity)
@@ -773,7 +783,7 @@
# The entire index should have been read linearly.
self.assertEqual([('readv', 'index', [(0, size)], False, None)],
t._activity)
- self.assertEqual(1488, size)
+ self.assertEqualsApproxCompressed(1488, size)
def test_validate_two_pages(self):
builder = btree_index.BTreeBuilder(key_elements=2, reference_lists=2)
@@ -783,15 +793,16 @@
t = transport.get_transport_from_url('trace+' + self.get_url(''))
size = t.put_file('index', builder.finish())
# Root page, 2 leaf pages
- self.assertEqual(9339, size)
+ self.assertEqualsApproxCompressed(9339, size)
index = btree_index.BTreeGraphIndex(t, 'index', size)
del t._activity[:]
self.assertEqual([], t._activity)
index.validate()
+ rem = size - 8192 # Number of remaining bytes after second block
# The entire index should have been read linearly.
self.assertEqual(
[('readv', 'index', [(0, 4096)], False, None),
- ('readv', 'index', [(4096, 4096), (8192, 1147)], False, None)],
+ ('readv', 'index', [(4096, 4096), (8192, rem)], False, None)],
t._activity)
# XXX: TODO: write some badly-ordered nodes, and some pointers-to-wrong
# node and make validate find them.
@@ -860,8 +871,6 @@
builder.add_node(*node)
t = transport.get_transport_from_url('trace+' + self.get_url(''))
size = t.put_file('index', builder.finish())
- self.assertEqual(1303220, size, 'number of expected bytes in the'
- ' output changed')
page_size = btree_index._PAGE_SIZE
del builder
index = btree_index.BTreeGraphIndex(t, 'index', size)
@@ -883,7 +892,7 @@
# The entire index should have been read
total_pages = sum(index._row_lengths)
self.assertEqual(total_pages, index._row_offsets[-1])
- self.assertEqual(1303220, size)
+ self.assertEqualsApproxCompressed(1303220, size)
# The start of the leaves
first_byte = index._row_offsets[-2] * page_size
readv_request = []
=== modified file 'doc/en/release-notes/bzr-2.4.txt'
--- a/doc/en/release-notes/bzr-2.4.txt 2011-12-05 14:21:55 +0000
+++ b/doc/en/release-notes/bzr-2.4.txt 2012-02-27 13:07:18 +0000
@@ -79,6 +79,9 @@
suite. This can include new facilities for writing tests, fixes to
spurious test failures and changes to the way things should be tested.
+* Account for slightly improved compression with newer versions of zlib in
+ ``bt.test_btree_index`` tests. (Martin Packman, #940453)
+
bzr 2.4.2
#########
More information about the bazaar-commits
mailing list