Mercurial > hgsubversion
annotate tests/test_svn_pre_commit_hooks.py @ 1434:0a6b3da6d34c
RevMap: move lastpulled from SVNMeta down into RevMap
There was a conceptual cycle present between the revmap and the meta
object caused by this layering, which is nicely resolved by moving the
lastpulled information down into the revmap.
RevMap no longer makes use of meta outside the constructor, which is
great progress.
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Sun, 05 Jun 2016 21:18:23 -0400 |
parents | d741f536f23a |
children | cff81f35b31e |
rev | line source |
---|---|
987
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
1 import os |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
2 import sys |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
3 import test_util |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
4 import unittest |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
5 |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
6 from mercurial import hg |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
7 from mercurial import commands |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
8 from mercurial import util |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
9 |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
10 |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
11 class TestSvnPreCommitHooks(test_util.TestBase): |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
12 def setUp(self): |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
13 super(TestSvnPreCommitHooks, self).setUp() |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
14 self.repo_path = self.load_and_fetch('single_rev.svndump')[1] |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
15 # creating pre-commit hook that doesn't allow any commit |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
16 hook_file_name = os.path.join( |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
17 self.repo_path, 'hooks', 'pre-commit' |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
18 ) |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
19 hook_file = open(hook_file_name, 'w') |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
20 hook_file.write( |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
21 '#!/bin/sh\n' |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
22 'echo "Commits are not allowed" >&2; exit 1;\n' |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
23 ) |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
24 hook_file.close() |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
25 os.chmod(hook_file_name, 0755) |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
26 |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
27 def test_push_with_pre_commit_hooks(self): |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
28 changes = [('narf/a', 'narf/a', 'ohai',), |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
29 ] |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
30 self.commitchanges(changes) |
cf53cfaaa050
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
Anton Agafonov <equeny@fb.com>
parents:
diff
changeset
|
31 self.assertRaises(util.Abort, self.pushrevisions) |