Mercurial > hgsubversion
annotate tests/comprehensive/test_obsstore_on.py @ 1588:e2d38f6b8afe
tests: make output comaptible with hash changes in hg-4.8
46da52f4b820 in core mercurial added logic to try hard to reuse manifest if we
can. In the tests of hgsubversion, there are lot of cases we create an empty
commit with just branch name changed. In hg < 4.8, hgsubversion used to create a
new manifest entry for that commit but after that patch, empty commit started
using the manifest of the parent leading to hash change.
author | Pulkit Goyal <pulkit@yandex-team.ru> |
---|---|
date | Wed, 31 Oct 2018 17:04:57 +0300 |
parents | fbc22592f4fa |
children |
rev | line source |
---|---|
1516
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
1 import os |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
2 import sys |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
3 |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
4 # wrapped in a try/except because of weirdness in how |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
5 # run.py works as compared to nose. |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
6 try: |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
7 import test_util |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
8 except ImportError: |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
9 sys.path.insert(0, os.path.dirname(os.path.dirname(__file__))) |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
10 import test_util |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
11 |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
12 import test_push_command |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
13 |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
14 |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
15 class ObsstoreOnMixIn(object): |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
16 # do not double the test size by being wrapped again |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
17 obsolete_mode_tests = False |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
18 stupid_mode_tests = False |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
19 |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
20 def setUp(self): |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
21 super(ObsstoreOnMixIn, self).setUp() |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
22 hgrcpath = os.environ.get('HGRCPATH') |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
23 assert hgrcpath |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
24 with open(hgrcpath, 'a') as f: |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
25 f.write('\n[experimental]\nevolution=createmarkers\n') |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
26 |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
27 def shortDescription(self): |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
28 text = super(ObsstoreOnMixIn, self).shortDescription() |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
29 if text: |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
30 text += ' (obsstore on)' |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
31 return text |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
32 |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
33 |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
34 def buildtestclass(cls): |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
35 name = 'ObsstoreOn%s' % cls.__name__ |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
36 newcls = type(name, (ObsstoreOnMixIn, cls,), {}) |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
37 globals()[name] = newcls |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
38 |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
39 |
fbc22592f4fa
push: lock repo before calling createmarkers
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
40 buildtestclass(test_push_command.PushTests) |