Mercurial > hgsubversion
view tests/test_svn_pre_commit_hooks.py @ 1474:f21605bcda24
tests: add the sqlite revmap test
The SqliteRevMap test generates new tests based on existing tests.
The generated tests will use SqliteRevMap instead of RevMap.
Tests are selected if they are both interesting and fast. For comprehensive
tests like rebuildmeta and updatemeta, only a few svndumps are selected.
On my laptop vm, the sqlite revmap test completes within 6.2s.
Note: the current way tests are running will not gc the database connections
well, meaning it can leak fd. Fortunately it's only 55 tests now. If we add
a lot more tests in the future, be aware of the fd leak issue.
author | Jun Wu <quark@fb.com> |
---|---|
date | Fri, 27 May 2016 15:48:16 +0100 |
parents | d741f536f23a |
children | cff81f35b31e |
line wrap: on
line source
import os import sys import test_util import unittest from mercurial import hg from mercurial import commands from mercurial import util class TestSvnPreCommitHooks(test_util.TestBase): def setUp(self): super(TestSvnPreCommitHooks, self).setUp() self.repo_path = self.load_and_fetch('single_rev.svndump')[1] # creating pre-commit hook that doesn't allow any commit hook_file_name = os.path.join( self.repo_path, 'hooks', 'pre-commit' ) hook_file = open(hook_file_name, 'w') hook_file.write( '#!/bin/sh\n' 'echo "Commits are not allowed" >&2; exit 1;\n' ) hook_file.close() os.chmod(hook_file_name, 0755) def test_push_with_pre_commit_hooks(self): changes = [('narf/a', 'narf/a', 'ohai',), ] self.commitchanges(changes) self.assertRaises(util.Abort, self.pushrevisions)