~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Patch Queue Manager
  • Date: 2016-02-01 19:56:05 UTC
  • mfrom: (6615.1.1 trunk)
  • Revision ID: pqm@pqm.ubuntu.com-20160201195605-o7rl92wf6uyum3fk
(vila) Open trunk again as 2.8b1 (Vincent Ladeuil)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2010 Canonical Ltd
 
1
# Copyright (C) 2005-2011, 2016 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
60
60
    def test_revert(self):
61
61
        self.run_bzr('init')
62
62
 
63
 
        file('hello', 'wt').write('foo')
 
63
        with file('hello', 'wt') as f: f.write('foo')
64
64
        self.run_bzr('add hello')
65
65
        self.run_bzr('commit -m setup hello')
66
66
 
67
 
        file('goodbye', 'wt').write('baz')
 
67
        with file('goodbye', 'wt') as f: f.write('baz')
68
68
        self.run_bzr('add goodbye')
69
69
        self.run_bzr('commit -m setup goodbye')
70
70
 
71
 
        file('hello', 'wt').write('bar')
72
 
        file('goodbye', 'wt').write('qux')
 
71
        with file('hello', 'wt') as f: f.write('bar')
 
72
        with file('goodbye', 'wt') as f: f.write('qux')
73
73
        self.run_bzr('revert hello')
74
74
        self.check_file_contents('hello', 'foo')
75
75
        self.check_file_contents('goodbye', 'qux')
88
88
            self.run_bzr('commit -m f')
89
89
            os.unlink('symlink')
90
90
            self.run_bzr('revert')
91
 
            self.failUnlessExists('symlink')
 
91
            self.assertPathExists('symlink')
92
92
            os.unlink('symlink')
93
93
            os.symlink('a-different-path', 'symlink')
94
94
            self.run_bzr('revert')
97
97
        else:
98
98
            self.log("skipping revert symlink tests")
99
99
 
100
 
        file('hello', 'wt').write('xyz')
 
100
        with file('hello', 'wt') as f: f.write('xyz')
101
101
        self.run_bzr('commit -m xyz hello')
102
102
        self.run_bzr('revert -r 1 hello')
103
103
        self.check_file_contents('hello', 'foo')
109
109
 
110
110
    def example_branch(test):
111
111
        test.run_bzr('init')
112
 
        file('hello', 'wt').write('foo')
 
112
        with file('hello', 'wt') as f: f.write('foo')
113
113
        test.run_bzr('add hello')
114
114
        test.run_bzr('commit -m setup hello')
115
 
        file('goodbye', 'wt').write('baz')
 
115
        with file('goodbye', 'wt') as f: f.write('baz')
116
116
        test.run_bzr('add goodbye')
117
117
        test.run_bzr('commit -m setup goodbye')
118
118
 
127
127
        os.chdir('..')
128
128
        self.run_bzr('branch a b')
129
129
        os.chdir('b')
130
 
        open('b', 'wb').write('else\n')
 
130
        with open('b', 'wb') as f: f.write('else\n')
131
131
        self.run_bzr('add b')
132
132
        self.run_bzr(['commit', '-m', 'added b'])
133
133
 
134
134
        os.chdir('../a')
135
135
        out = self.run_bzr('pull --verbose ../b')[0]
136
 
        self.failIfEqual(out.find('Added Revisions:'), -1)
137
 
        self.failIfEqual(out.find('message:\n  added b'), -1)
138
 
        self.failIfEqual(out.find('added b'), -1)
 
136
        self.assertNotEqual(out.find('Added Revisions:'), -1)
 
137
        self.assertNotEqual(out.find('message:\n  added b'), -1)
 
138
        self.assertNotEqual(out.find('added b'), -1)
139
139
 
140
140
        # Check that --overwrite --verbose prints out the removed entries
141
141
        self.run_bzr('commit -m foo --unchanged')
145
145
        out = self.run_bzr('pull --overwrite --verbose ../a')[0]
146
146
 
147
147
        remove_loc = out.find('Removed Revisions:')
148
 
        self.failIfEqual(remove_loc, -1)
 
148
        self.assertNotEqual(remove_loc, -1)
