Mercurial > hgsubversion
annotate tests/test_fetch_exec.py @ 933:a9f315eae67c
push: use native rebase instead of our rebase wrapper
Our rebase wrapper doesn't quite do the right thing with repect to a
just-pushed revision. In particular, it will try to rebase the
just-pushed revision on top of the version of that revision we just
pulled down from svn. This will sometimes result in a local revision
with an identical commit message as the revision from svn, but no file
changes.
This changes the rebase portion of the push command to instead use the
native rebase with a revset that excludes the revision we just pushed
to svn from the set to be rebased. It also moves to a single strip
operation that removes all of the revisions based on a pre-push or
partially pushed revision. This moves to a separate rebase and strip
operation since we now need to strip revisions we are not rebasing.
author | David Schleimer <dschleimer@fb.com> |
---|---|
date | Mon, 24 Sep 2012 10:18:28 -0700 |
parents | 04729f3a3d17 |
children | d741f536f23a |
rev | line source |
---|---|
643
d2ef7220a079
tests: import test_util as the first module in all relevant tests
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
158
diff
changeset
|
1 import test_util |
d2ef7220a079
tests: import test_util as the first module in all relevant tests
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
158
diff
changeset
|
2 |
125
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
3 import unittest |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
4 |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
5 from mercurial import node |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
6 |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
7 class TestFetchExec(test_util.TestBase): |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
8 def assertexec(self, ctx, files, isexec=True): |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
9 for f in files: |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
10 self.assertEqual(isexec, 'x' in ctx[f].flags()) |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
11 |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
12 def test_exec(self, stupid=False): |
865
04729f3a3d17
test_util: merge load_fixture_and_fetch() into TestBase method
Patrick Mezard <patrick@mezard.eu>
parents:
833
diff
changeset
|
13 repo = self._load_fixture_and_fetch('executebit.svndump', stupid=stupid) |
125
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
14 self.assertexec(repo[0], ['text1', 'binary1', 'empty1'], True) |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
15 self.assertexec(repo[0], ['text2', 'binary2', 'empty2'], False) |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
16 self.assertexec(repo[1], ['text1', 'binary1', 'empty1'], False) |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
17 self.assertexec(repo[1], ['text2', 'binary2', 'empty2'], True) |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
18 |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
19 def test_exec_stupid(self): |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
20 self.test_exec(True) |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
21 |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
22 def test_empty_prop_val_executable(self, stupid=False): |
865
04729f3a3d17
test_util: merge load_fixture_and_fetch() into TestBase method
Patrick Mezard <patrick@mezard.eu>
parents:
833
diff
changeset
|
23 repo = self._load_fixture_and_fetch('executable_file_empty_prop.svndump', |
04729f3a3d17
test_util: merge load_fixture_and_fetch() into TestBase method
Patrick Mezard <patrick@mezard.eu>
parents:
833
diff
changeset
|
24 stupid=stupid) |
125
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
25 self.assertEqual(node.hex(repo['tip'].node()), |
154
6fa97cfbf62f
fetch: Refactor extra creation to be shared by real and diff replay.
Augie Fackler <durin42@gmail.com>
parents:
125
diff
changeset
|
26 '08e6b380bf291b361a418203a1cb9427213cd1fd') |
125
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
27 self.assertEqual(repo['tip']['foo'].flags(), 'x') |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
28 |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
29 def test_empty_prop_val_executable_stupid(self): |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
30 self.test_empty_prop_val_executable(True) |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
31 |
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
32 def suite(): |
833
312b37bc5e20
tests: avoid shadowing Python builtin all()
Yonggang Luo <luoyonggang@gmail.com>
parents:
643
diff
changeset
|
33 all_tests = [unittest.TestLoader().loadTestsFromTestCase(TestFetchExec), |
125
c35f59aa200e
Move and complete execute bit conversion tests into test_fetch_exec.py
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
34 ] |
833
312b37bc5e20
tests: avoid shadowing Python builtin all()
Yonggang Luo <luoyonggang@gmail.com>
parents:
643
diff
changeset
|
35 return unittest.TestSuite(all_tests) |