Beispiel #1
0
def verify_partial(platforms,
                   product,
                   version,
                   build_number,
                   HACK_first_released_versions=None,
                   protocol='http',
                   server='ftp.mozilla.org'):

    from distutils.version import LooseVersion
    partial = Partial(product, version, build_number, protocol, server)
    log.info("Checking for existence of %s complete mar file..." % partial)
    complete_mar_name = partial.complete_mar_name()
    for platform in platforms:
        if HACK_first_released_versions and platform in HACK_first_released_versions:
            if LooseVersion(version) < LooseVersion(
                    HACK_first_released_versions[platform]):
                # No partial for this!
                continue
        log.info("Platform: %s" % platform)
        complete_mar_url = partial.complete_mar_url(platform=platform)
        if partial.exists(platform=platform):
            log.info("complete mar: %s exists, url: %s" %
                     (complete_mar_name, complete_mar_url))
        else:
            log.error("Requested file, %s, does not exist on %s"
                      " Check again, or use -b to bypass" %
                      (complete_mar_name, complete_mar_url))
            error_tally.add('verify_partial')
            return False

    return True
Beispiel #2
0
def verify_partial(platforms, product, version, build_number,
                   HACK_first_released_versions=None, protocol='http',
                   server='ftp.mozilla.org'):

    from distutils.version import LooseVersion
    partial = Partial(product, version, build_number, protocol, server)
    log.info("Checking for existence of %s complete mar file..." % partial)
    complete_mar_name = partial.complete_mar_name()
    for platform in platforms:
        if HACK_first_released_versions and platform in HACK_first_released_versions:
            if LooseVersion(version) < LooseVersion(HACK_first_released_versions[platform]):
                # No partial for this!
                continue
        log.info("Platform: %s" % platform)
        complete_mar_url = partial.complete_mar_url(platform=platform)
        if partial.exists(platform=platform):
            log.info("complete mar: %s exists, url: %s" % (complete_mar_name,
                                                           complete_mar_url))
        else:
            log.error("Requested file, %s, does not exist on %s"
                      " Check again, or use -b to bypass" % (complete_mar_name,
                                                             complete_mar_url))
            error_tally.add('verify_partial')
            return False

    return True
Beispiel #3
0
 def testPartialIsFromCandidates_dir(self):
     for product in PRODUCTS:
         buildNumber = 1
         p = Partial(product, VERSION, buildNumber, PROTOCOL, SERVER)
         self.assertTrue(p._is_from_candidates_dir())
         buildNumber = None
         p = Partial(product, VERSION, buildNumber, PROTOCOL, SERVER)
         self.assertFalse(p._is_from_candidates_dir())
Beispiel #4
0
 def testPartialShortName(self):
     for product in PRODUCTS:
         buildNumber = 1
         p = Partial(product, VERSION, buildNumber, PROTOCOL, SERVER)
         self.assertEqual(p.short_name(), '%s %s build %s' % (product, VERSION, buildNumber))
         buildNumber = None
         p = Partial(product, VERSION, buildNumber, PROTOCOL, SERVER)
         self.assertEqual(p.short_name(), '%s %s' % (product, VERSION))
Beispiel #5
0
    def testPartialCompleteMarUrl(self):
        for product in PRODUCTS:
            for platform in PLATFORMS:
                buildNumber = 1
                p = Partial(product, VERSION, buildNumber, PROTOCOL, SERVER)
                complete_mar_name = p.complete_mar_name()
                url = '%s://%s/pub/mozilla.org/%s/candidates/%s-candidates/build%s/update/%s/en-US/%s' % (
                    PROTOCOL, SERVER, product, VERSION, buildNumber,
                    buildbot2ftp(platform), complete_mar_name)

                self.assertEqual(p.complete_mar_url(platform), url)
                buildNumber = None
                p = Partial(product, VERSION, buildNumber, PROTOCOL, SERVER)
                url = '%s://%s/pub/mozilla.org/%s/releases/%s/update/%s/en-US/%s' % (
                    PROTOCOL, SERVER, product, VERSION,
                    buildbot2ftp(platform), complete_mar_name)
                self.assertEqual(p.complete_mar_url(platform), url)
Beispiel #6
0
def verify_partial(platforms, product, version, build_number,
                   protocol='http', server='archive.mozilla.org'):

    partial = Partial(product, version, build_number, protocol, server)
    log.info("Checking for existence of %s complete mar file..." % partial)
    complete_mar_name = partial.complete_mar_name()
    for platform in platforms:
        log.info("Platform: %s" % platform)
        complete_mar_url = partial.complete_mar_url(platform=platform)
        if partial.exists(platform=platform):
            log.info("complete mar: %s exists, url: %s" % (complete_mar_name,
                                                           complete_mar_url))
        else:
            log.error("Requested file, %s, does not exist on %s"
                      " Check again, or use -b to bypass" % (complete_mar_name,
                                                             complete_mar_url))
            error_tally.add('verify_partial')
            return False

    return True
Beispiel #7
0
 def testPartialIsFromCandidates_dir(self):
     for product in PRODUCTS:
         buildNumber = 1
         p = Partial(product, VERSION, buildNumber, PROTOCOL, SERVER)
         self.assertTrue(p._is_from_candidates_dir())
         buildNumber = None
         p = Partial(product, VERSION, buildNumber, PROTOCOL, SERVER)
         self.assertFalse(p._is_from_candidates_dir())
Beispiel #8
0
 def testPartialShortName(self):
     for product in PRODUCTS:
         buildNumber = 1
         p = Partial(product, VERSION, buildNumber, PROTOCOL, SERVER)
         self.assertEqual(
             p.short_name(),
             '%s %s build %s' % (product, VERSION, buildNumber))
         buildNumber = None
         p = Partial(product, VERSION, buildNumber, PROTOCOL, SERVER)
         self.assertEqual(p.short_name(), '%s %s' % (product, VERSION))
Beispiel #9
0
    def testPartialCompleteMarUrl(self):
        for product in PRODUCTS:
            for platform in PLATFORMS:
                buildNumber = 1
                p = Partial(product, VERSION, buildNumber, PROTOCOL, SERVER)
                complete_mar_name = p.complete_mar_name()
                url = '%s://%s/pub/mozilla.org/%s/candidates/%s-candidates/build%s/update/%s/en-US/%s' % (
                    PROTOCOL, SERVER, product, VERSION, buildNumber,
                    buildbot2ftp(platform), complete_mar_name)

                self.assertEqual(p.complete_mar_url(platform), url)
                buildNumber = None
                p = Partial(product, VERSION, buildNumber, PROTOCOL, SERVER)
                url = '%s://%s/pub/mozilla.org/%s/releases/%s/update/%s/en-US/%s' % (
                    PROTOCOL, SERVER, product, VERSION, buildbot2ftp(platform),
                    complete_mar_name)
                self.assertEqual(p.complete_mar_url(platform), url)
Beispiel #10
0
 def testPartialCompleteMarName(self):
     for product in PRODUCTS:
         buildNumber = 1
         p = Partial(product, VERSION, buildNumber, PROTOCOL, SERVER)
         complete_mar_ = '%s-%s.complete.mar' % (product, VERSION)
         self.assertEqual(complete_mar_, p.complete_mar_name())
Beispiel #11
0
 def testPartialCompleteMarName(self):
     for product in PRODUCTS:
         buildNumber = 1
         p = Partial(product, VERSION, buildNumber, PROTOCOL, SERVER)
         complete_mar_ = '%s-%s.complete.mar' % (product, VERSION)
         self.assertEqual(complete_mar_, p.complete_mar_name())