~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/option.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:
40
40
    each revision specifier supplied.
41
41
 
42
42
    >>> _parse_revision_str('234')
43
 
    [<RevisionSpec_revno 234>]
 
43
    [<RevisionSpec_dwim 234>]
44
44
    >>> _parse_revision_str('234..567')
45
 
    [<RevisionSpec_revno 234>, <RevisionSpec_revno 567>]
 
45
    [<RevisionSpec_dwim 234>, <RevisionSpec_dwim 567>]
46
46
    >>> _parse_revision_str('..')
47
47
    [<RevisionSpec None>, <RevisionSpec None>]
48
48
    >>> _parse_revision_str('..234')
49
 
    [<RevisionSpec None>, <RevisionSpec_revno 234>]
 
49
    [<RevisionSpec None>, <RevisionSpec_dwim 234>]
50
50
    >>> _parse_revision_str('234..')
51
 
    [<RevisionSpec_revno 234>, <RevisionSpec None>]
 
51
    [<RevisionSpec_dwim 234>, <RevisionSpec None>]
52
52
    >>> _parse_revision_str('234..456..789') # Maybe this should be an error
53
 
    [<RevisionSpec_revno 234>, <RevisionSpec_revno 456>, <RevisionSpec_revno 789>]
 
53
    [<RevisionSpec_dwim 234>, <RevisionSpec_dwim 456>, <RevisionSpec_dwim 789>]
54
54
    >>> _parse_revision_str('234....789') #Error ?
55
 
    [<RevisionSpec_revno 234>, <RevisionSpec None>, <RevisionSpec_revno 789>]
 
55
    [<RevisionSpec_dwim 234>, <RevisionSpec None>, <RevisionSpec_dwim 789>]
56
56
    >>> _parse_revision_str('revid:test@other.com-234234')
57
57
    [<RevisionSpec_revid revid:test@other.com-234234>]
58
58
    >>> _parse_revision_str('revid:test@other.com-234234..revid:test@other.com-234235')
59
59
    [<RevisionSpec_revid revid:test@other.com-234234>, <RevisionSpec_revid revid:test@other.com-234235>]
60
60
    >>> _parse_revision_str('revid:test@other.com-234234..23')
61
 
    [<RevisionSpec_revid revid:test@other.com-234234>, <RevisionSpec_revno 23>]
 
61
    [<RevisionSpec_revid revid:test@other.com-234234>, <RevisionSpec_dwim 23>]
62
62
    >>> _parse_revision_str('date:2005-04-12')
63
63
    [<RevisionSpec_date date:2005-04-12>]
64
64
    >>> _parse_revision_str('date:2005-04-12 12:24:33')
68
68
    >>> _parse_revision_str('date:2005-04-12,12:24:33')
69
69
    [<RevisionSpec_date date:2005-04-12,12:24:33>]
70
70
    >>> _parse_revision_str('-5..23')
71
 
    [<RevisionSpec_revno -5>, <RevisionSpec_revno 23>]
 
71
    [<RevisionSpec_dwim -5>, <RevisionSpec_dwim 23>]
72
72
    >>> _parse_revision_str('-5')
73
 
    [<RevisionSpec_revno -5>]
 
73
    [<RevisionSpec_dwim -5>]
74
74
    >>> _parse_revision_str('123a')
75
 
    Traceback (most recent call last):
76
 
      ...
77
 
    NoSuchRevisionSpec: No namespace registered for string: '123a'
 
75
    [<RevisionSpec_dwim 123a>]
78
76
    >>> _parse_revision_str('abc')
79
 
    Traceback (most recent call last):
80
 
      ...
81
 
    NoSuchRevisionSpec: No namespace registered for string: 'abc'
 
77
    [<RevisionSpec_dwim abc>]
82
78
    >>> _parse_revision_str('branch:../branch2')
83
79
    [<RevisionSpec_branch branch:../branch2>]
84
80
    >>> _parse_revision_str('branch:../../branch2')
85
81
    [<RevisionSpec_branch branch:../../branch2>]
86
82
    >>> _parse_revision_str('branch:../../branch2..23')
87
 
    [<RevisionSpec_branch branch:../../branch2>, <RevisionSpec_revno 23>]
 
83
    [<RevisionSpec_branch branch:../../branch2>, <RevisionSpec_dwim 23>]
88
84
    >>> _parse_revision_str('branch:..\\\\branch2')
89
85
    [<RevisionSpec_branch branch:..\\branch2>]
90
86
    >>> _parse_revision_str('branch:..\\\\..\\\\branch2..23')
91
 
    [<RevisionSpec_branch branch:..\\..\\branch2>, <RevisionSpec_revno 23>]
 
87
    [<RevisionSpec_branch branch:..\\..\\branch2>, <RevisionSpec_dwim 23>]
92
88
    """
93
89
    # TODO: Maybe move this into revisionspec.py
94
90
    revs = []
104
100
    parent of the revision.
105
101
 
106
102
    >>> _parse_change_str('123')
107
 
    (<RevisionSpec_before before:123>, <RevisionSpec_revno 123>)
 
103
    (<RevisionSpec_before before:123>, <RevisionSpec_dwim 123>)
108
104
    >>> _parse_change_str('123..124')
109
105
    Traceback (most recent call last):
110
106
      ...