tests/test-propertycache.py
author Joerg Sonnenberger <joerg@bec.de>
Tue, 19 Jan 2021 00:20:53 +0100
changeset 46371 0903d6b9b1df
parent 43076 2372284d9457
child 48875 6000f5b25c9b
permissions -rw-r--r--
repository: introduce register_changeset callback The new callback is called whenever a changeset is added to the repository (commit, unbundle or exchange). Since the bulk operations already parse the changeset (readfiles or full changesetrevision), always use the latter to avoid redundant lookups. The first consumer of the new interface needs to look at extra. Differential Revision: https://phab.mercurial-scm.org/D9780
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
)