~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: John Arbash Meinel
  • Date: 2007-05-04 18:59:36 UTC
  • mto: This revision was merged to the branch mainline in revision 2643.
  • Revision ID: john@arbash-meinel.com-20070504185936-1mjdoqmtz74xe5mg
A C implementation of _fields_to_entry_0_parents drops the time from 400ms to 330ms for a 21k-entry tree

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
"""
20
20
 
21
21
 
22
 
import bzrlib
23
22
from bzrlib.tests.blackbox import ExternalBase
24
 
from bzrlib.config import (ensure_config_dir_exists, config_filename)
25
23
 
26
24
 
27
25
class TestHelp(ExternalBase):
28
26
 
29
27
    def test_help_basic(self):
30
28
        for cmd in ['--help', 'help', '-h', '-?']:
31
 
            output = self.run_bzr(cmd)[0]
 
29
            output = self.runbzr(cmd)[0]
32
30
            line1 = output.split('\n')[0]
33
31
            if not line1.startswith('Bazaar'):
34
32
                self.fail("bad output from bzr %s:\n%r" % (cmd, output))
36
34
 
37
35
    def test_help_topics(self):
38
36
        """Smoketest for 'bzr help topics'"""
39
 
        out, err = self.run_bzr('help topics')
 
37
        out, err = self.run_bzr('help', 'topics')
40
38
        self.assertContainsRe(out, 'basic')
41
39
        self.assertContainsRe(out, 'topics')
42
40
        self.assertContainsRe(out, 'commands')
44
42
 
45
43
    def test_help_revisionspec(self):
46
44
        """Smoke test for 'bzr help revisionspec'"""
47
 
        out, err = self.run_bzr('help revisionspec')
 
45
        out, err = self.run_bzr('help', 'revisionspec')
48
46
        self.assertContainsRe(out, 'revno:')
49
47
        self.assertContainsRe(out, 'date:')
50
48
        self.assertContainsRe(out, 'revid:')
55
53
 
56
54
    def test_help_checkouts(self):
57
55
        """Smoke test for 'bzr help checkouts'"""
58
 
        out, err = self.run_bzr('help checkouts')
 
56
        out, err = self.runbzr('help checkouts')
59
57
        self.assertContainsRe(out, 'checkout')
60
58
        self.assertContainsRe(out, 'lightweight')
61
59
        
62
60
    def test_help_urlspec(self):
63
61
        """Smoke test for 'bzr help urlspec'"""
64
 
        out, err = self.run_bzr('help urlspec')
 
62
        out, err = self.run_bzr('help', 'urlspec')
65
63
        self.assertContainsRe(out, 'aftp://')
66
64
        self.assertContainsRe(out, 'bzr://')
67
65
        self.assertContainsRe(out, 'bzr\+ssh://')
71
69
        self.assertContainsRe(out, 'https://')
72
70
        self.assertContainsRe(out, 'sftp://')
73
71
 
74
 
    def test_help_repositories(self):
75
 
        """Smoke test for 'bzr help repositories'"""
76
 
        out, err = self.run_bzr('help repositories')
77
 
        from bzrlib.help_topics import help_as_plain_text, _repositories
78
 
        expected = help_as_plain_text(_repositories)
79
 
        self.assertEqual(expected, out)
80
 
 
81
 
    def test_help_working_trees(self):
82
 
        """Smoke test for 'bzr help working-trees'"""
83
 
        out, err = self.run_bzr('help working-trees')
84
 
        from bzrlib.help_topics import help_as_plain_text, _working_trees
85
 
        expected = help_as_plain_text(_working_trees)
86
 
        self.assertEqual(expected, out)
87
 
 
88
 
    def test_help_status_flags(self):
89
 
        """Smoke test for 'bzr help status-flags'"""
90
 
        out, err = self.run_bzr('help status-flags')
91
 
        from bzrlib.help_topics import help_as_plain_text, _status_flags
92
 
        expected = help_as_plain_text(_status_flags)
93
 
        self.assertEqual(expected, out)
94
 
 
95
72
    def test_help_commands(self):
96
 
        dash_help  = self.run_bzr('--help commands')[0]
97
 
        commands   = self.run_bzr('help commands')[0]
98
 
        hidden = self.run_bzr('help hidden-commands')[0]
99
 
        long_help  = self.run_bzr('help --long')[0]
100
 
        qmark_long = self.run_bzr('? --long')[0]
101
 
        qmark_cmds = self.run_bzr('? commands')[0]
 
73
        dash_help  = self.runbzr('--help commands')[0]
 
74
        commands   = self.runbzr('help commands')[0]
 
75
        hidden = self.runbzr('help hidden-commands')[0]
 
76
        long_help  = self.runbzr('help --long')[0]
 
77
        qmark_long = self.runbzr('? --long')[0]
 
78
        qmark_cmds = self.runbzr('? commands')[0]
102
79
        self.assertEquals(dash_help, commands)
103
80
        self.assertEquals(dash_help, long_help)
104
81
        self.assertEquals(dash_help, qmark_long)
105
82
        self.assertEquals(dash_help, qmark_cmds)
106
83
 
107
84
    def test_hidden(self):
108
 
        commands = self.run_bzr('help commands')[0]
109
 
        hidden = self.run_bzr('help hidden-commands')[0]
 
85
        commands = self.runbzr('help commands')[0]
 
86
        hidden = self.runbzr('help hidden-commands')[0]
110
87
        self.assertTrue('commit' in commands)
111
88
        self.assertTrue('commit' not in hidden)
112
89
        self.assertTrue('rocks' in hidden)
113
90
        self.assertTrue('rocks' not in commands)
114
91
 
115
92
    def test_help_detail(self):
116
 
        dash_h  = self.run_bzr('commit -h')[0]
117
 
        help_x  = self.run_bzr('help commit')[0]
118
 
        qmark_x = self.run_bzr('help commit')[0]
 
93
        dash_h  = self.runbzr('commit -h')[0]
 
94
        help_x  = self.runbzr('help commit')[0]
 
95
        qmark_x = self.runbzr('help commit')[0]
119
96
        self.assertEquals(dash_h, help_x)
120
97
        self.assertEquals(dash_h, qmark_x)
121
98
 
122
99
    def test_help_help(self):
123
 
        help = self.run_bzr('help help')[0]
124
 
        qmark = self.run_bzr('? ?')[0]
 
100
        help = self.runbzr('help help')[0]
 
101
        qmark = self.runbzr('? ?')[0]
125
102
        self.assertEquals(help, qmark)
126
103
        for line in help.split('\n'):
127
104
            if '--long' in line:
128
 
                self.assertContainsRe(line,
129
 
                    r'Show help on all commands\.')
130
 
 
131
 
    def test_help_with_aliases(self):
132
 
        original = self.run_bzr('help cat')[0]
133
 
 
134
 
        ensure_config_dir_exists()
135
 
        CONFIG=("[ALIASES]\n"
136
 
        "c=cat\n"
137
 
        "cat=cat\n")
138
 
 
139
 
        open(config_filename(),'wb').write(CONFIG)
140
 
 
141
 
        expected = original + "'bzr cat' is an alias for 'bzr cat'.\n"
142
 
        self.assertEqual(expected, self.run_bzr('help cat')[0])
143
 
 
144
 
        self.assertEqual("'bzr c' is an alias for 'bzr cat'.\n",
145
 
                         self.run_bzr('help c')[0])
 
105
                self.assertTrue('show help on all commands' in line)