jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1008845?usp=email )
Change subject: [tests] Ensure that FamilyTestGenerator.getapis does not get duplicates ......................................................................
[tests] Ensure that FamilyTestGenerator.getapis does not get duplicates
Bug: T359156 Change-Id: I78017a988c3b9ae3b4f22c6a5889ad64924c087a --- M tests/generate_family_file_tests.py 1 file changed, 26 insertions(+), 4 deletions(-)
Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
diff --git a/tests/generate_family_file_tests.py b/tests/generate_family_file_tests.py index 6058930..844a535 100755 --- a/tests/generate_family_file_tests.py +++ b/tests/generate_family_file_tests.py @@ -26,13 +26,25 @@ def getapis(self): """Only load up to additional ten different wikis randomly.""" save = self.langs - self.langs = sample(save, min(len(save), 10)) - for wiki in save: # add closed wiki due to T334714 - if wiki['prefix'] == 'ii' and 'ii' not in self.langs: + + prefixes = {lang['prefix'] for lang in self.langs} + tests = set(sample(list(prefixes), min(len(prefixes), 10))) + # add closed wiki due to T334714 + if 'ii' in prefixes and 'ii' not in tests: + tests.add('ii') + + # collect wikis + self.langs = [] + for wiki in save: + code = wiki['prefix'] + if code in tests: self.langs.append(wiki) - break + tests.remove(code) + if not tests: + break
super().getapis() + # super().getapis() might change self.langs self.prefixes = [item['prefix'] for item in self.langs] self.langs = save