~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

Rework test_script a little bit.


Don't allow someone to request a stdin request to echo.
Echo never reads from stdin, it just echos its arguments.
You use 'cat' if you want to read from stdin.

A few other fixes because the tests were using filenames
that are actually illegal on Windows, rather than just
nonexistant.


Change the exception handling for commands so that
unknown errors don't get silently squashed and then
turn into hard-to-debug errors later.

test_script now passes on Windows.

Show diffs side-by-side

added added

removed removed

Lines of Context:
170
170
        self.assertEqual(err, 'Committing to: %s\n'
171
171
                         'Committed revision 2.\n' % expected)
172
172
 
 
173
    def test_commit_sanitizes_CR_in_message(self):
 
174
        # See bug #433779, basically Emacs likes to pass '\r\n' style line
 
175
        # endings to 'bzr commit -m ""' which breaks because we don't allow
 
176
        # '\r' in commit messages. (Mostly because of issues where XML style
 
177
        # formats arbitrarily strip it out of the data while parsing.)
 
178
        # To make life easier for users, we just always translate '\r\n' =>
 
179
        # '\n'. And '\r' => '\n'.
 
180
        a_tree = self.make_branch_and_tree('a')
 
181
        self.build_tree(['a/b'])
 
182
        a_tree.add('b')
 
183
        self.run_bzr(['commit',
 
184
                      '-m', 'a string\r\n\r\nwith mixed\r\rendings\n'],
 
185
                     working_dir='a')
 
186
        rev_id = a_tree.branch.last_revision()
 
187
        rev = a_tree.branch.repository.get_revision(rev_id)
 
188
        self.assertEqualDiff('a string\n\nwith mixed\n\nendings\n',
 
189
                             rev.message)
 
190
 
173
191
    def test_commit_merge_reports_all_modified_files(self):
174
192
        # the commit command should show all the files that are shown by
175
193
        # bzr diff or bzr status when committing, even when they were not