149
149
        added_loc = out.find('Added Revisions:')
150
 
        self.failIfEqual(added_loc, -1)
 
150
        self.assertNotEqual(added_loc, -1)
151
151
 
152
152
        removed_message = out.find('message:\n  baz')
153
 
        self.failIfEqual(removed_message, -1)
154
 
        self.failUnless(remove_loc < removed_message < added_loc)
 
153
        self.assertNotEqual(removed_message, -1)
 
154
        self.assertTrue(remove_loc < removed_message < added_loc)
155
155
 
156
156
        added_message = out.find('message:\n  foo')
157
 
        self.failIfEqual(added_message, -1)
158
 
        self.failUnless(added_loc < added_message)
 
157
        self.assertNotEqual(added_message, -1)
 
158
        self.assertTrue(added_loc < added_message)
159
159
 
160
160
    def test_locations(self):
161
161
        """Using and remembering different locations"""
188
188
    def test_unknown_command(self):
189
189
        """Handling of unknown command."""
190
190
        out, err = self.run_bzr('fluffy-badger', retcode=3)
191
 
        self.assertEquals(out, '')
 
191
        self.assertEqual(out, '')
192
192
        err.index('unknown command')
193
193
 
194
194
    def create_conflicts(self):
195
195
        """Create a conflicted tree"""
196
196
        os.mkdir('base')
197
197
        os.chdir('base')
198
 
        file('hello', 'wb').write("hi world")
199
 
        file('answer', 'wb').write("42")
 
198
        with file('hello', 'wb') as f: f.write("hi world")
 
199
        with file('answer', 'wb') as f: f.write("42")
200
200
        self.run_bzr('init')
201
201
        self.run_bzr('add')
202
202
        self.run_bzr('commit -m base')
203
203
        self.run_bzr('branch . ../other')
204
204
        self.run_bzr('branch . ../this')
205
205
        os.chdir('../other')
206
 
        file('hello', 'wb').write("Hello.")
207
 
        file('answer', 'wb').write("Is anyone there?")
 
206
        with file('hello', 'wb') as f: f.write("Hello.")
 
207
        with file('answer', 'wb') as f: f.write("Is anyone there?")
208
208
        self.run_bzr('commit -m other')
209
209
        os.chdir('../this')
210
 
        file('hello', 'wb').write("Hello, world")
 
210
        with file('hello', 'wb') as f: f.write("Hello, world")
211
211
        self.run_bzr('mv answer question')
