Merge lp:~jelmer/brz/shelving-directory-with-ignored into lp:brz

Proposed by Jelmer Vernooij
Status: Merged
Merged at revision: 6836
Proposed branch: lp:~jelmer/brz/shelving-directory-with-ignored
Merge into: lp:brz
Diff against target: 52 lines (+28/-0)
1 file modified
breezy/tests/test_shelf.py (+28/-0)
To merge this branch: bzr merge lp:~jelmer/brz/shelving-directory-with-ignored
Reviewer Review Type Date Requested Status
Martin Packman Approve
Review via email: mp+334650@code.launchpad.net

Description of the change

Add a test to demonstrate that shelving a directory with ignored file fails. #611739

Based on https://code.launchpad.net/~n142857/+junk/shelving-directory-with-ignored

To post a comment you must log in.
Revision history for this message
Martin Packman (gz) wrote :

Technically this should use one of the testtools helper methods, and also report unexpected success if the exception is not raised?

Revision history for this message
Martin Packman (gz) wrote :

Lets land and fixup later.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'breezy/tests/test_shelf.py'
--- breezy/tests/test_shelf.py 2017-11-17 03:06:50 +0000
+++ breezy/tests/test_shelf.py 2017-12-04 00:18:24 +0000
@@ -18,6 +18,7 @@
1818
19from .. import (19from .. import (
20 errors,20 errors,
21 ignores,
21 osutils,22 osutils,
22 shelf,23 shelf,
23 tests,24 tests,
@@ -29,6 +30,10 @@
29 )30 )
30from . import (31from . import (
31 features,32 features,
33 KnownFailure,
34 )
35from .errors import (
36 MalformedTransform,
32 )37 )
3338
3439
@@ -226,6 +231,29 @@
226 creator.transform()231 creator.transform()
227 self.check_shelve_creation(creator, tree)232 self.check_shelve_creation(creator, tree)
228233
234 def test_shelve_directory_with_ignored(self):
235 tree = self.make_branch_and_tree('.')
236 tree.lock_write()
237 self.addCleanup(tree.unlock)
238 tree.commit('Empty tree')
239 self.build_tree_contents([('foo', 'a\n'), ('bar/',), ('bar/ignored','ign\n')])
240 tree.add(['foo', 'bar'], ['foo-id', 'bar-id'])
241 creator = shelf.ShelfCreator(tree, tree.basis_tree())
242 self.addCleanup(creator.finalize)
243 self.assertEqual([('add file', 'bar-id', 'directory', 'bar'),
244 ('add file', 'foo-id', 'file', 'foo')],
245 sorted(list(creator.iter_shelvable())))
246 ignores._set_user_ignores([])
247 in_patterns = ['ignored',]
248 ignores.add_unique_user_ignores(in_patterns)
249
250 creator.shelve_change(('add file', 'bar-id', 'directory', 'bar'))
251 try:
252 creator.transform()
253 self.check_shelve_creation(creator, tree)
254 except MalformedTransform:
255 raise KnownFailure('shelving directory with ignored file: see bug #611739')
256
229 def _test_shelve_symlink_creation(self, link_name, link_target,257 def _test_shelve_symlink_creation(self, link_name, link_target,
230 shelve_change=False):258 shelve_change=False):
231 self.requireFeature(features.SymlinkFeature)259 self.requireFeature(features.SymlinkFeature)

Subscribers

People subscribed via source and target branches