Rev 4807: No test was exercising the faulty code path. in file:///home/vila/src/bzr/releases/2.1.0/
Vincent Ladeuil
v.ladeuil+lp at free.fr
Mon Feb 1 17:29:45 GMT 2010
At file:///home/vila/src/bzr/releases/2.1.0/
------------------------------------------------------------
revno: 4807
revision-id: v.ladeuil+lp at free.fr-20100201172944-u41q2lw8jehlojv5
parent: pqm at pqm.ubuntu.com-20100130093410-xyutv8mobva3juuo
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 2.1.0
timestamp: Mon 2010-02-01 18:29:44 +0100
message:
No test was exercising the faulty code path.
* bzrlib/tests/test_merge.py:
(TestConfigurableFileMerger.test_affected_files_cached.SimplePlan):
Make the test really do something to at least provide a minimal
coverage.
* bzrlib/merge.py:
(ConfigurableFileMerger.merge_contents): Fix typo.
-------------- next part --------------
=== modified file 'NEWS'
--- a/NEWS 2010-01-30 09:01:03 +0000
+++ b/NEWS 2010-02-01 17:29:44 +0000
@@ -26,6 +26,9 @@
increase memory pressure on processes using threads.
(Robert Collins, John Arbash Meinel, #514090)
+* The new ``merge_file_content`` should now be ok with tests to avoid
+ regressions.
+ (Vincent Ladeuil)
bzr 2.1.0rc2
############
=== modified file 'bzrlib/merge.py'
--- a/bzrlib/merge.py 2010-01-28 18:05:44 +0000
+++ b/bzrlib/merge.py 2010-02-01 17:29:44 +0000
@@ -99,9 +99,14 @@
This is a base class for concrete custom file merging logic. Concrete
classes should implement ``merge_text``.
+ See ``bzrlib.plugins.news_merge.news_merge`` for an example concrete class.
+
:ivar affected_files: The configured file paths to merge.
+
:cvar name_prefix: The prefix to use when looking up configuration
- details.
+ details. <name_prefix>_merge_files describes the files targeted by the
+ hook for example.
+
:cvar default_files: The default file paths to merge when no configuration
is present.
"""
@@ -118,6 +123,11 @@
raise ValueError("name_prefix must be set.")
def filename_matches_config(self, params):
+ """Check whether the file should call the merge hook.
+
+ <name_prefix>_merge_files configuration variable is a list of files
+ that should use the hook.
+ """
affected_files = self.affected_files
if affected_files is None:
config = self.merger.this_tree.branch.get_config()
@@ -150,7 +160,7 @@
# option.
not self.filename_matches_config(params)):
return 'not_applicable', None
- return self.merge_text(self, params)
+ return self.merge_text(params)
def merge_text(self, params):
"""Merge the byte contents of a single file.
=== modified file 'bzrlib/tests/test_merge.py'
--- a/bzrlib/tests/test_merge.py 2010-01-28 18:05:44 +0000
+++ b/bzrlib/tests/test_merge.py 2010-02-01 17:29:44 +0000
@@ -2845,20 +2845,20 @@
"""Ensures that the config variable is cached"""
class SimplePlan(_mod_merge.ConfigurableFileMerger):
name_prefix = "foo"
- default_files = ["my default"]
+ default_files = ['bar']
def merge_text(self, params):
- return ('not applicable', None)
+ return ('not_applicable', None)
def factory(merger):
result = SimplePlan(merger)
self.assertEqual(None, result.affected_files)
self.merger = result
return result
_mod_merge.Merger.hooks.install_named_hook('merge_file_content',
- factory, 'test factory')
+ factory, 'test factory')
builder = test_merge_core.MergeBuilder(self.test_base_dir)
self.addCleanup(builder.cleanup)
- builder.add_file('NEWS', builder.tree_root, 'name1', 'text1', True)
- builder.change_contents('NEWS', other='text4', this='text3')
+ builder.add_file('bar-id', builder.tree_root, 'bar', 'text1', True)
+ builder.change_contents('bar-id', other='text4', this='text3')
conflicts = builder.merge()
# The hook should set the variable
- self.assertEqual(["my default"], self.merger.affected_files)
+ self.assertEqual(['bar'], self.merger.affected_files)
More information about the bazaar-commits
mailing list