~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_lockdir.py

  • Committer: Tarmac
  • Author(s): Florent Gallaire
  • Date: 2017-03-17 12:23:47 UTC
  • mfrom: (6621.1.1 fix-gmtime-lite)
  • Revision ID: tarmac-20170317122347-2nnf3cicpgrhux3h
Fix for Windows and 32-bit platforms buggy gmtime(). [r=vila,richard-wilbur]

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006-2011 Canonical Ltd
 
1
# Copyright (C) 2006-2012, 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
43
43
from bzrlib.tests import (
44
44
    features,
45
45
    TestCase,
 
46
    TestCaseInTempDir,
46
47
    TestCaseWithTransport,
47
48
    )
48
49
 
432
433
        self.assertContainsRe(info_list['time_ago'], r'^\d+ seconds? ago$')
433
434
 
434
435
    def test_lock_without_email(self):
435
 
        global_config = config.GlobalConfig()
 
436
        global_config = config.GlobalStack()
436
437
        # Intentionally has no email address
437
 
        global_config.set_user_option('email', 'User Identity')
 
438
        global_config.set('email', 'User Identity')
438
439
        ld1 = self.get_lock()
439
440
        ld1.create()
440
441
        ld1.lock_write()
463
464
    def test_lock_with_buggy_rename(self):
464
465
        # test that lock acquisition handles servers which pretend they
465
466
        # renamed correctly but that actually fail
466
 
        t = transport.get_transport('brokenrename+' + self.get_url())
 
467
        t = transport.get_transport_from_url(
 
468
            'brokenrename+' + self.get_url())
467
469
        ld1 = LockDir(t, 'test_lock')
468
470
        ld1.create()
469
471
        ld1.attempt_lock()
473
475
        # now the original caller should succeed in unlocking
474
476
        ld1.unlock()
475
477
        # and there should be nothing left over
476
 
        self.assertEquals([], t.list_dir('test_lock'))
 
478
        self.assertEqual([], t.list_dir('test_lock'))
477
479
 
478
480
    def test_failed_lock_leaves_no_trash(self):
479
481
        # if we fail to acquire the lock, we don't leave pending directories
485
487
        t = self.get_transport().clone('test_lock')
486
488
 
487
489
        def check_dir(a):
488
 
            self.assertEquals(a, t.list_dir('.'))
 
490
            self.assertEqual(a, t.list_dir('.'))
489
491
 
490
492
        check_dir([])
491
493
        # when held, that's all we see
510
512
        lf = LockDir(t, 'test_lock')
511
513
        info = lf.peek()
512
514
        formatted_info = info.to_readable_dict()
513
 
        self.assertEquals(
 
515
        self.assertEqual(
514
516
            dict(user='<unknown>', hostname='<unknown>', pid='<unknown>',
515
517
                time_ago='(unknown)'),
516
518
            formatted_info)
653
655
        self.assertEqual([], self._calls)
654
656
 
655
657
 
656
 
class TestLockHeldInfo(TestCase):
 
658
class TestLockHeldInfo(TestCaseInTempDir):
657
659
    """Can get information about the lock holder, and detect whether they're
658
660
    still alive."""
659
661
 
732
734
            lambda: 'aproperhostname')
733
735
        # This is off by default at present; see the discussion in the bug.
734
736
        # If you change the default, don't forget to update the docs.
735
 
        config.GlobalConfig().set_user_option('locks.steal_dead', True)
 
737
        config.GlobalStack().set('locks.steal_dead', True)
736
738
        # Create a lock pretending to come from a different nonexistent
737
739
        # process on the same machine.
738
740
        l1 = LockDir(self.get_transport(), 'a',