~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Andrew Bennetts
  • Date: 2010-10-08 08:15:14 UTC
  • mto: This revision was merged to the branch mainline in revision 5498.
  • Revision ID: andrew.bennetts@canonical.com-20101008081514-dviqzrdfwyzsqbz2
Split NEWS into per-release doc/en/release-notes/bzr-*.txt

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2008, 2009, 2010, 2012, 2016 Canonical Ltd
 
1
# Copyright (C) 2008, 2009, 2010 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
16
16
 
17
17
"""Tests that an enabled view is reported and impacts expected commands."""
18
18
 
 
19
import os
 
20
 
19
21
from bzrlib import (
 
22
    bzrdir,
20
23
    osutils,
21
24
    tests,
22
25
    )
25
28
class TestViewFileOperations(tests.TestCaseWithTransport):
26
29
 
27
30
    def make_abc_tree_with_ab_view(self):
28
 
        wt = self.make_branch_and_tree('.')
 
31
        # we need to use a specific format because the default format
 
32
        # doesn't support views yet
 
33
        format = bzrdir.format_registry.make_bzrdir('development6-rich-root')
 
34
        wt = self.make_branch_and_tree( '.', format=format)
29
35
        self.build_tree(['a', 'b', 'c'])
30
36
        wt.views.set_view('my', ['a', 'b'])
31
37
        return wt
33
39
    def test_view_on_status(self):
34
40
        wt = self.make_abc_tree_with_ab_view()
35
41
        out, err = self.run_bzr('status')
36
 
        self.assertEqual('Ignoring files outside view. View is a, b\n', err)
37
 
        self.assertEqual('unknown:\n  a\n  b\n', out)
 
42
        self.assertEquals('Ignoring files outside view. View is a, b\n', err)
 
43
        self.assertEquals('unknown:\n  a\n  b\n', out)
38
44
 
39
45
    def test_view_on_status_selected(self):
40
46
        wt = self.make_abc_tree_with_ab_view()
41
47
        out, err = self.run_bzr('status a')
42
 
        self.assertEqual('', err)
43
 
        self.assertEqual('unknown:\n  a\n', out)
 
48
        self.assertEquals('', err)
 
49
        self.assertEquals('unknown:\n  a\n', out)
44
50
        out, err = self.run_bzr('status c', retcode=3)
