Mercurial > hgsubversion
comparison tests/test_push_dirs.py @ 869:db3a651494f9
test_util: pass repo_path to svnls(), turn it into a function
| author | Patrick Mezard <patrick@mezard.eu> |
|---|---|
| date | Thu, 19 Apr 2012 18:29:30 +0200 |
| parents | 312b37bc5e20 |
| children | d741f536f23a |
comparison
equal
deleted
inserted
replaced
| 868:cc1c870f1758 | 869:db3a651494f9 |
|---|---|
| 2 | 2 |
| 3 import unittest | 3 import unittest |
| 4 | 4 |
| 5 class TestPushDirectories(test_util.TestBase): | 5 class TestPushDirectories(test_util.TestBase): |
| 6 def test_push_dirs(self): | 6 def test_push_dirs(self): |
| 7 self._load_fixture_and_fetch('emptyrepo.svndump') | 7 repo_path = self.load_and_fetch('emptyrepo.svndump')[1] |
| 8 | 8 |
| 9 changes = [ | 9 changes = [ |
| 10 # Single file in single directory | 10 # Single file in single directory |
| 11 ('d1/a', 'd1/a', 'a\n'), | 11 ('d1/a', 'd1/a', 'a\n'), |
| 12 # Two files in one directory | 12 # Two files in one directory |
| 16 ('d31/d32/d33/d34/a', 'd31/d32/d33/d34/a', 'a\n'), | 16 ('d31/d32/d33/d34/a', 'd31/d32/d33/d34/a', 'a\n'), |
| 17 ('d31/d32/a', 'd31/d32/a', 'a\n'), | 17 ('d31/d32/a', 'd31/d32/a', 'a\n'), |
| 18 ] | 18 ] |
| 19 self.commitchanges(changes) | 19 self.commitchanges(changes) |
| 20 self.pushrevisions() | 20 self.pushrevisions() |
| 21 self.assertEqual(self.svnls('trunk'), | 21 self.assertEqual(test_util.svnls(repo_path, 'trunk'), |
| 22 ['d1', 'd1/a', 'd2', 'd2/a', 'd2/b', 'd31', | 22 ['d1', 'd1/a', 'd2', 'd2/a', 'd2/b', 'd31', |
| 23 'd31/d32', 'd31/d32/a', 'd31/d32/d33', | 23 'd31/d32', 'd31/d32/a', 'd31/d32/d33', |
| 24 'd31/d32/d33/d34', 'd31/d32/d33/d34/a']) | 24 'd31/d32/d33/d34', 'd31/d32/d33/d34/a']) |
| 25 | 25 |
| 26 # Add one revision with changed files only, no directory addition | 26 # Add one revision with changed files only, no directory addition |
| 40 # Removing this file should remove one empty parent dir too | 40 # Removing this file should remove one empty parent dir too |
| 41 ('d31/d32/d33/d34/a', None, None), | 41 ('d31/d32/d33/d34/a', None, None), |
| 42 ] | 42 ] |
| 43 self.commitchanges(changes) | 43 self.commitchanges(changes) |
| 44 self.pushrevisions() | 44 self.pushrevisions() |
| 45 self.assertEqual(self.svnls('trunk'), | 45 self.assertEqual(test_util.svnls(repo_path, 'trunk'), |
| 46 ['d2', 'd2/b', 'd31', 'd31/d32', 'd31/d32/a', ]) | 46 ['d2', 'd2/b', 'd31', 'd31/d32', 'd31/d32/a', ]) |
| 47 | 47 |
| 48 def test_push_new_dir_project_root_not_repo_root(self): | 48 def test_push_new_dir_project_root_not_repo_root(self): |
| 49 self._load_fixture_and_fetch('fetch_missing_files_subdir.svndump', | 49 repo_path = self.load_and_fetch('fetch_missing_files_subdir.svndump', |
| 50 subdir='foo') | 50 subdir='foo')[1] |
| 51 changes = [('magic_new/a', 'magic_new/a', 'ohai',), | 51 changes = [('magic_new/a', 'magic_new/a', 'ohai',), |
| 52 ] | 52 ] |
| 53 self.commitchanges(changes) | 53 self.commitchanges(changes) |
| 54 self.pushrevisions() | 54 self.pushrevisions() |
| 55 self.assertEqual(self.svnls('foo/trunk'), ['bar', | 55 self.assertEqual(test_util.svnls(repo_path, 'foo/trunk'), ['bar', |
| 56 'bar/alpha', | 56 'bar/alpha', |
| 57 'bar/beta', | 57 'bar/beta', |
| 58 'bar/delta', | 58 'bar/delta', |
| 59 'bar/gamma', | 59 'bar/gamma', |
| 60 'foo', | 60 'foo', |
| 61 'magic_new', | 61 'magic_new', |
| 62 'magic_new/a']) | 62 'magic_new/a']) |
| 63 | 63 |
| 64 def test_push_new_file_existing_dir_root_not_repo_root(self): | 64 def test_push_new_file_existing_dir_root_not_repo_root(self): |
| 65 self._load_fixture_and_fetch('empty_dir_in_trunk_not_repo_root.svndump', | 65 repo_path = self.load_and_fetch('empty_dir_in_trunk_not_repo_root.svndump', |
| 66 subdir='project') | 66 subdir='project')[1] |
| 67 changes = [('narf/a', 'narf/a', 'ohai',), | 67 changes = [('narf/a', 'narf/a', 'ohai',), |
| 68 ] | 68 ] |
| 69 self.commitchanges(changes) | 69 self.commitchanges(changes) |
| 70 self.assertEqual(self.svnls('project/trunk'), ['a', | 70 self.assertEqual(test_util.svnls(repo_path, 'project/trunk'), ['a', |
| 71 'narf', | 71 'narf', |
| 72 ]) | 72 ]) |
| 73 self.pushrevisions() | 73 self.pushrevisions() |
| 74 self.assertEqual(self.svnls('project/trunk'), ['a', | 74 self.assertEqual(test_util.svnls(repo_path, 'project/trunk'), ['a', |
| 75 'narf', | 75 'narf', |
| 76 'narf/a']) | 76 'narf/a']) |
| 77 changes = [('narf/a', None, None,), | 77 changes = [('narf/a', None, None,), |
| 78 ] | 78 ] |
| 79 self.commitchanges(changes) | 79 self.commitchanges(changes) |
| 80 self.pushrevisions() | 80 self.pushrevisions() |
| 81 self.assertEqual(self.svnls('project/trunk'), ['a']) | 81 self.assertEqual(test_util.svnls(repo_path, 'project/trunk'), ['a']) |
| 82 | 82 |
| 83 def test_push_single_dir_change_in_subdir(self): | 83 def test_push_single_dir_change_in_subdir(self): |
| 84 # Tests simple pushing from default branch to a single dir repo | 84 # Tests simple pushing from default branch to a single dir repo |
| 85 # Changes a file in a subdir (regression). | 85 # Changes a file in a subdir (regression). |
| 86 repo = self._load_fixture_and_fetch('branch_from_tag.svndump', | 86 repo, repo_path = self.load_and_fetch('branch_from_tag.svndump', |
| 87 stupid=False, | 87 stupid=False, |
| 88 layout='single', | 88 layout='single', |
| 89 subdir='tags') | 89 subdir='tags') |
| 90 changes = [('tag_r3/alpha', 'tag_r3/alpha', 'foo'), | 90 changes = [('tag_r3/alpha', 'tag_r3/alpha', 'foo'), |
| 91 ('tag_r3/new', 'tag_r3/new', 'foo'), | 91 ('tag_r3/new', 'tag_r3/new', 'foo'), |
| 92 ('new_dir/new', 'new_dir/new', 'foo'), | 92 ('new_dir/new', 'new_dir/new', 'foo'), |
| 93 ] | 93 ] |
| 94 self.commitchanges(changes) | 94 self.commitchanges(changes) |
| 95 self.pushrevisions() | 95 self.pushrevisions() |
| 96 self.assertEqual(self.svnls('tags'), | 96 self.assertEqual(test_util.svnls(repo_path, 'tags'), |
| 97 ['copied_tag', | 97 ['copied_tag', |
| 98 'copied_tag/alpha', | 98 'copied_tag/alpha', |
| 99 'copied_tag/beta', | 99 'copied_tag/beta', |
| 100 'new_dir', | 100 'new_dir', |
| 101 'new_dir/new', | 101 'new_dir/new', |
