jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/908943 )
Change subject: [tests] Only run a sample of cache tests ...................................................................... [tests] Only run a sample of cache tests Processing all cached files need moe than 5 minutes on CI. To decrease test time only run a sample of tests. Bug: T334777 Change-Id: I453d1168744e4b46a44486698c3c387d1ebef794 --- M tests/cache_tests.py M scripts/maintenance/cache.py 2 files changed, 24 insertions(+), 4 deletions(-) Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified diff --git a/scripts/maintenance/cache.py b/scripts/maintenance/cache.py index 1918d6a..400ff41 100755 --- a/scripts/maintenance/cache.py +++ b/scripts/maintenance/cache.py @@ -64,7 +64,7 @@ uniquedesc(entry) """ # -# (C) Pywikibot team, 2014-2022 +# (C) Pywikibot team, 2014-2023 # # Distributed under the terms of the MIT license. # @@ -74,6 +74,7 @@ import pickle import sys from pathlib import Path +from random import sample from typing import Optional import pywikibot @@ -219,7 +220,8 @@ def process_entries(cache_path, func, use_accesstime: Optional[bool] = None, - output_func=None, action_func=None): + output_func=None, action_func=None, *, + tests: Optional[int] = None): """Check the contents of the cache. This program tries to use file access times to determine whether @@ -230,6 +232,7 @@ :param use_accesstime: Whether access times should be used. `None` for detect, `False` for don't use and `True` for always use. + :param tests: Only process a test sample of files """ if not cache_path: cache_path = os.path.join(pywikibot.config.base_dir, @@ -245,6 +248,9 @@ else: filenames = [cache_path] + if tests: + filenames = sample(filenames, min(len(filenames), tests)) + for filepath in filenames: filename = os.path.basename(filepath) cache_dir = os.path.dirname(filepath) @@ -260,7 +266,7 @@ continue # Skip foreign python specific directory - _, _, version = cache_path.partition('-') + *_, version = cache_path.partition('-') if version and version[-1] != str(PYTHON_VERSION[0]): pywikibot.error( "Skipping {} directory, can't read content with python {}" diff --git a/tests/cache_tests.py b/tests/cache_tests.py index 761ec32..5b57083 100755 --- a/tests/cache_tests.py +++ b/tests/cache_tests.py @@ -34,7 +34,8 @@ def test_cache(self): """Test the apicache by doing _check_cache_entry over each entry.""" - cache.process_entries(join_cache_path(), self._check_cache_entry) + cache.process_entries(join_cache_path(), self._check_cache_entry, + tests=25) if __name__ == '__main__': # pragma: no cover -- To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/908943 To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings Gerrit-Project: pywikibot/core Gerrit-Branch: master Gerrit-Change-Id: I453d1168744e4b46a44486698c3c387d1ebef794 Gerrit-Change-Number: 908943 Gerrit-PatchSet: 2 Gerrit-Owner: Xqt <i...@gno.de> Gerrit-Reviewer: D3r1ck01 <xsavitar.w...@aol.com> Gerrit-Reviewer: Xqt <i...@gno.de> Gerrit-Reviewer: jenkins-bot Gerrit-MessageType: merged
_______________________________________________ Pywikibot-commits mailing list -- pywikibot-commits@lists.wikimedia.org To unsubscribe send an email to pywikibot-commits-le...@lists.wikimedia.org