annotate tests/test_fetch_dir_removal.py @ 1539:0ebcc5bbf692

tests: when making a `memctx`, make sure to use a single repo instance The way self.repo is dynamic produces bad lock behavior because the `context.memctx` ends up with a different instance than self in `localrepo.commitctx`, which means the callbacks in the `memctx` get an unlocked repo instance. This causes lock warning failures. When it's not a code freeze for core, we should probably: * Make lock failures hard, not just warnings * Stop holding a repo reference in memctx, or otherwise check it's the same instance as `self` during `localrepo.commitctx` That's my best guess based on the (very hard to debug) test failures here.
author Augie Fackler <raf@durin42.com>
date Sat, 28 Oct 2017 21:34:52 -0400
parents 8c7dae2e0f54
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1509
8c7dae2e0f54 svnwrap: don't add paths to revision outside of subdir
Ivan Lezhankin <ilezhankin@yandex-team.ru>
parents:
diff changeset
1 import test_util
8c7dae2e0f54 svnwrap: don't add paths to revision outside of subdir
Ivan Lezhankin <ilezhankin@yandex-team.ru>
parents:
diff changeset
2
8c7dae2e0f54 svnwrap: don't add paths to revision outside of subdir
Ivan Lezhankin <ilezhankin@yandex-team.ru>
parents:
diff changeset
3 import sys
8c7dae2e0f54 svnwrap: don't add paths to revision outside of subdir
Ivan Lezhankin <ilezhankin@yandex-team.ru>
parents:
diff changeset
4 import unittest
8c7dae2e0f54 svnwrap: don't add paths to revision outside of subdir
Ivan Lezhankin <ilezhankin@yandex-team.ru>
parents:
diff changeset
5
8c7dae2e0f54 svnwrap: don't add paths to revision outside of subdir
Ivan Lezhankin <ilezhankin@yandex-team.ru>
parents:
diff changeset
6 class TestFetchDirectoryRemoval(test_util.TestBase):
8c7dae2e0f54 svnwrap: don't add paths to revision outside of subdir
Ivan Lezhankin <ilezhankin@yandex-team.ru>
parents:
diff changeset
7 stupid_mode_tests = True
8c7dae2e0f54 svnwrap: don't add paths to revision outside of subdir
Ivan Lezhankin <ilezhankin@yandex-team.ru>
parents:
diff changeset
8
8c7dae2e0f54 svnwrap: don't add paths to revision outside of subdir
Ivan Lezhankin <ilezhankin@yandex-team.ru>
parents:
diff changeset
9 def test_removal(self):
8c7dae2e0f54 svnwrap: don't add paths to revision outside of subdir
Ivan Lezhankin <ilezhankin@yandex-team.ru>
parents:
diff changeset
10 repo = self._load_fixture_and_fetch('dir_removal.svndump',
8c7dae2e0f54 svnwrap: don't add paths to revision outside of subdir
Ivan Lezhankin <ilezhankin@yandex-team.ru>
parents:
diff changeset
11 layout='single',
8c7dae2e0f54 svnwrap: don't add paths to revision outside of subdir
Ivan Lezhankin <ilezhankin@yandex-team.ru>
parents:
diff changeset
12 subdir='dir1')
8c7dae2e0f54 svnwrap: don't add paths to revision outside of subdir
Ivan Lezhankin <ilezhankin@yandex-team.ru>
parents:
diff changeset
13 self.assertEqual(sorted(repo['tip'].manifest().keys()),
8c7dae2e0f54 svnwrap: don't add paths to revision outside of subdir
Ivan Lezhankin <ilezhankin@yandex-team.ru>
parents:
diff changeset
14 ['1.txt', 'dir2/2.txt'])
8c7dae2e0f54 svnwrap: don't add paths to revision outside of subdir
Ivan Lezhankin <ilezhankin@yandex-team.ru>
parents:
diff changeset
15 extra = repo['tip'].extra().copy()
8c7dae2e0f54 svnwrap: don't add paths to revision outside of subdir
Ivan Lezhankin <ilezhankin@yandex-team.ru>
parents:
diff changeset
16 extra.pop('convert_revision', None)
8c7dae2e0f54 svnwrap: don't add paths to revision outside of subdir
Ivan Lezhankin <ilezhankin@yandex-team.ru>
parents:
diff changeset
17 self.assertEqual(extra, {'branch': 'default'})