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)
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