/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/tests/per_workingtree/test_get_file_mtime.py

  • Committer: Jelmer Vernooij
  • Date: 2019-06-02 02:35:46 UTC
  • mfrom: (7309 work)
  • mto: This revision was merged to the branch mainline in revision 7319.
  • Revision ID: jelmer@jelmer.uk-20190602023546-lqco868tnv26d8ow
merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
 
39
39
    def test_get_file_mtime(self):
40
40
        tree = self.make_basic_tree()
41
 
        one_id = tree.path2id('one')
42
41
 
43
42
        st = os.lstat('tree/one')
44
 
        tree.lock_read()
45
 
        try:
 
43
        with tree.lock_read():
46
44
            mtime_file_id = tree.get_file_mtime('one')
47
45
            self.assertIsInstance(mtime_file_id, (float, int))
48
46
            self.assertAlmostEqual(st.st_mtime, mtime_file_id)
49
 
            mtime_path = tree.get_file_mtime('one', file_id=one_id)
50
 
            self.assertAlmostEqual(mtime_file_id, mtime_path)
51
 
        finally:
52
 
            tree.unlock()
53
47
 
54
48
    def test_after_commit(self):
55
49
        """Committing shouldn't change the mtime."""
56
50
        tree = self.make_basic_tree()
57
 
        one_id = tree.path2id('one')
58
51
 
59
52
        st = os.lstat('tree/one')
60
53
        tree.commit('one')
61
54
 
62
 
        tree.lock_read()
63
 
        try:
 
55
        with tree.lock_read():
64
56
            mtime = tree.get_file_mtime('one')
65
57
            self.assertAlmostEqual(st.st_mtime, mtime)
66
58
 
67
 
            mtime = tree.get_file_mtime('one', one_id)
68
 
            self.assertAlmostEqual(st.st_mtime, mtime)
69
 
        finally:
70
 
            tree.unlock()
71
 
 
72
59
    def test_get_renamed_time(self):
73
60
        """We should handle renamed files."""
74
61
        tree = self.make_basic_tree()
75
 
        one_id = tree.path2id('one')
76
62
 
77
63
        tree.rename_one('one', 'two')
78
64
        st = os.lstat('tree/two')
79
65
 
80
 
        tree.lock_read()
81
 
        try:
 
66
        with tree.lock_read():
82
67
            mtime = tree.get_file_mtime('two')
83
68
            self.assertAlmostEqual(st.st_mtime, mtime)
84
 
            mtime = tree.get_file_mtime('two', one_id)
85
 
            self.assertAlmostEqual(st.st_mtime, mtime)
86
 
        finally:
87
 
            tree.unlock()
88
69
 
89
70
    def test_get_renamed_in_subdir_time(self):
90
71
        tree = self.make_branch_and_tree('tree')
91
 
        one_id = tree.path2id('one')
92
72
        self.build_tree(['tree/d/', 'tree/d/a'])
93
73
        tree.add(['d', 'd/a'])
94
74
        a_id = tree.path2id('d/a')
97
77
        tree.rename_one('d', 'e')
98
78
 
99
79
        st = os.lstat('tree/e/a')
100
 
        tree.lock_read()
101
 
        try:
 
80
        with tree.lock_read():
102
81
            mtime = tree.get_file_mtime('e/a')
103
82
            self.assertAlmostEqual(st.st_mtime, mtime)
104
 
            mtime = tree.get_file_mtime('e/a', a_id)
105
 
            self.assertAlmostEqual(st.st_mtime, mtime)
106
 
        finally:
107
 
            tree.unlock()
108
83
 
109
84
    def test_missing(self):
110
85
        tree = self.make_basic_tree()
111
 
        one_id = tree.path2id('one')
112
86
 
113
87
        os.remove('tree/one')
114
88
        with tree.lock_read():
115
89
            self.assertRaises(errors.NoSuchFile, tree.get_file_mtime, 'one')
116