annotate tests/test-propertycache.py @ 45696:de6f2afc0247

grep: move match and diff logic to new module commands.grep() has lots of functions and classes. Let's split it into reusable components so we can leverage them to implement a revset predicate for 'hg grep --diff'. I want to do 'hg log -r "diff(pattern)"'.
author Yuya Nishihara <yuya@tcha.org>
date Wed, 09 Sep 2020 15:23:49 +0900
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 )