jenkins-bot submitted this change.

View Change


Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
[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(-)

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


To view, visit change 1008845. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I78017a988c3b9ae3b4f22c6a5889ad64924c087a
Gerrit-Change-Number: 1008845
Gerrit-PatchSet: 3
Gerrit-Owner: Xqt <info@gno.de>
Gerrit-Reviewer: Xqt <info@gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged