1
# Copyright (C) 2005-2010 Canonical Ltd
1
# Copyright (C) 2005 Canonical Ltd
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
94
93
tree3.commit('Feature Y, based on initial X work.',
95
94
timestamp=1233285960, timezone=0)
96
95
tree.merge_from_branch(tree2.branch)
97
tree.merge_from_branch(tree3.branch, force=True)
96
tree.merge_from_branch(tree3.branch)
100
99
def test_commit_template_pending_merges(self):
360
356
msgeditor.generate_commit_message_template(commit_obj))
362
358
def test_generate_commit_message_template_hook(self):
359
def restoreDefaults():
360
msgeditor.hooks['commit_message_template'] = []
361
self.addCleanup(restoreDefaults)
363
362
msgeditor.hooks.install_named_hook("commit_message_template",
364
363
lambda commit_obj, msg: "save me some typing\n", None)
365
364
commit_obj = commit.Commit()
366
365
self.assertEquals("save me some typing\n",
367
366
msgeditor.generate_commit_message_template(commit_obj))
370
# GZ 2009-11-17: This wants moving to osutils when the errno checking code is
371
class TestPlatformErrnoWorkarounds(TestCaseInTempDir):
372
"""Ensuring workarounds enshrined in code actually serve a purpose"""
374
def test_subprocess_call_bad_file(self):
375
if sys.platform != "win32":
376
raise TestNotApplicable("Workarounds for windows only")
377
import subprocess, errno
378
ERROR_BAD_EXE_FORMAT = 193
379
file("textfile.txt", "w").close()
380
e = self.assertRaises(WindowsError, subprocess.call, "textfile.txt")
381
# Python2.4 used the 'winerror' as the errno, which confuses a lot of
382
# our error trapping code. Make sure that we understand the mapping
384
if sys.version_info >= (2, 5):
385
self.assertEqual(e.errno, errno.ENOEXEC)
386
self.assertEqual(e.winerror, ERROR_BAD_EXE_FORMAT)
388
self.assertEqual(e.errno, ERROR_BAD_EXE_FORMAT)