2013-09-30 16:36:11 +04:00
|
|
|
"""test behavior of propertycache and unfiltered propertycache
|
|
|
|
|
2013-10-23 21:49:56 +04:00
|
|
|
The repoview overlay is quite complex. We test the behavior of
|
2013-09-30 16:36:11 +04:00
|
|
|
property cache of both localrepo and repoview to prevent
|
|
|
|
regression."""
|
|
|
|
|
2016-04-04 04:56:05 +03:00
|
|
|
from __future__ import absolute_import, print_function
|
codemod: join the auto-formatter party
Summary:
Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`.
Then run `arc lint` again so some other autofixers like spellchecker etc. looked
at the code base. Manually accept the changes whenever they make sense, or use
a workaround (ex. changing "dict()" to "dict constructor") where autofix is false
positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less
interesting to fix (hgsubversion tests), or cannot be fixed without breaking
OSS build (FBPYTHON4).
Conflicted linters (test-check-module-imports.t, part of test-check-code.t,
test-check-pyflakes.t) are removed or disabled.
Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed.
An issue of the auto-formatter is lines are no longer guarnateed to be <= 80
chars. But that seems less important comparing with the benefit auto-formatter
provides.
As we're here, also remove test-check-py3-compat.t, as it is currently broken
if `PYTHON3=/bin/python3` is set.
Reviewed By: wez, phillco, simpkins, pkaush, singhsrb
Differential Revision: D8173629
fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
2018-05-26 07:34:37 +03:00
|
|
|
|
2016-04-04 03:16:18 +03:00
|
|
|
import os
|
|
|
|
import subprocess
|
2013-09-30 16:36:11 +04:00
|
|
|
|
2019-01-30 03:25:33 +03:00
|
|
|
from edenscm.mercurial import hg, localrepo, ui as uimod, util
|
codemod: join the auto-formatter party
Summary:
Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`.
Then run `arc lint` again so some other autofixers like spellchecker etc. looked
at the code base. Manually accept the changes whenever they make sense, or use
a workaround (ex. changing "dict()" to "dict constructor") where autofix is false
positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less
interesting to fix (hgsubversion tests), or cannot be fixed without breaking
OSS build (FBPYTHON4).
Conflicted linters (test-check-module-imports.t, part of test-check-code.t,
test-check-pyflakes.t) are removed or disabled.
Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed.
An issue of the auto-formatter is lines are no longer guarnateed to be <= 80
chars. But that seems less important comparing with the benefit auto-formatter
provides.
As we're here, also remove test-check-py3-compat.t, as it is currently broken
if `PYTHON3=/bin/python3` is set.
Reviewed By: wez, phillco, simpkins, pkaush, singhsrb
Differential Revision: D8173629
fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
2018-05-26 07:34:37 +03:00
|
|
|
|
2013-09-30 16:36:11 +04:00
|
|
|
|
|
|
|
# create some special property cache that trace they call
|
|
|
|
|
|
|
|
calllog = []
|
codemod: join the auto-formatter party
Summary:
Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`.
Then run `arc lint` again so some other autofixers like spellchecker etc. looked
at the code base. Manually accept the changes whenever they make sense, or use
a workaround (ex. changing "dict()" to "dict constructor") where autofix is false
positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less
interesting to fix (hgsubversion tests), or cannot be fixed without breaking
OSS build (FBPYTHON4).
Conflicted linters (test-check-module-imports.t, part of test-check-code.t,
test-check-pyflakes.t) are removed or disabled.
Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed.
An issue of the auto-formatter is lines are no longer guarnateed to be <= 80
chars. But that seems less important comparing with the benefit auto-formatter
provides.
As we're here, also remove test-check-py3-compat.t, as it is currently broken
if `PYTHON3=/bin/python3` is set.
Reviewed By: wez, phillco, simpkins, pkaush, singhsrb
Differential Revision: D8173629
fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
2018-05-26 07:34:37 +03:00
|
|
|
|
|
|
|
|
2016-04-05 17:30:18 +03:00
|
|
|
@util.propertycache
|
2013-09-30 16:36:11 +04:00
|
|
|
def testcachedfoobar(repo):
|
|
|
|
name = repo.filtername
|
|
|
|
if name is None:
|
codemod: join the auto-formatter party
Summary:
Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`.
Then run `arc lint` again so some other autofixers like spellchecker etc. looked
at the code base. Manually accept the changes whenever they make sense, or use
a workaround (ex. changing "dict()" to "dict constructor") where autofix is false
positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less
interesting to fix (hgsubversion tests), or cannot be fixed without breaking
OSS build (FBPYTHON4).
Conflicted linters (test-check-module-imports.t, part of test-check-code.t,
test-check-pyflakes.t) are removed or disabled.
Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed.
An issue of the auto-formatter is lines are no longer guarnateed to be <= 80
chars. But that seems less important comparing with the benefit auto-formatter
provides.
As we're here, also remove test-check-py3-compat.t, as it is currently broken
if `PYTHON3=/bin/python3` is set.
Reviewed By: wez, phillco, simpkins, pkaush, singhsrb
Differential Revision: D8173629
fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
2018-05-26 07:34:37 +03:00
|
|
|
name = ""
|
2013-09-30 16:36:11 +04:00
|
|
|
val = len(name)
|
|
|
|
calllog.append(val)
|
|
|
|
return val
|
|
|
|
|
codemod: join the auto-formatter party
Summary:
Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`.
Then run `arc lint` again so some other autofixers like spellchecker etc. looked
at the code base. Manually accept the changes whenever they make sense, or use
a workaround (ex. changing "dict()" to "dict constructor") where autofix is false
positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less
interesting to fix (hgsubversion tests), or cannot be fixed without breaking
OSS build (FBPYTHON4).
Conflicted linters (test-check-module-imports.t, part of test-check-code.t,
test-check-pyflakes.t) are removed or disabled.
Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed.
An issue of the auto-formatter is lines are no longer guarnateed to be <= 80
chars. But that seems less important comparing with the benefit auto-formatter
provides.
As we're here, also remove test-check-py3-compat.t, as it is currently broken
if `PYTHON3=/bin/python3` is set.
Reviewed By: wez, phillco, simpkins, pkaush, singhsrb
Differential Revision: D8173629
fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
2018-05-26 07:34:37 +03:00
|
|
|
|
2013-09-30 16:23:14 +04:00
|
|
|
unficalllog = []
|
codemod: join the auto-formatter party
Summary:
Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`.
Then run `arc lint` again so some other autofixers like spellchecker etc. looked
at the code base. Manually accept the changes whenever they make sense, or use
a workaround (ex. changing "dict()" to "dict constructor") where autofix is false
positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less
interesting to fix (hgsubversion tests), or cannot be fixed without breaking
OSS build (FBPYTHON4).
Conflicted linters (test-check-module-imports.t, part of test-check-code.t,
test-check-pyflakes.t) are removed or disabled.
Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed.
An issue of the auto-formatter is lines are no longer guarnateed to be <= 80
chars. But that seems less important comparing with the benefit auto-formatter
provides.
As we're here, also remove test-check-py3-compat.t, as it is currently broken
if `PYTHON3=/bin/python3` is set.
Reviewed By: wez, phillco, simpkins, pkaush, singhsrb
Differential Revision: D8173629
fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
2018-05-26 07:34:37 +03:00
|
|
|
|
|
|
|
|
2016-04-05 17:30:18 +03:00
|
|
|
@localrepo.unfilteredpropertycache
|
2013-09-30 16:23:14 +04:00
|
|
|
def testcachedunfifoobar(repo):
|
|
|
|
name = repo.filtername
|
|
|
|
if name is None:
|
codemod: join the auto-formatter party
Summary:
Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`.
Then run `arc lint` again so some other autofixers like spellchecker etc. looked
at the code base. Manually accept the changes whenever they make sense, or use
a workaround (ex. changing "dict()" to "dict constructor") where autofix is false
positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less
interesting to fix (hgsubversion tests), or cannot be fixed without breaking
OSS build (FBPYTHON4).
Conflicted linters (test-check-module-imports.t, part of test-check-code.t,
test-check-pyflakes.t) are removed or disabled.
Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed.
An issue of the auto-formatter is lines are no longer guarnateed to be <= 80
chars. But that seems less important comparing with the benefit auto-formatter
provides.
As we're here, also remove test-check-py3-compat.t, as it is currently broken
if `PYTHON3=/bin/python3` is set.
Reviewed By: wez, phillco, simpkins, pkaush, singhsrb
Differential Revision: D8173629
fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
2018-05-26 07:34:37 +03:00
|
|
|
name = ""
|
2013-09-30 16:23:14 +04:00
|
|
|
val = 100 + len(name)
|
|
|
|
unficalllog.append(val)
|
|
|
|
return val
|
|
|
|
|
codemod: join the auto-formatter party
Summary:
Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`.
Then run `arc lint` again so some other autofixers like spellchecker etc. looked
at the code base. Manually accept the changes whenever they make sense, or use
a workaround (ex. changing "dict()" to "dict constructor") where autofix is false
positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less
interesting to fix (hgsubversion tests), or cannot be fixed without breaking
OSS build (FBPYTHON4).
Conflicted linters (test-check-module-imports.t, part of test-check-code.t,
test-check-pyflakes.t) are removed or disabled.
Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed.
An issue of the auto-formatter is lines are no longer guarnateed to be <= 80
chars. But that seems less important comparing with the benefit auto-formatter
provides.
As we're here, also remove test-check-py3-compat.t, as it is currently broken
if `PYTHON3=/bin/python3` is set.
Reviewed By: wez, phillco, simpkins, pkaush, singhsrb
Differential Revision: D8173629
fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
2018-05-26 07:34:37 +03:00
|
|
|
|
|
|
|
# plug them on repo
|
2016-04-05 17:30:18 +03:00
|
|
|
localrepo.localrepository.testcachedfoobar = testcachedfoobar
|
|
|
|
localrepo.localrepository.testcachedunfifoobar = testcachedunfifoobar
|
2013-09-30 16:36:11 +04:00
|
|
|
|
|
|
|
|
2014-04-13 21:01:00 +04:00
|
|
|
# Create an empty repo and instantiate it. It is important to run
|
|
|
|
# these tests on the real object to detect regression.
|
codemod: join the auto-formatter party
Summary:
Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`.
Then run `arc lint` again so some other autofixers like spellchecker etc. looked
at the code base. Manually accept the changes whenever they make sense, or use
a workaround (ex. changing "dict()" to "dict constructor") where autofix is false
positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less
interesting to fix (hgsubversion tests), or cannot be fixed without breaking
OSS build (FBPYTHON4).
Conflicted linters (test-check-module-imports.t, part of test-check-code.t,
test-check-pyflakes.t) are removed or disabled.
Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed.
An issue of the auto-formatter is lines are no longer guarnateed to be <= 80
chars. But that seems less important comparing with the benefit auto-formatter
provides.
As we're here, also remove test-check-py3-compat.t, as it is currently broken
if `PYTHON3=/bin/python3` is set.
Reviewed By: wez, phillco, simpkins, pkaush, singhsrb
Differential Revision: D8173629
fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
2018-05-26 07:34:37 +03:00
|
|
|
repopath = os.path.join(os.environ["TESTTMP"], "repo")
|
|
|
|
assert subprocess.call(["hg", "init", repopath]) == 0
|
2016-10-22 08:35:10 +03:00
|
|
|
ui = uimod.ui.load()
|
2016-04-05 17:30:18 +03:00
|
|
|
repo = hg.repository(ui, path=repopath).unfiltered()
|
2013-09-30 16:36:11 +04:00
|
|
|
|
|
|
|
|
codemod: join the auto-formatter party
Summary:
Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`.
Then run `arc lint` again so some other autofixers like spellchecker etc. looked
at the code base. Manually accept the changes whenever they make sense, or use
a workaround (ex. changing "dict()" to "dict constructor") where autofix is false
positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less
interesting to fix (hgsubversion tests), or cannot be fixed without breaking
OSS build (FBPYTHON4).
Conflicted linters (test-check-module-imports.t, part of test-check-code.t,
test-check-pyflakes.t) are removed or disabled.
Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed.
An issue of the auto-formatter is lines are no longer guarnateed to be <= 80
chars. But that seems less important comparing with the benefit auto-formatter
provides.
As we're here, also remove test-check-py3-compat.t, as it is currently broken
if `PYTHON3=/bin/python3` is set.
Reviewed By: wez, phillco, simpkins, pkaush, singhsrb
Differential Revision: D8173629
fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
2018-05-26 07:34:37 +03:00
|
|
|
print("")
|
|
|
|
print("=== property cache ===")
|
|
|
|
print("")
|
|
|
|
print("calllog:", calllog)
|
|
|
|
print("cached value (unfiltered):", vars(repo).get("testcachedfoobar", "NOCACHE"))
|
|
|
|
|
|
|
|
print("")
|
|
|
|
print("= first access on unfiltered, should do a call")
|
|
|
|
print("access:", repo.testcachedfoobar)
|
|
|
|
print("calllog:", calllog)
|
|
|
|
print("cached value (unfiltered):", vars(repo).get("testcachedfoobar", "NOCACHE"))
|
|
|
|
|
|
|
|
print("")
|
|
|
|
print("= second access on unfiltered, should not do call")
|
|
|
|
print("access", repo.testcachedfoobar)
|
|
|
|
print("calllog:", calllog)
|
|
|
|
print("cached value (unfiltered):", vars(repo).get("testcachedfoobar", "NOCACHE"))
|
|
|
|
|
|
|
|
print("")
|
2016-04-04 04:56:05 +03:00
|
|
|
print('= first access on "visible" view, should do a call')
|
codemod: join the auto-formatter party
Summary:
Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`.
Then run `arc lint` again so some other autofixers like spellchecker etc. looked
at the code base. Manually accept the changes whenever they make sense, or use
a workaround (ex. changing "dict()" to "dict constructor") where autofix is false
positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less
interesting to fix (hgsubversion tests), or cannot be fixed without breaking
OSS build (FBPYTHON4).
Conflicted linters (test-check-module-imports.t, part of test-check-code.t,
test-check-pyflakes.t) are removed or disabled.
Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed.
An issue of the auto-formatter is lines are no longer guarnateed to be <= 80
chars. But that seems less important comparing with the benefit auto-formatter
provides.
As we're here, also remove test-check-py3-compat.t, as it is currently broken
if `PYTHON3=/bin/python3` is set.
Reviewed By: wez, phillco, simpkins, pkaush, singhsrb
Differential Revision: D8173629
fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
2018-05-26 07:34:37 +03:00
|
|
|
visibleview = repo.filtered("visible")
|
|
|
|
print(
|
|
|
|
'cached value ("visible" view):',
|
|
|
|
vars(visibleview).get("testcachedfoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
print("access:", visibleview.testcachedfoobar)
|
|
|
|
print("calllog:", calllog)
|
|
|
|
print("cached value (unfiltered):", vars(repo).get("testcachedfoobar", "NOCACHE"))
|
|
|
|
print(
|
|
|
|
'cached value ("visible" view):',
|
|
|
|
vars(visibleview).get("testcachedfoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
|
|
|
|
print("")
|
2016-04-04 04:56:05 +03:00
|
|
|
print('= second access on "visible view", should not do call')
|
codemod: join the auto-formatter party
Summary:
Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`.
Then run `arc lint` again so some other autofixers like spellchecker etc. looked
at the code base. Manually accept the changes whenever they make sense, or use
a workaround (ex. changing "dict()" to "dict constructor") where autofix is false
positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less
interesting to fix (hgsubversion tests), or cannot be fixed without breaking
OSS build (FBPYTHON4).
Conflicted linters (test-check-module-imports.t, part of test-check-code.t,
test-check-pyflakes.t) are removed or disabled.
Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed.
An issue of the auto-formatter is lines are no longer guarnateed to be <= 80
chars. But that seems less important comparing with the benefit auto-formatter
provides.
As we're here, also remove test-check-py3-compat.t, as it is currently broken
if `PYTHON3=/bin/python3` is set.
Reviewed By: wez, phillco, simpkins, pkaush, singhsrb
Differential Revision: D8173629
fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
2018-05-26 07:34:37 +03:00
|
|
|
print("access:", visibleview.testcachedfoobar)
|
|
|
|
print("calllog:", calllog)
|
|
|
|
print("cached value (unfiltered):", vars(repo).get("testcachedfoobar", "NOCACHE"))
|
|
|
|
print(
|
|
|
|
'cached value ("visible" view):',
|
|
|
|
vars(visibleview).get("testcachedfoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
|
|
|
|
print("")
|
|
|
|
print("= no effect on other view")
|
|
|
|
immutableview = repo.filtered("immutable")
|
|
|
|
print(
|
|
|
|
'cached value ("immutable" view):',
|
|
|
|
vars(immutableview).get("testcachedfoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
print("access:", immutableview.testcachedfoobar)
|
|
|
|
print("calllog:", calllog)
|
|
|
|
print("cached value (unfiltered):", vars(repo).get("testcachedfoobar", "NOCACHE"))
|
|
|
|
print(
|
|
|
|
'cached value ("visible" view):',
|
|
|
|
vars(visibleview).get("testcachedfoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
print(
|
|
|
|
'cached value ("immutable" view):',
|
|
|
|
vars(immutableview).get("testcachedfoobar", "NOCACHE"),
|
|
|
|
)
|
2013-09-30 16:36:11 +04:00
|
|
|
|
2013-09-30 16:23:14 +04:00
|
|
|
# unfiltered property cache test
|
codemod: join the auto-formatter party
Summary:
Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`.
Then run `arc lint` again so some other autofixers like spellchecker etc. looked
at the code base. Manually accept the changes whenever they make sense, or use
a workaround (ex. changing "dict()" to "dict constructor") where autofix is false
positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less
interesting to fix (hgsubversion tests), or cannot be fixed without breaking
OSS build (FBPYTHON4).
Conflicted linters (test-check-module-imports.t, part of test-check-code.t,
test-check-pyflakes.t) are removed or disabled.
Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed.
An issue of the auto-formatter is lines are no longer guarnateed to be <= 80
chars. But that seems less important comparing with the benefit auto-formatter
provides.
As we're here, also remove test-check-py3-compat.t, as it is currently broken
if `PYTHON3=/bin/python3` is set.
Reviewed By: wez, phillco, simpkins, pkaush, singhsrb
Differential Revision: D8173629
fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
2018-05-26 07:34:37 +03:00
|
|
|
print("")
|
|
|
|
print("")
|
|
|
|
print("=== unfiltered property cache ===")
|
|
|
|
print("")
|
|
|
|
print("unficalllog:", unficalllog)
|
|
|
|
print(
|
|
|
|
"cached value (unfiltered): ",
|
|
|
|
vars(repo).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
print(
|
|
|
|
'cached value ("visible" view): ',
|
|
|
|
vars(visibleview).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
print(
|
|
|
|
'cached value ("immutable" view):',
|
|
|
|
vars(immutableview).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
|
|
|
|
print("")
|
|
|
|
print("= first access on unfiltered, should do a call")
|
|
|
|
print("access (unfiltered):", repo.testcachedunfifoobar)
|
|
|
|
print("unficalllog:", unficalllog)
|
|
|
|
print(
|
|
|
|
"cached value (unfiltered): ",
|
|
|
|
vars(repo).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
|
|
|
|
print("")
|
|
|
|
print("= second access on unfiltered, should not do call")
|
|
|
|
print("access (unfiltered):", repo.testcachedunfifoobar)
|
|
|
|
print("unficalllog:", unficalllog)
|
|
|
|
print(
|
|
|
|
"cached value (unfiltered): ",
|
|
|
|
vars(repo).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
|
|
|
|
print("")
|
|
|
|
print("= access on view should use the unfiltered cache")
|
|
|
|
print("access (unfiltered): ", repo.testcachedunfifoobar)
|
2016-04-04 04:56:05 +03:00
|
|
|
print('access ("visible" view): ', visibleview.testcachedunfifoobar)
|
|
|
|
print('access ("immutable" view):', immutableview.testcachedunfifoobar)
|
codemod: join the auto-formatter party
Summary:
Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`.
Then run `arc lint` again so some other autofixers like spellchecker etc. looked
at the code base. Manually accept the changes whenever they make sense, or use
a workaround (ex. changing "dict()" to "dict constructor") where autofix is false
positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less
interesting to fix (hgsubversion tests), or cannot be fixed without breaking
OSS build (FBPYTHON4).
Conflicted linters (test-check-module-imports.t, part of test-check-code.t,
test-check-pyflakes.t) are removed or disabled.
Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed.
An issue of the auto-formatter is lines are no longer guarnateed to be <= 80
chars. But that seems less important comparing with the benefit auto-formatter
provides.
As we're here, also remove test-check-py3-compat.t, as it is currently broken
if `PYTHON3=/bin/python3` is set.
Reviewed By: wez, phillco, simpkins, pkaush, singhsrb
Differential Revision: D8173629
fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
2018-05-26 07:34:37 +03:00
|
|
|
print("unficalllog:", unficalllog)
|
|
|
|
print(
|
|
|
|
"cached value (unfiltered): ",
|
|
|
|
vars(repo).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
print(
|
|
|
|
'cached value ("visible" view): ',
|
|
|
|
vars(visibleview).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
print(
|
|
|
|
'cached value ("immutable" view):',
|
|
|
|
vars(immutableview).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
|
|
|
|
print("")
|
|
|
|
print("= even if we clear the unfiltered cache")
|
|
|
|
del repo.__dict__["testcachedunfifoobar"]
|
|
|
|
print(
|
|
|
|
"cached value (unfiltered): ",
|
|
|
|
vars(repo).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
print(
|
|
|
|
'cached value ("visible" view): ',
|
|
|
|
vars(visibleview).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
print(
|
|
|
|
'cached value ("immutable" view):',
|
|
|
|
vars(immutableview).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
print("unficalllog:", unficalllog)
|
2016-04-04 04:56:05 +03:00
|
|
|
print('access ("visible" view): ', visibleview.testcachedunfifoobar)
|
codemod: join the auto-formatter party
Summary:
Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`.
Then run `arc lint` again so some other autofixers like spellchecker etc. looked
at the code base. Manually accept the changes whenever they make sense, or use
a workaround (ex. changing "dict()" to "dict constructor") where autofix is false
positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less
interesting to fix (hgsubversion tests), or cannot be fixed without breaking
OSS build (FBPYTHON4).
Conflicted linters (test-check-module-imports.t, part of test-check-code.t,
test-check-pyflakes.t) are removed or disabled.
Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed.
An issue of the auto-formatter is lines are no longer guarnateed to be <= 80
chars. But that seems less important comparing with the benefit auto-formatter
provides.
As we're here, also remove test-check-py3-compat.t, as it is currently broken
if `PYTHON3=/bin/python3` is set.
Reviewed By: wez, phillco, simpkins, pkaush, singhsrb
Differential Revision: D8173629
fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
2018-05-26 07:34:37 +03:00
|
|
|
print("unficalllog:", unficalllog)
|
|
|
|
print(
|
|
|
|
"cached value (unfiltered): ",
|
|
|
|
vars(repo).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
print(
|
|
|
|
'cached value ("visible" view): ',
|
|
|
|
vars(visibleview).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
print(
|
|
|
|
'cached value ("immutable" view):',
|
|
|
|
vars(immutableview).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
2016-04-04 04:56:05 +03:00
|
|
|
print('access ("immutable" view):', immutableview.testcachedunfifoobar)
|
codemod: join the auto-formatter party
Summary:
Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`.
Then run `arc lint` again so some other autofixers like spellchecker etc. looked
at the code base. Manually accept the changes whenever they make sense, or use
a workaround (ex. changing "dict()" to "dict constructor") where autofix is false
positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less
interesting to fix (hgsubversion tests), or cannot be fixed without breaking
OSS build (FBPYTHON4).
Conflicted linters (test-check-module-imports.t, part of test-check-code.t,
test-check-pyflakes.t) are removed or disabled.
Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed.
An issue of the auto-formatter is lines are no longer guarnateed to be <= 80
chars. But that seems less important comparing with the benefit auto-formatter
provides.
As we're here, also remove test-check-py3-compat.t, as it is currently broken
if `PYTHON3=/bin/python3` is set.
Reviewed By: wez, phillco, simpkins, pkaush, singhsrb
Differential Revision: D8173629
fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
2018-05-26 07:34:37 +03:00
|
|
|
print("unficalllog:", unficalllog)
|
|
|
|
print(
|
|
|
|
"cached value (unfiltered): ",
|
|
|
|
vars(repo).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
print(
|
|
|
|
'cached value ("visible" view): ',
|
|
|
|
vars(visibleview).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
print(
|
|
|
|
'cached value ("immutable" view):',
|
|
|
|
vars(immutableview).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
print("access (unfiltered): ", repo.testcachedunfifoobar)
|
|
|
|
print("unficalllog:", unficalllog)
|
|
|
|
print(
|
|
|
|
"cached value (unfiltered): ",
|
|
|
|
vars(repo).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
print(
|
|
|
|
'cached value ("visible" view): ',
|
|
|
|
vars(visibleview).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|
|
|
|
print(
|
|
|
|
'cached value ("immutable" view):',
|
|
|
|
vars(immutableview).get("testcachedunfifoobar", "NOCACHE"),
|
|
|
|
)
|