~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_commit.py

  • Committer: Andrew Bennetts
  • Date: 2009-07-27 05:35:00 UTC
  • mfrom: (4570 +trunk)
  • mto: (4634.6.29 2.0)
  • mto: This revision was merged to the branch mainline in revision 4680.
  • Revision ID: andrew.bennetts@canonical.com-20090727053500-q76zsn2dx33jhmj5
Merge bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005, 2006, 2007 Canonical Ltd
 
1
# Copyright (C) 2005, 2006, 2007, 2009 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
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
 
18
18
"""Tests for the commit CLI of bzr."""
43
43
        self.build_tree(['hello.txt'])
44
44
        out,err = self.run_bzr('commit -m empty', retcode=3)
45
45
        self.assertEqual('', out)
46
 
        self.assertContainsRe(err, 'bzr: ERROR: no changes to commit\.'
47
 
                                  ' use --unchanged to commit anyhow\n')
 
46
        self.assertContainsRe(err, 'bzr: ERROR: No changes to commit\.'
 
47
                                  ' Use --unchanged to commit anyhow.\n')
48
48
 
49
49
    def test_commit_success(self):
50
50
        """Successful commit should not leave behind a bzr-commit-* file"""
124
124
        wt.rename_one('hello.txt', 'subdir/hello.txt')
125
125
        out, err = self.run_bzr('commit -m renamed')
126
126
        self.assertEqual('', out)
127
 
        self.assertContainsRe(err, '^Committing to: .*\n'
128
 
                              'added subdir\n'
129
 
                              'renamed hello\.txt => subdir/hello\.txt\n'
130
 
                              'Committed revision 2\.\n$')
 
127
        self.assertEqual(set([
 
128
            'Committing to: %s/' % osutils.getcwd(),
 
129
            'added subdir',
 
130
            'renamed hello.txt => subdir/hello.txt',
 
131
            'Committed revision 2.',
 
132
            '',
 
133
            ]), set(err.split('\n')))
131
134
 
132
135
    def test_verbose_commit_with_unknown(self):
133
136
        """Unknown files should not be listed by default in verbose output"""
220
223
        os.chdir('this')
221
224
        out,err = self.run_bzr('commit -m added')
222
225
        self.assertEqual('', out)
223
 
        expected = '%s/' % (osutils.getcwd(), )
224
 
        self.assertEqualDiff(
225
 
            'Committing to: %s\n'
226
 
            'modified filetomodify\n'
227
 
            'added newdir\n'
228
 
            'added newfile\n'
229
 
            'renamed dirtorename => renameddir\n'
230
 
            'renamed filetorename => renamedfile\n'
231
 
            'renamed dirtoreparent => renameddir/reparenteddir\n'
232
 
            'renamed filetoreparent => renameddir/reparentedfile\n'
233
 
            'deleted dirtoremove\n'
234
 
            'deleted filetoremove\n'
235
 
            'Committed revision 2.\n' % (expected, ),
236
 
            err)
 
226
        self.assertEqual(set([
 
227
            'Committing to: %s/' % osutils.getcwd(),
 
228
            'modified filetomodify',
 
229
            'added newdir',
 
230
            'added newfile',
 
231
            'renamed dirtorename => renameddir',
 
232
            'renamed filetorename => renamedfile',
 
233
            'renamed dirtoreparent => renameddir/reparenteddir',
 
234
            'renamed filetoreparent => renameddir/reparentedfile',
 
235
            'deleted dirtoremove',
 
236
            'deleted filetoremove',
 
237
            'Committed revision 2.',
 
238
            ''
 
239
            ]), set(err.split('\n')))
237
240
 
238
241
    def test_empty_commit_message(self):
239
242
        tree = self.make_branch_and_tree('.')
252
255
        if char is None:
253
256
            raise TestSkipped('Cannot find suitable non-ascii character'
254
257
                'for user_encoding (%s)' % osutils.get_user_encoding())
 
258
        # TODO: jam 2009-07-23 This test seems to fail on Windows now. My best
 
259
        #       guess is that the change to use Unicode command lines means
 
260
        #       that we no longer pay any attention to LANG=C when decoding the
 
261
        #       commandline arguments.
255
262
        out,err = self.run_bzr_subprocess('commit -m "%s"' % char,
256
263
                                          retcode=1,
257
264
                                          env_changes={'LANG': 'C'})
392
399
 
393
400
        # With no changes, it should just be 'no changes'
394
401
        # Make sure that commit is failing because there is nothing to do
395
 
        self.run_bzr_error(['no changes to commit'],
 
402
        self.run_bzr_error(['No changes to commit'],
396
403
                           'commit --strict -m no-changes',
397
404
                           working_dir='tree')
398
405
 
517
524
        self.build_tree(['tree/hello.txt'])
518
525
        tree.add('hello.txt')
519
526
        self.run_bzr_error(
520
 
            ["Invalid bug identifier for %s. Commit refused." % 'lp:orange'],
 
527
            ["Did not understand bug identifier orange: Must be an integer. "
 
528
             "See \"bzr help bugs\" for more information on this feature.\n"
 
529
             "Commit refused."],
521
530
            'commit -m add-b --fixes=lp:orange',
522
531
            working_dir='tree')
523
532
 
527
536
        self.build_tree(['tree/hello.txt'])
528
537
        tree.add('hello.txt')
529
538
        self.run_bzr_error(
530
 
            [r"Invalid bug orange. Must be in the form of 'tag:id'\. "
 
539
            [r"Invalid bug orange. Must be in the form of 'tracker:id'\. "
 
540
             r"See \"bzr help bugs\" for more information on this feature.\n"
531
541
             r"Commit refused\."],
532
542
            'commit -m add-b --fixes=orange',
533
543
            working_dir='tree')