view tests/test_svn_pre_commit_hooks.py @ 1177:8caf1226adec stable 1.6.1

test_template_keywords: handle changeset output ordering change in hg 3.0 hg change 69402eb72115 caused commands.log to produce a more sensible ordering for this log invocation (namely, it now matches the graphlog ordering). In order to portably test across hg versions, use graphlog output to test these keyword functions.
author Augie Fackler <raf@durin42.com>
date Fri, 02 May 2014 09:27:31 -0400
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)