annotate tests/test-propertycache.py @ 48549:28f0092ec89f

exchange: add fast path for subrepo check on push Try to check if .hgsub and .hgsubstate exist at all before looking for them in every changeset to be pushed. The latter can be quite expensive for large repositories and the existance check is almost free. Differential Revision: https://phab.mercurial-scm.org/D11956
author Joerg Sonnenberger <joerg@bec.de>
date Mon, 03 Jan 2022 01:09:56 +0100
parents 2372284d9457
children 6000f5b25c9b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19845
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
1 """test behavior of propertycache and unfiltered propertycache
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
2
19951
d51c4d85ec23 spelling: random spell checker fixes
Mads Kiilerich <madski@unity3d.com>
parents: 19878
diff changeset
3 The repoview overlay is quite complex. We test the behavior of
19845
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
4 property cache of both localrepo and repoview to prevent
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
5 regression."""
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
6
28762
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
7 from __future__ import absolute_import, print_function
28755
84673a7c54af py3: use absolute_import in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 21024
diff changeset
8 import os
84673a7c54af py3: use absolute_import in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 21024
diff changeset
9 import subprocess
19845
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
10
28839
de7802c3a1df tests: import mercurial modules by name in test-propertycache
Yuya Nishihara <yuya@tcha.org>
parents: 28838
diff changeset
11 from mercurial import (
de7802c3a1df tests: import mercurial modules by name in test-propertycache
Yuya Nishihara <yuya@tcha.org>
parents: 28838
diff changeset
12 hg,
de7802c3a1df tests: import mercurial modules by name in test-propertycache
Yuya Nishihara <yuya@tcha.org>
parents: 28838
diff changeset
13 localrepo,
40297
d33611280add py3: fix test-propertycache.py
Mark Thomas <mbthomas@fb.com>
parents: 30559
diff changeset
14 pycompat,
28839
de7802c3a1df tests: import mercurial modules by name in test-propertycache
Yuya Nishihara <yuya@tcha.org>
parents: 28838
diff changeset
15 ui as uimod,
de7802c3a1df tests: import mercurial modules by name in test-propertycache
Yuya Nishihara <yuya@tcha.org>
parents: 28838
diff changeset
16 util,
de7802c3a1df tests: import mercurial modules by name in test-propertycache
Yuya Nishihara <yuya@tcha.org>
parents: 28838
diff changeset
17 )
19845
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
18
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
19 from mercurial.utils import procutil
40347
e5d74742d00e py3: fix test-propertycache.py on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 40297
diff changeset
20
19845
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
21 # create some special property cache that trace they call
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
22
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
23 calllog = []
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
24
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
25
28839
de7802c3a1df tests: import mercurial modules by name in test-propertycache
Yuya Nishihara <yuya@tcha.org>
parents: 28838
diff changeset
26 @util.propertycache
19845
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
27 def testcachedfoobar(repo):
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
28 name = repo.filtername
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
29 if name is None:
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
30 name = ''
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
31 val = len(name)
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
32 calllog.append(val)
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
33 return val
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
34
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
35
19846
9789670992d6 repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19845
diff changeset
36 unficalllog = []
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
37
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
38
28839
de7802c3a1df tests: import mercurial modules by name in test-propertycache
Yuya Nishihara <yuya@tcha.org>
parents: 28838
diff changeset
39 @localrepo.unfilteredpropertycache
19846
9789670992d6 repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19845
diff changeset
40 def testcachedunfifoobar(repo):
9789670992d6 repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19845
diff changeset
41 name = repo.filtername
9789670992d6 repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19845
diff changeset
42 if name is None:
9789670992d6 repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19845
diff changeset
43 name = ''
9789670992d6 repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19845
diff changeset
44 val = 100 + len(name)
9789670992d6 repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19845
diff changeset
45 unficalllog.append(val)
9789670992d6 repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19845
diff changeset
46 return val
9789670992d6 repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19845
diff changeset
47
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
48
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
49 # plug them on repo
28839
de7802c3a1df tests: import mercurial modules by name in test-propertycache
Yuya Nishihara <yuya@tcha.org>
parents: 28838
diff changeset
50 localrepo.localrepository.testcachedfoobar = testcachedfoobar
de7802c3a1df tests: import mercurial modules by name in test-propertycache
Yuya Nishihara <yuya@tcha.org>
parents: 28838
diff changeset
51 localrepo.localrepository.testcachedunfifoobar = testcachedunfifoobar
19845
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
52
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
53
21024
7731a2281cf0 spelling: fixes from spell checker
Mads Kiilerich <madski@unity3d.com>
parents: 19951
diff changeset
54 # Create an empty repo and instantiate it. It is important to run
7731a2281cf0 spelling: fixes from spell checker
Mads Kiilerich <madski@unity3d.com>
parents: 19951
diff changeset
55 # these tests on the real object to detect regression.
40297
d33611280add py3: fix test-propertycache.py
Mark Thomas <mbthomas@fb.com>
parents: 30559
diff changeset
56 repopath = pycompat.fsencode(os.path.join(os.environ['TESTTMP'], 'repo'))
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
57 assert (
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
58 subprocess.call(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
59 pycompat.rapply(procutil.tonativestr, [b'hg', b'init', repopath])
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
60 )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
61 == 0
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
62 )
40347
e5d74742d00e py3: fix test-propertycache.py on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 40297
diff changeset
63
30559
d83ca854fa21 ui: factor out ui.load() to create a ui without loading configs (API)
Yuya Nishihara <yuya@tcha.org>
parents: 28839
diff changeset
64 ui = uimod.ui.load()
28839
de7802c3a1df tests: import mercurial modules by name in test-propertycache
Yuya Nishihara <yuya@tcha.org>
parents: 28838
diff changeset
65 repo = hg.repository(ui, path=repopath).unfiltered()
19845
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
66
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
67
28762
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
68 print('')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
69 print('=== property cache ===')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
70 print('')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
71 print('calllog:', calllog)
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
72 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
73 'cached value (unfiltered):', vars(repo).get('testcachedfoobar', 'NOCACHE')
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
74 )
19845
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
75
28762
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
76 print('')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
77 print('= first access on unfiltered, should do a call')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
78 print('access:', repo.testcachedfoobar)
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
79 print('calllog:', calllog)
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
80 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
81 'cached value (unfiltered):', vars(repo).get('testcachedfoobar', 'NOCACHE')
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
82 )
19845
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
83
28762
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
84 print('')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
85 print('= second access on unfiltered, should not do call')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
86 print('access', repo.testcachedfoobar)
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
87 print('calllog:', calllog)
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
88 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
89 'cached value (unfiltered):', vars(repo).get('testcachedfoobar', 'NOCACHE')
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
90 )
19845
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
91
28762
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
92 print('')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
93 print('= first access on "visible" view, should do a call')
19845
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
94 visibleview = repo.filtered('visible')
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
95 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
96 'cached value ("visible" view):',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
97 vars(visibleview).get('testcachedfoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
98 )
28762
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
99 print('access:', visibleview.testcachedfoobar)
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
100 print('calllog:', calllog)
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
101 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
102 'cached value (unfiltered):', vars(repo).get('testcachedfoobar', 'NOCACHE')
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
103 )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
104 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
105 'cached value ("visible" view):',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
106 vars(visibleview).get('testcachedfoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
107 )
19845
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
108
28762
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
109 print('')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
110 print('= second access on "visible view", should not do call')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
111 print('access:', visibleview.testcachedfoobar)
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
112 print('calllog:', calllog)
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
113 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
114 'cached value (unfiltered):', vars(repo).get('testcachedfoobar', 'NOCACHE')
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
115 )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
116 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
117 'cached value ("visible" view):',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
118 vars(visibleview).get('testcachedfoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
119 )
19845
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
120
28762
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
121 print('')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
122 print('= no effect on other view')
19845
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
123 immutableview = repo.filtered('immutable')
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
124 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
125 'cached value ("immutable" view):',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
126 vars(immutableview).get('testcachedfoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
127 )
28762
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
128 print('access:', immutableview.testcachedfoobar)
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
129 print('calllog:', calllog)
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
130 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
131 'cached value (unfiltered):', vars(repo).get('testcachedfoobar', 'NOCACHE')
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
132 )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
133 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
134 'cached value ("visible" view):',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
135 vars(visibleview).get('testcachedfoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
136 )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
137 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
138 'cached value ("immutable" view):',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
139 vars(immutableview).get('testcachedfoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
140 )
19845
a1237a4b437d repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
141
19846
9789670992d6 repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19845
diff changeset
142 # unfiltered property cache test
28762
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
143 print('')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
144 print('')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
145 print('=== unfiltered property cache ===')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
146 print('')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
147 print('unficalllog:', unficalllog)
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
148 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
149 'cached value (unfiltered): ',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
150 vars(repo).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
151 )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
152 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
153 'cached value ("visible" view): ',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
154 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
155 )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
156 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
157 'cached value ("immutable" view):',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
158 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
159 )
19846
9789670992d6 repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19845
diff changeset
160
28762
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
161 print('')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
162 print('= first access on unfiltered, should do a call')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
163 print('access (unfiltered):', repo.testcachedunfifoobar)
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
164 print('unficalllog:', unficalllog)
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
165 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
166 'cached value (unfiltered): ',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
167 vars(repo).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
168 )
19846
9789670992d6 repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19845
diff changeset
169
28762
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
170 print('')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
171 print('= second access on unfiltered, should not do call')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
172 print('access (unfiltered):', repo.testcachedunfifoobar)
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
173 print('unficalllog:', unficalllog)
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
174 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
175 'cached value (unfiltered): ',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
176 vars(repo).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
177 )
19846
9789670992d6 repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19845
diff changeset
178
28762
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
179 print('')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
180 print('= access on view should use the unfiltered cache')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
181 print('access (unfiltered): ', repo.testcachedunfifoobar)
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
182 print('access ("visible" view): ', visibleview.testcachedunfifoobar)
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
183 print('access ("immutable" view):', immutableview.testcachedunfifoobar)
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
184 print('unficalllog:', unficalllog)
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
185 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
186 'cached value (unfiltered): ',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
187 vars(repo).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
188 )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
189 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
190 'cached value ("visible" view): ',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
191 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
192 )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
193 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
194 'cached value ("immutable" view):',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
195 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
196 )
19846
9789670992d6 repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19845
diff changeset
197
28762
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
198 print('')
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
199 print('= even if we clear the unfiltered cache')
19846
9789670992d6 repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19845
diff changeset
200 del repo.__dict__['testcachedunfifoobar']
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
201 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
202 'cached value (unfiltered): ',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
203 vars(repo).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
204 )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
205 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
206 'cached value ("visible" view): ',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
207 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
208 )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
209 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
210 'cached value ("immutable" view):',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
211 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
212 )
28762
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
213 print('unficalllog:', unficalllog)
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
214 print('access ("visible" view): ', visibleview.testcachedunfifoobar)
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
215 print('unficalllog:', unficalllog)
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
216 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
217 'cached value (unfiltered): ',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
218 vars(repo).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
219 )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
220 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
221 'cached value ("visible" view): ',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
222 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
223 )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
224 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
225 'cached value ("immutable" view):',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
226 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
227 )
28762
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
228 print('access ("immutable" view):', immutableview.testcachedunfifoobar)
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
229 print('unficalllog:', unficalllog)
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
230 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
231 'cached value (unfiltered): ',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
232 vars(repo).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
233 )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
234 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
235 'cached value ("visible" view): ',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
236 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
237 )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
238 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
239 'cached value ("immutable" view):',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
240 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
241 )
28762
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
242 print('access (unfiltered): ', repo.testcachedunfifoobar)
61ba04ae6a2f py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28755
diff changeset
243 print('unficalllog:', unficalllog)
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
244 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
245 'cached value (unfiltered): ',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
246 vars(repo).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
247 )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
248 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
249 'cached value ("visible" view): ',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
250 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
251 )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
252 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
253 'cached value ("immutable" view):',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
254 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40347
diff changeset
255 )