def getChunk(self, chunks, thisChunk): fullTests = [] quickTests = [] for test in self.getFullReleaseTests(): for locale in test["locales"]: fullTests.append([test["build_id"], locale, test["from"]]) for test in self.getQuickReleaseTests(): for locale in test["locales"]: quickTests.append([test["build_id"], locale, test["from"]]) allTests = getChunk(fullTests, chunks, thisChunk) allTests.extend(getChunk(quickTests, chunks, thisChunk)) newConfig = UpdateVerifyConfig(self.product, self.platform, self.channel, self.aus_server, self.ftp_server, self.to) for t in allTests: build_id, locale, from_path = t if from_path == "None": from_path = None r = self.getRelease(build_id, from_path) try: newConfig.addRelease(r["release"], build_id, locales=[], patch_types=r["patch_types"], from_path=from_path) except UpdateVerifyError: pass newConfig.addLocaleToRelease(build_id, locale, from_path) return newConfig
def getChunk(self, chunks, thisChunk): fullTests = [] quickTests = [] for test in self.getFullReleaseTests(): for locale in test["locales"]: fullTests.append([test["build_id"], locale, test["from"]]) for test in self.getQuickReleaseTests(): for locale in test["locales"]: quickTests.append([test["build_id"], locale, test["from"]]) allTests = getChunk(fullTests, chunks, thisChunk) allTests.extend(getChunk(quickTests, chunks, thisChunk)) newConfig = UpdateVerifyConfig(self.product, self.channel, self.aus_server, self.to, self.to_build_id, self.to_display_version, self.to_app_version, self.override_certs) for t in allTests: build_id, locale, from_path = t if from_path == "None": from_path = None r = self.getRelease(build_id, from_path) try: newConfig.addRelease(r["release"], build_id, locales=[], ftp_server_from=r["ftp_server_from"], ftp_server_to=r["ftp_server_to"], patch_types=r["patch_types"], from_path=from_path, mar_channel_IDs=r["mar_channel_IDs"], platform=r["platform"], updater_package=r["updater_package"]) except UpdateVerifyError: pass newConfig.addLocaleToRelease(build_id, locale, from_path) return newConfig
def testOneChunk(self): self.assertEquals(getChunk(self.data, 1, 1), self.data)
def testNotEvenlyDivisibleWithoutExtra(self): self.assertEquals(getChunk(self.data, 4, 3), [7, 8])
def testNotEvenlyDivisibleWithExtra(self): self.assertEquals(getChunk(self.data, 4, 2), [4, 5, 6])
def testMultipleChunks(self): self.assertEquals(getChunk(self.data, 5, 3), [5, 6])