45
 
        self.assertEqual('bzr: ERROR: Specified file "c" is outside the '
 
51
        self.assertEquals('bzr: ERROR: Specified file "c" is outside the '
46
52
                          'current view: a, b\n', err)
47
 
        self.assertEqual('', out)
 
53
        self.assertEquals('', out)
48
54
 
49
55
    def test_view_on_add(self):
50
56
        wt = self.make_abc_tree_with_ab_view()
51
57
        out, err = self.run_bzr('add')
52
 
        self.assertEqual('Ignoring files outside view. View is a, b\n', err)
53
 
        self.assertEqual('adding a\nadding b\n', out)
 
58
        self.assertEquals('Ignoring files outside view. View is a, b\n', err)
 
59
        self.assertEquals('adding a\nadding b\n', out)
54
60
 
55
61
    def test_view_on_add_selected(self):
56
62
        wt = self.make_abc_tree_with_ab_view()
57
63
        out, err = self.run_bzr('add a')
58
 
        self.assertEqual('', err)
59
 
        self.assertEqual('adding a\n', out)
 
64
        self.assertEquals('', err)
 
65
        self.assertEquals('adding a\n', out)
60
66
        out, err = self.run_bzr('add c', retcode=3)
61
 
        self.assertEqual('bzr: ERROR: Specified file "c" is outside the '
 
67
        self.assertEquals('bzr: ERROR: Specified file "c" is outside the '
62
68
                          'current view: a, b\n', err)
63
 
        self.assertEqual('', out)
 
69
        self.assertEquals('', out)
64
70
 
65
71
    def test_view_on_diff(self):
66
72
        wt = self.make_abc_tree_with_ab_view()
67
73
        self.run_bzr('add')
68
74
        out, err = self.run_bzr('diff', retcode=1)
69
 
        self.assertEqual('*** Ignoring files outside view. View is a, b\n', err)
 
75
        self.assertEquals('*** Ignoring files outside view. View is a, b\n', err)
70
76
 
71
77
    def test_view_on_diff_selected(self):
72
78
        wt = self.make_abc_tree_with_ab_view()
73
79
        self.run_bzr('add')
74
80
        out, err = self.run_bzr('diff a', retcode=1)
75
 
        self.assertEqual('', err)
 
81
        self.assertEquals('', err)
76
82
        self.assertStartsWith(out, "=== added file 'a'\n")
77
83
        out, err = self.run_bzr('diff c', retcode=3)
78
 
        self.assertEqual('bzr: ERROR: Specified file "c" is outside the '
 
84
        self.assertEquals('bzr: ERROR: Specified file "c" is outside the '
79
85
                          'current view: a, b\n', err)
80
 
        self.assertEqual('', out)
 
86
        self.assertEquals('', out)
81
87
 
82
88
    def test_view_on_commit(self):
83
89
        wt = self.make_abc_tree_with_ab_view()
84
90
        self.run_bzr('add')
85
91
        out, err = self.run_bzr('commit -m "testing commit"')
86
92
        err_lines = err.splitlines()
87
 
        self.assertEqual('Ignoring files outside view. View is a, b', err_lines[0])
 
93
        self.assertEquals('Ignoring files outside view. View is a, b', err_lines[0])
88
94
        self.assertStartsWith(err_lines[1], 'Committing to:')
89
 
        self.assertEqual('added a', err_lines[2])
90
 
        self.assertEqual('added b', err_lines[3])
91
 
        self.assertEqual('Committed revision 1.', err_lines[4])
92
 
        self.assertEqual('', out)
 
95
        self.assertEquals('added a', err_lines[2])
 
96
        self.assertEquals('added b', err_lines[3])
 
97
        self.assertEquals('Committed revision 1.', err_lines[4])
 
98
        self.assertEquals('', out)
93
99
 
94
100
    def test_view_on_commit_selected(self):
95
101
        wt = self.make_abc_tree_with_ab_view()
97
103
        out, err = self.run_bzr('commit -m "file in view" a')
98
104
        err_lines = err.splitlines()
99
105
        self.assertStartsWith(err_lines[0], 'Committing to:')
100
 
        self.assertEqual('added a', err_lines[1])
101
 
        self.assertEqual('Committed revision 1.', err_lines[2])
102
 
        self.assertEqual('', out)
 
106
        self.assertEquals('added a', err_lines[1])
 
107
        self.assertEquals('Committed revision 1.', err_lines[2])
 
108
        self.assertEquals('', out)
103
109
        out, err = self.run_bzr('commit -m "file out of view" c', retcode=3)
104
 
        self.assertEqual('bzr: ERROR: Specified file "c" is outside the '
 
110
        self.assertEquals('bzr: ERROR: Specified file "c" is outside the '
105
111
                          'current view: a, b\n', err)
106
 
        self.assertEqual('', out)
 
112
        self.assertEquals('', out)
107
113
 
108
114
    def test_view_on_remove_selected(self):
109
115
        wt = self.make_abc_tree_with_ab_view()
110
116
        self.run_bzr('add')
111
117
        out, err = self.run_bzr('remove --keep a')
112
 
        self.assertEqual('removed a\n', err)
113
 
        self.assertEqual('', out)
 
118
        self.assertEquals('removed a\n', err)
 
119
        self.assertEquals('', out)
114
120
        out, err = self.run_bzr('remove --keep c', retcode=3)
115
 
        self.assertEqual('bzr: ERROR: Specified file "c" is outside the '
 
121
        self.assertEquals('bzr: ERROR: Specified file "c" is outside the '
116
122
                          'current view: a, b\n', err)
117
 
        self.assertEqual('', out)
 
123
        self.assertEquals('', out)
118
124
 
119
125
    def test_view_on_revert(self):
120
126
        wt = self.make_abc_tree_with_ab_view()
121
127
        self.run_bzr('add')
122
128
        out, err = self.run_bzr('revert')
123
129
        err_lines = err.splitlines()
124
 
        self.assertEqual('Ignoring files outside view. View is a, b', err_lines[0])
125
 
        self.assertEqual('-   a', err_lines[1])
126
 
        self.assertEqual('-   b', err_lines[2])
127
 
        self.assertEqual('', out)
 
130
        self.assertEquals('Ignoring files outside view. View is a, b', err_lines[0])
 
131
        self.assertEquals('-   a', err_lines[1])
 
132
        self.assertEquals('-   b', err_lines[2])
 
133
        self.assertEquals('', out)
128
134
 
129
135
    def test_view_on_revert_selected(self):
130
136
        wt = self.make_abc_tree_with_ab_view()
131
137
        self.run_bzr('add')
132
138
        out, err = self.run_bzr('revert a')
133
 
        self.assertEqual('-   a\n', err)
134
 
        self.assertEqual('', out)
 
139
        self.assertEquals('-   a\n', err)
 
140
        self.assertEquals('', out)
135
141
        out, err = self.run_bzr('revert c', retcode=3)
136
 
        self.assertEqual('bzr: ERROR: Specified file "c" is outside the '
 
142
        self.assertEquals('bzr: ERROR: Specified file "c" is outside the '
137
143
                          'current view: a, b\n', err)
138
 
        self.assertEqual('', out)
 
144
        self.assertEquals('', out)
139
145
 
140
146
    def test_view_on_ls(self):
141
147
        wt = self.make_abc_tree_with_ab_view()
142
148
        self.run_bzr('add')
143
149
        out, err = self.run_bzr('ls')
144
150
        out_lines = out.splitlines()
145
 
        self.assertEqual('Ignoring files outside view. View is a, b\n', err)
146
 
        self.assertEqual('a', out_lines[0])
147
 
        self.assertEqual('b', out_lines[1])
 
151
        self.assertEquals('Ignoring files outside view. View is a, b\n', err)
 
152
        self.assertEquals('a', out_lines[0])
 
153
        self.assertEquals('b', out_lines[1])
148
154
 
149
155
 
150
156
class TestViewTreeOperations(tests.TestCaseWithTransport):
151
157
 
152
158
    def make_abc_tree_and_clone_with_ab_view(self):
 
159
        # we need to use a specific format because the default format
 
160
        # doesn't support views yet
 
161
        format = bzrdir.format_registry.make_bzrdir('development6-rich-root')
153
162
        # Build the first tree
154
 
        wt1 = self.make_branch_and_tree('tree_1')
 
163
        wt1 = self.make_branch_and_tree('tree_1', format=format)
155
164
        self.build_tree(['tree_1/a', 'tree_1/b', 'tree_1/c'])
156
165
        wt1.add(['a', 'b', 'c'])
157
166
        wt1.commit("adding a b c")