~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/blackbox.py

  • Committer: Martin Pool
  • Date: 2005-08-29 10:57:01 UTC
  • mfrom: (1092.1.41)
  • Revision ID: mbp@sourcefrog.net-20050829105701-7aaa81ecf1bfee05
- merge in merge improvements and additional tests 
  from aaron and lifeless

robertc@robertcollins.net-20050825131100-85772edabc817481

Show diffs side-by-side

added added

removed removed

Lines of Context:
127
127
 
128
128
    def test_revert(self):
129
129
        import os
130
 
 
131
130
        self.runbzr('init')
132
131
 
133
132
        file('hello', 'wt').write('foo')
152
151
        os.rmdir('revertdir')
153
152
        self.runbzr('revert')
154
153
 
155
 
 
156
154
    def skipped_test_mv_modes(self):
157
155
        """Test two modes of operation for mv"""
158
156
        from bzrlib.branch import Branch
179
177
        self.log(tmp_output)
180
178
        self.assertEquals(output, tmp_output)
181
179
 
 
180
    def example_branch(test):
 
181
        test.runbzr('init')
 
182
        file('hello', 'wt').write('foo')
 
183
        test.runbzr('add hello')
 
184
        test.runbzr('commit -m setup hello')
 
185
        file('goodbye', 'wt').write('baz')
 
186
        test.runbzr('add goodbye')
 
187
        test.runbzr('commit -m setup goodbye')
 
188
 
 
189
    def test_revert(self):
 
190
        self.example_branch()
 
191
        file('hello', 'wt').write('bar')
 
192
        file('goodbye', 'wt').write('qux')
 
193
        self.runbzr('revert hello')
 
194
        self.check_file_contents('hello', 'foo')
 
195
        self.check_file_contents('goodbye', 'qux')
 
196
        self.runbzr('revert')
 
197
        self.check_file_contents('goodbye', 'baz')
 
198
 
 
199
    def test_merge(self):
 
200
        from bzrlib.branch import Branch
 
201
        from bzrlib.commands import run_bzr
 
202
        import os
 
203
        
 
204
        os.mkdir('a')
 
205
        os.chdir('a')
 
206
 
 
207
        self.example_branch()
 
208
        os.chdir('..')
 
209
        self.runbzr('branch a b')
 
210
        os.chdir('b')
 
211
        file('goodbye', 'wt').write('quux')
 
212
        self.runbzr(['commit',  '-m',  "more u's are always good"])
 
213
 
 
214
        os.chdir('../a')
 
215
        file('hello', 'wt').write('quuux')
 
216
        # We can't merge when there are in-tree changes
 
217
        self.runbzr('merge ../b', retcode=1)
 
218
        self.runbzr(['commit', '-m', "Like an epidemic of u's"])
 
219
        self.runbzr('merge ../b')
 
220
        self.check_file_contents('goodbye', 'quux')
 
221
        # Merging a branch pulls its revision into the tree
 
222
        a = Branch('.')
 
223
        b = Branch('../b')
 
224
        a.get_revision_xml(b.last_patch())
 
225
 
 
226
        self.log('pending merges: %s', a.pending_merges())
 
227
#        assert a.pending_merges() == [b.last_patch()], "Assertion %s %s" \
 
228
#        % (a.pending_merges(), b.last_patch())
 
229
 
182
230
class OldTests(ExternalBase):
183
 
    # old tests moved from ./testbzr
 
231
    """old tests moved from ./testbzr."""
 
232
 
184
233
    def test_bzr(self):
185
234
        from os import chdir, mkdir
186
235
        from os.path import exists
349
398
 
350
399
        runbzr('info')
351
400
 
352
 
 
353
 
 
354
 
def example_branch(test):
355
 
    test.runbzr('init')
356
 
 
357
 
    file('hello', 'wt').write('foo')
358
 
    test.runbzr('add hello')
359
 
    test.runbzr('commit -m setup hello')
360
 
 
361
 
    file('goodbye', 'wt').write('baz')
362
 
    test.runbzr('add goodbye')
363
 
    test.runbzr('commit -m setup goodbye')
364
 
 
365
 
 
366
 
class RevertCommand(ExternalBase):
367
 
    def runTest(self):
368
 
        example_branch(self)
369
 
        file('hello', 'wt').write('bar')
370
 
        file('goodbye', 'wt').write('qux')
371
 
        self.runbzr('revert hello')
372
 
        self.check_file_contents('hello', 'foo')
373
 
        self.check_file_contents('goodbye', 'qux')
374
 
        self.runbzr('revert')
375
 
        self.check_file_contents('goodbye', 'baz')
376
 
 
377
 
 
378
 
class MergeCommand(ExternalBase):
379
 
    def runTest(self):
380
 
        from bzrlib.branch import Branch
381
 
        from bzrlib.commands import run_bzr
382
 
        import os
383
 
        
384
 
        os.mkdir('a')
385
 
        os.chdir('a')
386
 
 
387
 
        example_branch(self)
388
 
        os.chdir('..')
389
 
        self.runbzr('branch a b')
390
 
        os.chdir('b')
391
 
        file('goodbye', 'wt').write('quux')
392
 
        self.runbzr(['commit',  '-m',  "more u's are always good"])
393
 
 
394
 
        os.chdir('../a')
395
 
        file('hello', 'wt').write('quuux')
396
 
        # We can't merge when there are in-tree changes
397
 
        self.runbzr('merge ../b', retcode=1)
398
 
        self.runbzr(['commit', '-m', "Like an epidemic of u's"])
399
 
        self.runbzr('merge ../b')
400
 
        self.check_file_contents('goodbye', 'quux')
401
 
        # Merging a branch pulls its revision into the tree
402
 
        a = Branch('.')
403
 
        b = Branch('../b')
404
 
        a.get_revision_xml(b.last_patch())
405
 
 
406
 
        self.log('pending merges: %s', a.pending_merges())
407
 
#        assert a.pending_merges() == [b.last_patch()], "Assertion %s %s" \
408
 
#        % (a.pending_merges(), b.last_patch())
409