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


--
To view, visit 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1008845?usp=email
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: I78017a988c3b9ae3b4f22c6a5889ad64924c087a
Gerrit-Change-Number: 1008845
Gerrit-PatchSet: 3
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
_______________________________________________
Pywikibot-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to