1
# Copyright (C) 2005 Canonical Ltd
1
# Copyright (C) 2005-2010 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
93
94
tree3.commit('Feature Y, based on initial X work.',
94
95
timestamp=1233285960, timezone=0)
95
96
tree.merge_from_branch(tree2.branch)
96
tree.merge_from_branch(tree3.branch)
97
tree.merge_from_branch(tree3.branch, force=True)
99
100
def test_commit_template_pending_merges(self):
356
360
msgeditor.generate_commit_message_template(commit_obj))
358
362
def test_generate_commit_message_template_hook(self):
359
def restoreDefaults():
360
msgeditor.hooks['commit_message_template'] = []
361
self.addCleanup(restoreDefaults)
362
363
msgeditor.hooks.install_named_hook("commit_message_template",
363
364
lambda commit_obj, msg: "save me some typing\n", None)
364
365
commit_obj = commit.Commit()
365
366
self.assertEquals("save me some typing\n",
366
367
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)