212
 
        file('question', 'wb').write("What do you get when you multiply six"
 
212
        with file('question', 'wb') as f: f.write("What do you get when you multiply six"
213
213
                                   "times nine?")
214
214
        self.run_bzr('commit -m this')
215
215
 
234
234
        self.create_conflicts()
235
235
        self.run_bzr('merge ../other --show-base', retcode=1)
236
236
        conflict_text = file('hello').read()
237
 
        self.assert_('<<<<<<<' in conflict_text)
238
 
        self.assert_('>>>>>>>' in conflict_text)
239
 
        self.assert_('=======' in conflict_text)
240
 
        self.assert_('|||||||' in conflict_text)
241
 
        self.assert_('hi world' in conflict_text)
 
237
        self.assertTrue('<<<<<<<' in conflict_text)
 
238
        self.assertTrue('>>>>>>>' in conflict_text)
 
239
        self.assertTrue('=======' in conflict_text)
 
240
        self.assertTrue('|||||||' in conflict_text)
 
241
        self.assertTrue('hi world' in conflict_text)
242
242
        self.run_bzr('revert')
243
243
        self.run_bzr('resolve --all')
244
244
        self.run_bzr('merge ../other', retcode=1)
245
245
        conflict_text = file('hello').read()
246
 
        self.assert_('|||||||' not in conflict_text)
247
 
        self.assert_('hi world' not in conflict_text)
 
246
        self.assertTrue('|||||||' not in conflict_text)
 
247
        self.assertTrue('hi world' not in conflict_text)
248
248
        result = self.run_bzr('conflicts')[0]
249
 
        self.assertEquals(result, "Text conflict in hello\nText conflict in"
 
249
        self.assertEqual(result, "Text conflict in hello\nText conflict in"
250
250
                                  " question\n")
251
251
        result = self.run_bzr('status')[0]
252
 
        self.assert_("conflicts:\n  Text conflict in hello\n"
 
252
        self.assertTrue("conflicts:\n  Text conflict in hello\n"
253
253
                     "  Text conflict in question\n" in result, result)
254
254
        self.run_bzr('resolve hello')
255
255
        result = self.run_bzr('conflicts')[0]
256
 
        self.assertEquals(result, "Text conflict in question\n")
 
256
        self.assertEqual(result, "Text conflict in question\n")
257
257
        self.run_bzr('commit -m conflicts', retcode=3)
258
258
        self.run_bzr('resolve --all')
259
259
        result = self.run_bzr('conflicts')[0]
260
260
        self.run_bzr('commit -m conflicts')
261
 
        self.assertEquals(result, "")
 
261
        self.assertEqual(result, "")
262
262
 
263
263
    def test_push(self):
264
264
        # create a source branch
315
315
        cmd_name = 'test-command'
316
316
        if sys.platform == 'win32':
317
317
            cmd_name += '.bat'
318
 
        oldpath = os.environ.get('BZRPATH', None)
319
 
        try:
320
 
            if 'BZRPATH' in os.environ:
321
 
                del os.environ['BZRPATH']
322
 
 
323
 
            f = file(cmd_name, 'wb')
324
 
            if sys.platform == 'win32':
325
 
                f.write('@echo off\n')
326
 
            else:
327
 
                f.write('#!/bin/sh\n')
328
 
            # f.write('echo Hello from test-command')
329
 
            f.close()
330
 
            os.chmod(cmd_name, 0755)
331
 
 
332
 
            # It should not find the command in the local
333
 
            # directory by default, since it is not in my path
334
 
            self.run_bzr(cmd_name, retcode=3)
335
 
 
336
 
            # Now put it into my path
337
 
            os.environ['BZRPATH'] = '.'
338
 
 
339
 
            self.run_bzr(cmd_name)
340
 
 
341
 
            # Make sure empty path elements are ignored
342
 
            os.environ['BZRPATH'] = os.pathsep
343
 
 
344
 
            self.run_bzr(cmd_name, retcode=3)
345
 
 
346
 
        finally:
347
 
            if oldpath:
348
 
                os.environ['BZRPATH'] = oldpath
 
318
        self.overrideEnv('BZRPATH', None)
 
319
 
 
320
        f = file(cmd_name, 'wb')
 
321
        if sys.platform == 'win32':
 
322
            f.write('@echo off\n')
 
323
        else:
 
324
            f.write('#!/bin/sh\n')
 
325
        # f.write('echo Hello from test-command')
 
326
        f.close()
 
327
        os.chmod(cmd_name, 0755)
 
328
 
 
329
        # It should not find the command in the local
 
330
        # directory by default, since it is not in my path
 
331
        self.run_bzr(cmd_name, retcode=3)
 
332
 
 
333
        # Now put it into my path
 
334
        self.overrideEnv('BZRPATH', '.')
 
335
        self.run_bzr(cmd_name)
 
336
 
 
337
        # Make sure empty path elements are ignored
 
338
        self.overrideEnv('BZRPATH', os.pathsep)
 
339
        self.run_bzr(cmd_name, retcode=3)
349
340
 
350
341
 
351
342
def listdir_sorted(dir):
377
368
        f.write('hello world!\n')
378
369
        f.close()
379
370
 
380
 
        self.assertEquals(self.run_bzr('unknowns')[0], 'test.txt\n')
 
371
        self.assertEqual(self.run_bzr('unknowns')[0], 'test.txt\n')
381
372
 
382
373
        out = self.run_bzr("status")[0]
383
 
        self.assertEquals(out, 'unknown:\n  test.txt\n')
 
374
        self.assertEqual(out, 'unknown:\n  test.txt\n')
384
375
 
385
376
        f = file('test2.txt', 'wt')
386
377
        f.write('goodbye cruel world...\n')
387
378
        f.close()
388
379
 
389
380
        out = self.run_bzr("status test.txt")[0]
390
 
        self.assertEquals(out, "unknown:\n  test.txt\n")
 
381
        self.assertEqual(out, "unknown:\n  test.txt\n")
391
382
 
392
383
        out = self.run_bzr("status")[0]
393
 
        self.assertEquals(out, ("unknown:\n" "  test.txt\n" "  test2.txt\n"))
 
384
        self.assertEqual(out, ("unknown:\n" "  test.txt\n" "  test2.txt\n"))
394
385
 
395
386
        os.unlink('test2.txt')
396
387
 
397
388
        progress("command aliases")
398
389
        out = self.run_bzr("st")[0]
399
 
        self.assertEquals(out, ("unknown:\n" "  test.txt\n"))
 
390
        self.assertEqual(out, ("unknown:\n" "  test.txt\n"))
400
391
 
401
392
        out = self.run_bzr("stat")[0]
402
 
        self.assertEquals(out, ("unknown:\n" "  test.txt\n"))
 
393
        self.assertEqual(out, ("unknown:\n" "  test.txt\n"))
403
394
 
404
395
        progress("command help")
405
396
        self.run_bzr("help st")
422
413
 
423
414
        self.run_bzr('commit -F msg.tmp')
424
415
 
425
 
        self.assertEquals(self.run_bzr('revno')[0], '1\n')
 
416
        self.assertEqual(self.run_bzr('revno')[0], '1\n')
426
417
        self.run_bzr('export -r 1 export-1.tmp')
427
418
        self.run_bzr('export export.tmp')
428
419
 
431
422
        self.run_bzr('log -v --forward')
432
423
        self.run_bzr('log -m', retcode=3)
433
424
        log_out = self.run_bzr('log -m commit')[0]
434
 
        self.assert_("this is my new commit\n  and" in log_out)
435
 
        self.assert_("rename nested" not in log_out)
436
 
        self.assert_('revision-id' not in log_out)
437
 
        self.assert_('revision-id' in self.run_bzr('log --show-ids -m commit')[0])
 
425
        self.assertTrue("this is my new commit\n  and" in log_out)
 
426
        self.assertTrue("rename nested" not in log_out)
 
427
        self.assertTrue('revision-id' not in log_out)
 
428
        self.assertTrue('revision-id' in self.run_bzr('log --show-ids -m commit')[0])
438
429
 
439
430
        log_out = self.run_bzr('log --line')[0]
440
431
        # determine the widest line we want
441
432
        max_width = osutils.terminal_width()
442
433
        if max_width is not None:
443
434
            for line in log_out.splitlines():
444
 
                self.assert_(len(line) <= max_width - 1, len(line))
445
 
        self.assert_("this is my new commit and" not in log_out)
446
 
        self.assert_("this is my new commit" in log_out)
 
435
                self.assertTrue(len(line) <= max_width - 1, len(line))
 
436
        self.assertTrue("this is my new commit and" not in log_out)
 
437
        self.assertTrue("this is my new commit" in log_out)
447
438
 
448
439
        progress("file with spaces in name")
449
440
        mkdir('sub directory')
450
 
        file('sub directory/file with spaces ', 'wt').write('see how this works\n')
 
441
        with file('sub directory/file with spaces ', 'wt') as f: f.write('see how this works\n')
451
442
        self.run_bzr('add .')
452
443
        self.run_bzr('diff', retcode=1)
453
444
        self.run_bzr('commit -m add-spaces')
465
456
            self.run_bzr('init')
466
457
            os.symlink("NOWHERE1", "link1")
467
458
            self.run_bzr('add link1')
468
 
            self.assertEquals(self.run_bzr('unknowns')[0], '')
 
459
            self.assertEqual(self.run_bzr('unknowns')[0], '')
469
460
            self.run_bzr(['commit', '-m', '1: added symlink link1'])
470
461
 
471
462
            mkdir('d1')
472
463
            self.run_bzr('add d1')
473
 
            self.assertEquals(self.run_bzr('unknowns')[0], '')
 
464
            self.assertEqual(self.run_bzr('unknowns')[0], '')
474
465
            os.symlink("NOWHERE2", "d1/link2")
475
 
            self.assertEquals(self.run_bzr('unknowns')[0], 'd1/link2\n')
 
466
            self.assertEqual(self.run_bzr('unknowns')[0], 'd1/link2\n')
476
467
            # is d1/link2 found when adding d1
477
468
            self.run_bzr('add d1')
478
 
            self.assertEquals(self.run_bzr('unknowns')[0], '')
 
469
            self.assertEqual(self.run_bzr('unknowns')[0], '')
479
470
            os.symlink("NOWHERE3", "d1/link3")
480
 
            self.assertEquals(self.run_bzr('unknowns')[0], 'd1/link3\n')
 
471
            self.assertEqual(self.run_bzr('unknowns')[0], 'd1/link3\n')
481
472
            self.run_bzr(['commit', '-m', '2: added dir, symlink'])
482
473
 
483
474
            self.run_bzr('rename d1 d2')
484
475
            self.run_bzr('move d2/link2 .')
485
476
            self.run_bzr('move link1 d2')
486
 
            self.assertEquals(os.readlink("./link2"), "NOWHERE2")
487
 
            self.assertEquals(os.readlink("d2/link1"), "NOWHERE1")
 
477
            self.assertEqual(os.readlink("./link2"), "NOWHERE2")
 
478
            self.assertEqual(os.readlink("d2/link1"), "NOWHERE1")
488
479
            self.run_bzr('add d2/link3')
489
480
            self.run_bzr('diff', retcode=1)
490
481
            self.run_bzr(['commit', '-m',
495
486
            os.unlink("d2/link1")
496
487
            os.symlink("TARGET 1", "d2/link1")
497
488
            self.run_bzr('diff', retcode=1)
498
 
            self.assertEquals(self.run_bzr("relpath d2/link1")[0], "d2/link1\n")
 
489
            self.assertEqual(self.run_bzr("relpath d2/link1")[0], "d2/link1\n")
499
490
            self.run_bzr(['commit', '-m', '4: retarget of two links'])
500
491
 
501
492
            self.run_bzr('remove --keep d2/link1')
502
 
            self.assertEquals(self.run_bzr('unknowns')[0], 'd2/link1\n')
 
493
            self.assertEqual(self.run_bzr('unknowns')[0], 'd2/link1\n')
503
494
            self.run_bzr(['commit', '-m', '5: remove d2/link1'])
504
495
            # try with the rm alias
505
496
            self.run_bzr('add d2/link1')
506
497
            self.run_bzr(['commit', '-m', '6: add d2/link1'])
507
498
            self.run_bzr('rm --keep d2/link1')
508
 
            self.assertEquals(self.run_bzr('unknowns')[0], 'd2/link1\n')
 
499
            self.assertEqual(self.run_bzr('unknowns')[0], 'd2/link1\n')
509
500
            self.run_bzr(['commit', '-m', '7: remove d2/link1'])
510
501
 
511
502
            os.mkdir("d1")
512
503
            self.run_bzr('add d1')
513
504
            self.run_bzr('rename d2/link3 d1/link3new')
514
 
            self.assertEquals(self.run_bzr('unknowns')[0], 'd2/link1\n')
 
505
            self.assertEqual(self.run_bzr('unknowns')[0], 'd2/link1\n')
515
506
            self.run_bzr(['commit', '-m',
516
507
                          '8: remove d2/link1, move/rename link3'])
517
508
 
519
510
 
520
511
            self.run_bzr('export -r 1 exp1.tmp')
521
512
            chdir("exp1.tmp")
522
 
            self.assertEquals(listdir_sorted("."), [ "link1" ])
523
 
            self.assertEquals(os.readlink("link1"), "NOWHERE1")
 
513
            self.assertEqual(listdir_sorted("."), [ "link1" ])
 
514
            self.assertEqual(os.readlink("link1"), "NOWHERE1")
524
515
            chdir("..")
525
516
 
526
517
            self.run_bzr('export -r 2 exp2.tmp')
527
518
            chdir("exp2.tmp")
528
 
            self.assertEquals(listdir_sorted("."), [ "d1", "link1" ])
 
519
            self.assertEqual(listdir_sorted("."), [ "d1", "link1" ])
529
520
            chdir("..")
530
521
 
531
522
            self.run_bzr('export -r 3 exp3.tmp')
532
523
            chdir("exp3.tmp")
533
 
            self.assertEquals(listdir_sorted("."), [ "d2", "link2" ])
534
 
            self.assertEquals(listdir_sorted("d2"), [ "link1", "link3" ])
535
 
            self.assertEquals(os.readlink("d2/link1"), "NOWHERE1")
536
 
            self.assertEquals(os.readlink("link2")   , "NOWHERE2")
 
524
            self.assertEqual(listdir_sorted("."), [ "d2", "link2" ])
 
525
            self.assertEqual(listdir_sorted("d2"), [ "link1", "link3" ])
 
526
            self.assertEqual(os.readlink("d2/link1"), "NOWHERE1")
 
527
            self.assertEqual(os.readlink("link2")   , "NOWHERE2")
537
528
            chdir("..")
538
529
 
539
530
            self.run_bzr('export -r 4 exp4.tmp')
540
531
            chdir("exp4.tmp")
541
 
            self.assertEquals(listdir_sorted("."), [ "d2", "link2" ])
542
 
            self.assertEquals(os.readlink("d2/link1"), "TARGET 1")
543
 
            self.assertEquals(os.readlink("link2")   , "TARGET 2")
544
 
            self.assertEquals(listdir_sorted("d2"), [ "link1", "link3" ])
 
532
            self.assertEqual(listdir_sorted("."), [ "d2", "link2" ])
 
533
            self.assertEqual(os.readlink("d2/link1"), "TARGET 1")
 
534
            self.assertEqual(os.readlink("link2")   , "TARGET 2")
 
535
            self.assertEqual(listdir_sorted("d2"), [ "link1", "link3" ])
545
536
            chdir("..")
546
537
 
547
538
            self.run_bzr('export -r 5 exp5.tmp')
548
539
            chdir("exp5.tmp")
549
 
            self.assertEquals(listdir_sorted("."), [ "d2", "link2" ])
550
 
            self.assert_(os.path.islink("link2"))
551
 
            self.assert_(listdir_sorted("d2")== [ "link3" ])
 
540
            self.assertEqual(listdir_sorted("."), [ "d2", "link2" ])
 
541
            self.assertTrue(os.path.islink("link2"))
 
542
            self.assertTrue(listdir_sorted("d2")== [ "link3" ])
552
543
            chdir("..")
553
544
 
554
545
            self.run_bzr('export -r 8 exp6.tmp')
555
546
            chdir("exp6.tmp")
556
547
            self.assertEqual(listdir_sorted("."), [ "d1", "d2", "link2"])
557
 
            self.assertEquals(listdir_sorted("d1"), [ "link3new" ])
558
 
            self.assertEquals(listdir_sorted("d2"), [])
559
 
            self.assertEquals(os.readlink("d1/link3new"), "NOWHERE3")
 
548
            self.assertEqual(listdir_sorted("d1"), [ "link3new" ])
 
549
            self.assertEqual(listdir_sorted("d2"), [])
 
550
            self.assertEqual(os.readlink("d1/link3new"), "NOWHERE3")
560
551
            chdir("..")
561
552
        else:
562
553
            progress("skipping symlink tests")
573
564
        url = self.get_readonly_url('from')
574
565
        self.run_bzr(['branch', url, 'to'])
575
566
        branch = Branch.open('to')
576
 
        self.assertEqual(1, len(branch.revision_history()))
 
567
        self.assertEqual(1, branch.last_revision_info()[0])
577
568
        # the branch should be set in to to from
578
569
        self.assertEqual(url + '/', branch.get_parent())
579
570
 
599
590
        os.mkdir('my-branch')
600
591
        os.chdir('my-branch')
601
592
        self.run_bzr('init')
602
 
        file('hello', 'wt').write('foo')
 
593
        with file('hello', 'wt') as f: f.write('foo')
603
594
        self.run_bzr('add hello')
604
595
        self.run_bzr('commit -m setup')
605
596