/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_msgeditor.py

  • Committer: John Arbash Meinel
  • Date: 2009-06-12 18:05:15 UTC
  • mto: (4371.4.5 vila-better-heads)
  • mto: This revision was merged to the branch mainline in revision 4449.
  • Revision ID: john@arbash-meinel.com-20090612180515-t0cwbjsnve094oik
Add a failing test for handling nodes that are in the same linear chain.

It fails because the ancestry skipping causes us to miss the fact that the two nodes
are actually directly related. We could check at the beginning, as the 
code used to do, but I think that will be incomplete for the more-than-two
heads cases.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2010 Canonical Ltd
 
1
# Copyright (C) 2005 Canonical Ltd
2
2
#
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
35
35
    edit_commit_message_encoded
36
36
)
37
37
from bzrlib.tests import (
38
 
    TestCaseInTempDir,
39
38
    TestCaseWithTransport,
40
39
    TestNotApplicable,
41
40
    TestSkipped,
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)
98
97
        return tree
99
98
 
100
99
    def test_commit_template_pending_merges(self):
291
290
        # Call _run_editor, capturing mutter.warning calls.
292
291
        warnings = []
293
292
        def warning(*args):
294
 
            if len(args) > 1:
295
 
                warnings.append(args[0] % args[1:])
296
 
            else:
297
 
                warnings.append(args[0])
 
293
            warnings.append(args[0] % args[1:])
298
294
        _warning = trace.warning
299
295
        trace.warning = warning
300
296
        try:
360
356
            msgeditor.generate_commit_message_template(commit_obj))
361
357
 
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))
368
 
 
369
 
 
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"""
373
 
 
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
383
 
        # correctly.
384
 
        if sys.version_info >= (2, 5):
385
 
            self.assertEqual(e.errno, errno.ENOEXEC)
386
 
            self.assertEqual(e.winerror, ERROR_BAD_EXE_FORMAT)
387
 
        else:
388
 
            self.assertEqual(e.errno, ERROR_BAD_EXE_FORMAT)