/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
2052.3.2 by John Arbash Meinel
Change Copyright .. by Canonical to Copyright ... Canonical
1
# Copyright (C) 2006 Canonical Ltd
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
2
#
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
4183.7.1 by Sabin Iacob
update FSF mailing address
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
16
6622.1.29 by Jelmer Vernooij
Fix some more tests.
17
"""Blackbox tests for the 'brz testament' command"""
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
18
6015.58.1 by John Arbash Meinel
Fix bug #1010339.
19
import re
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
20
7490.49.1 by Jelmer Vernooij
Move more bzr tests.
21
from breezy.bzr.tests.test_testament import (
6015.58.1 by John Arbash Meinel
Fix bug #1010339.
22
    osutils,
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
23
    REV_1_SHORT,
24
    REV_1_SHORT_STRICT,
25
    REV_2_TESTAMENT,
26
    TestamentSetup,
27
    )
28
29
30
class TestTestament(TestamentSetup):
6622.1.29 by Jelmer Vernooij
Fix some more tests.
31
    """Run blackbox tests on 'brz testament'"""
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
32
33
    def test_testament_command(self):
34
        """Testament containing a file and a directory."""
2552.2.3 by Vincent Ladeuil
Deprecate the varargs syntax and fix the tests.
35
        out, err = self.run_bzr('testament --long')
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
36
        self.assertEqualDiff(err, '')
7290.34.2 by Jelmer Vernooij
Fix bb.test_testament on systems with ascii encoding.
37
        self.assertEqualDiff(out, REV_2_TESTAMENT.decode('ascii'))
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
38
39
    def test_testament_command_2(self):
40
        """Command getting short testament of previous version."""
2552.2.3 by Vincent Ladeuil
Deprecate the varargs syntax and fix the tests.
41
        out, err = self.run_bzr('testament -r1')
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
42
        self.assertEqualDiff(err, '')
7290.34.2 by Jelmer Vernooij
Fix bb.test_testament on systems with ascii encoding.
43
        self.assertEqualDiff(out, REV_1_SHORT.decode('ascii'))
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
44
45
    def test_testament_command_3(self):
46
        """Command getting short testament of previous version."""
2552.2.3 by Vincent Ladeuil
Deprecate the varargs syntax and fix the tests.
47
        out, err = self.run_bzr('testament -r1 --strict')
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
48
        self.assertEqualDiff(err, '')
7290.34.2 by Jelmer Vernooij
Fix bb.test_testament on systems with ascii encoding.
49
        self.assertEqualDiff(out, REV_1_SHORT_STRICT.decode('ascii'))
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
50
6015.58.1 by John Arbash Meinel
Fix bug #1010339.
51
    def test_testament_non_ascii(self):
52
        self.wt.commit(u"Non \xe5ssci message")
7290.34.2 by Jelmer Vernooij
Fix bb.test_testament on systems with ascii encoding.
53
        long_out, err = self.run_bzr_raw('testament --long', encoding='utf-8')
54
        self.assertEqualDiff(err, b'')
55
        long_out, err = self.run_bzr_raw('testament --long', encoding='ascii')
56
        short_out, err = self.run_bzr_raw('testament', encoding='ascii')
57
        self.assertEqualDiff(err, b'')
58
        sha1_re = re.compile(b'sha1: (?P<sha1>[a-f0-9]+)$', re.M)
6015.58.1 by John Arbash Meinel
Fix bug #1010339.
59
        sha1 = sha1_re.search(short_out).group('sha1')
7290.34.2 by Jelmer Vernooij
Fix bb.test_testament on systems with ascii encoding.
60
        self.assertEqual(sha1, osutils.sha_string(long_out))