Mercurial > hg
annotate tests/test-propertycache.py @ 41304:76873548b051 stable
partialdiscovery: avoid `undecided` related computation sooner than necessary
Changeset 1d30be90c move the update of the `undecided` set within the
`partialdiscovery` object in order to clarify the API.
The update to the `undecided` set was unconditional in 1d30be90c and the first
access to the `self.undecided` property triggered the initial computation of
the set of undecided revisions. As a result, the set was computed much
earlier, at a time where less information is available, immediately followed
by an update of this set to remove common revisions.
To fix this regression, we ignore the `undecided` related logic in
`addcommons` when that `undecided` set has not been computed yet. Code that
actually needs to know the `undecided` set will trigger its computation later.
The change has no effects on semantic because the initial computation
`undecided` set takes all knowns `common` into account.
Example performance running `hg debugdiscovery` from a pypy repo missing 10
changesets:
870a89c6909d: 52.3ms (regression parent)
1d30be90c9dc: 72.0ms (regression)
5a5f504a7175: 64.8ms (this fix parent)
this fix: 52.6ms
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Wed, 23 Jan 2019 18:07:42 -0500 |
parents | e5d74742d00e |
children | 2372284d9457 |
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 |
40347
e5d74742d00e
py3: fix test-propertycache.py on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
40297
diff
changeset
|
19 from mercurial.utils import ( |
e5d74742d00e
py3: fix test-propertycache.py on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
40297
diff
changeset
|
20 procutil, |
e5d74742d00e
py3: fix test-propertycache.py on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
40297
diff
changeset
|
21 ) |
e5d74742d00e
py3: fix test-propertycache.py on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
40297
diff
changeset
|
22 |
19845
a1237a4b437d
repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
23 # 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
|
24 |
a1237a4b437d
repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
25 calllog = [] |
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 |
19846
9789670992d6
repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19845
diff
changeset
|
35 unficalllog = [] |
28839
de7802c3a1df
tests: import mercurial modules by name in test-propertycache
Yuya Nishihara <yuya@tcha.org>
parents:
28838
diff
changeset
|
36 @localrepo.unfilteredpropertycache |
19846
9789670992d6
repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19845
diff
changeset
|
37 def testcachedunfifoobar(repo): |
9789670992d6
repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19845
diff
changeset
|
38 name = repo.filtername |
9789670992d6
repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19845
diff
changeset
|
39 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
|
40 name = '' |
9789670992d6
repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19845
diff
changeset
|
41 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
|
42 unficalllog.append(val) |
9789670992d6
repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19845
diff
changeset
|
43 return val |
9789670992d6
repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19845
diff
changeset
|
44 |
19845
a1237a4b437d
repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
45 #plug them on repo |
28839
de7802c3a1df
tests: import mercurial modules by name in test-propertycache
Yuya Nishihara <yuya@tcha.org>
parents:
28838
diff
changeset
|
46 localrepo.localrepository.testcachedfoobar = testcachedfoobar |
de7802c3a1df
tests: import mercurial modules by name in test-propertycache
Yuya Nishihara <yuya@tcha.org>
parents:
28838
diff
changeset
|
47 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
|
48 |
a1237a4b437d
repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
49 |
21024
7731a2281cf0
spelling: fixes from spell checker
Mads Kiilerich <madski@unity3d.com>
parents:
19951
diff
changeset
|
50 # 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
|
51 # 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
|
52 repopath = pycompat.fsencode(os.path.join(os.environ['TESTTMP'], 'repo')) |
40347
e5d74742d00e
py3: fix test-propertycache.py on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
40297
diff
changeset
|
53 assert subprocess.call(pycompat.rapply(procutil.tonativestr, |
e5d74742d00e
py3: fix test-propertycache.py on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
40297
diff
changeset
|
54 [b'hg', b'init', repopath])) == 0 |
e5d74742d00e
py3: fix test-propertycache.py on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
40297
diff
changeset
|
55 |
30559
d83ca854fa21
ui: factor out ui.load() to create a ui without loading configs (API)
Yuya Nishihara <yuya@tcha.org>
parents:
28839
diff
changeset
|
56 ui = uimod.ui.load() |
28839
de7802c3a1df
tests: import mercurial modules by name in test-propertycache
Yuya Nishihara <yuya@tcha.org>
parents:
28838
diff
changeset
|
57 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
|
58 |
a1237a4b437d
repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
59 |
28762
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
60 print('') |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
61 print('=== property cache ===') |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
62 print('') |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
63 print('calllog:', calllog) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
64 print('cached value (unfiltered):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
65 vars(repo).get('testcachedfoobar', 'NOCACHE')) |
19845
a1237a4b437d
repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
66 |
28762
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
67 print('') |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
68 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
|
69 print('access:', repo.testcachedfoobar) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
70 print('calllog:', calllog) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
71 print('cached value (unfiltered):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
72 vars(repo).get('testcachedfoobar', 'NOCACHE')) |
19845
a1237a4b437d
repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
73 |
28762
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
74 print('') |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
75 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
|
76 print('access', repo.testcachedfoobar) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
77 print('calllog:', calllog) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
78 print('cached value (unfiltered):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
79 vars(repo).get('testcachedfoobar', 'NOCACHE')) |
19845
a1237a4b437d
repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
80 |
28762
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
81 print('') |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
82 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
|
83 visibleview = repo.filtered('visible') |
28762
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
84 print('cached value ("visible" view):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
85 vars(visibleview).get('testcachedfoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
86 print('access:', visibleview.testcachedfoobar) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
87 print('calllog:', calllog) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
88 print('cached value (unfiltered):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
89 vars(repo).get('testcachedfoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
90 print('cached value ("visible" view):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
91 vars(visibleview).get('testcachedfoobar', 'NOCACHE')) |
19845
a1237a4b437d
repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
92 |
28762
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
93 print('') |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
94 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
|
95 print('access:', visibleview.testcachedfoobar) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
96 print('calllog:', calllog) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
97 print('cached value (unfiltered):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
98 vars(repo).get('testcachedfoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
99 print('cached value ("visible" view):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
100 vars(visibleview).get('testcachedfoobar', 'NOCACHE')) |
19845
a1237a4b437d
repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
101 |
28762
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
102 print('') |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
103 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
|
104 immutableview = repo.filtered('immutable') |
28762
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
105 print('cached value ("immutable" view):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
106 vars(immutableview).get('testcachedfoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
107 print('access:', immutableview.testcachedfoobar) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
108 print('calllog:', calllog) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
109 print('cached value (unfiltered):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
110 vars(repo).get('testcachedfoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
111 print('cached value ("visible" view):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
112 vars(visibleview).get('testcachedfoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
113 print('cached value ("immutable" view):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
114 vars(immutableview).get('testcachedfoobar', 'NOCACHE')) |
19845
a1237a4b437d
repoview: make propertycache.setcache compatible with repoview
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
115 |
19846
9789670992d6
repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19845
diff
changeset
|
116 # unfiltered property cache test |
28762
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
117 print('') |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
118 print('') |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
119 print('=== unfiltered property cache ===') |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
120 print('') |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
121 print('unficalllog:', unficalllog) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
122 print('cached value (unfiltered): ', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
123 vars(repo).get('testcachedunfifoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
124 print('cached value ("visible" view): ', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
125 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
126 print('cached value ("immutable" view):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
127 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE')) |
19846
9789670992d6
repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19845
diff
changeset
|
128 |
28762
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
129 print('') |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
130 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
|
131 print('access (unfiltered):', repo.testcachedunfifoobar) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
132 print('unficalllog:', unficalllog) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
133 print('cached value (unfiltered): ', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
134 vars(repo).get('testcachedunfifoobar', 'NOCACHE')) |
19846
9789670992d6
repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19845
diff
changeset
|
135 |
28762
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
136 print('') |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
137 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
|
138 print('access (unfiltered):', repo.testcachedunfifoobar) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
139 print('unficalllog:', unficalllog) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
140 print('cached value (unfiltered): ', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
141 vars(repo).get('testcachedunfifoobar', 'NOCACHE')) |
19846
9789670992d6
repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19845
diff
changeset
|
142 |
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('= 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
|
145 print('access (unfiltered): ', repo.testcachedunfifoobar) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
146 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
|
147 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
|
148 print('unficalllog:', unficalllog) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
149 print('cached value (unfiltered): ', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
150 vars(repo).get('testcachedunfifoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
151 print('cached value ("visible" view): ', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
152 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
153 print('cached value ("immutable" view):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
154 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE')) |
19846
9789670992d6
repoview: have unfilteredpropertycache using the underlying cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19845
diff
changeset
|
155 |
28762
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
156 print('') |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
157 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
|
158 del repo.__dict__['testcachedunfifoobar'] |
28762
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
159 print('cached value (unfiltered): ', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
160 vars(repo).get('testcachedunfifoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
161 print('cached value ("visible" view): ', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
162 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
163 print('cached value ("immutable" view):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
164 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
165 print('unficalllog:', unficalllog) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
166 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
|
167 print('unficalllog:', unficalllog) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
168 print('cached value (unfiltered): ', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
169 vars(repo).get('testcachedunfifoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
170 print('cached value ("visible" view): ', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
171 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
172 print('cached value ("immutable" view):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
173 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
174 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
|
175 print('unficalllog:', unficalllog) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
176 print('cached value (unfiltered): ', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
177 vars(repo).get('testcachedunfifoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
178 print('cached value ("visible" view): ', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
179 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
180 print('cached value ("immutable" view):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
181 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
182 print('access (unfiltered): ', repo.testcachedunfifoobar) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
183 print('unficalllog:', unficalllog) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
184 print('cached value (unfiltered): ', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
185 vars(repo).get('testcachedunfifoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
186 print('cached value ("visible" view): ', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
187 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE')) |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
188 print('cached value ("immutable" view):', |
61ba04ae6a2f
py3: use print_function in test-propertycache.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
28755
diff
changeset
|
189 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE')) |