示例#1
0
def createReleases(destDir, engReleaseDir, srcDir, stamp, locallogger=logging.getLogger('release')):
    """
    Create and test all customer releases.
    Return tuple of pathnames to the releases.
    """
    engTarball = None
    binaryTarball = None
    sourceTarball = None
    failedReleases = list()

    # Create engineering tarball. No additional tests
    releaseName = getReleasename(stamp, "npp")
    engTarball = createEngineeringRelease(destDir, engReleaseDir, releaseName)

    # Create and test binary tarball.
    releaseName = getReleasename(stamp, "binary")
    binaryTarball = createCustomerRelease("binary", os.path.join(srcDir, "release"), 
                                          destDir, engReleaseDir, releaseName)
    (passed, failed, disabled) = testCustomerRelease("binary", binaryTarball, srcDir)
    test.logTestResults((passed, failed, disabled), (False, True, True), "Binary Release Tests", locallogger)
    if len(failed) > 0:
        failedReleases.append("Binary release")
        locallogger.warning("Binary release FAILED")

    for releaseType in sourceReleaseTypes:
      # Create and test full source release
      try:
        releaseName = getReleasename(stamp, releaseType)
        sourceTarball = createCustomerRelease(releaseType, os.path.join(srcDir, "release"),
                                                 destDir, srcDir, releaseName)
        (passed, failed, disabled) = \
            testCustomerRelease(releaseType, sourceTarball, srcDir, binaryTarball=binaryTarball)
        test.logTestResults((passed, failed, disabled), (False, True, True), 
                            "Source release: %s" % releaseType, locallogger)
        if len(failed) > 0:
          failedReleases.append("'%s' release" % releaseType)
      except Exception, e:
        locallogger.exception("%s release FAILED; %s", (releaseType, e))
        failedReleases.append("%s release" % releaseType)
示例#2
0
        utils.createDir(builddir)
        try:
            buildit(rootdir, srcdir, builddir, installdir, svnpath, stamp, revision, datestamp, assertions, update)
        except Exception, e:
            log.error("Build FAILED: %s", e)
            sys.exit(1)
    else:
      log.warn("Build skipped.")

    tests_ok = True
    if dotests:
        try:
          (passed, failed, disabled) = \
              test.runTestsInSeparateDirectory(installdir, srcdir, testlist="standard")

          test.logTestResults((passed, failed, disabled), (True, True, True), "Primary Tests", log)

          if len(failed) != 0:
            tests_ok = False
        except Exception, e:
            log.exception("Caught exception from testit routine: %s", e)
            tests_ok = False
    else:
        log.info("Tests skipped")
        utils.touchFile(os.path.join(installdir, "UNTESTED_BUILD." + arch))

    if not tests_ok:
        log.error("Tests FAILED. Exiting")
        sys.exit(1)

    release_ok = True