def _WaitForLatestSnapshot(revision): util.MarkBuildStepStart('wait_for_snapshot') while True: snapshot_revision = archive.GetLatestSnapshotVersion() if int(snapshot_revision) >= int(revision): break util.PrintAndFlush('Waiting for snapshot >= %s, found %s' % (revision, snapshot_revision)) time.sleep(60) util.PrintAndFlush('Got snapshot revision %s' % snapshot_revision)
def _WaitForLatestSnapshot(commit_position): util.MarkBuildStepStart('wait_for_snapshot') while True: snapshot_position = archive.GetLatestSnapshotVersion() if commit_position is not None and snapshot_position is not None: if int(snapshot_position) >= int(commit_position): break util.PrintAndFlush('Waiting for snapshot >= %s, found %s' % (commit_position, snapshot_position)) time.sleep(60) util.PrintAndFlush('Got snapshot commit position %s' % snapshot_position)
def _WaitForLatestSnapshot(revision): util.MarkBuildStepStart('wait_for_snapshot') def _IsRevisionNumber(revision): if isinstance(revision, int): return True else: return revision.isdigit() while True: snapshot_revision = archive.GetLatestSnapshotVersion() if not _IsRevisionNumber(revision): revision = _GetSVNRevisionFromGitHash(revision) if not _IsRevisionNumber(snapshot_revision): snapshot_revision = _GetSVNRevisionFromGitHash(snapshot_revision) if revision is not None and snapshot_revision is not None: if int(snapshot_revision) >= int(revision): break util.PrintAndFlush('Waiting for snapshot >= %s, found %s' % (revision, snapshot_revision)) time.sleep(60) util.PrintAndFlush('Got snapshot revision %s' % snapshot_revision)
def main(): parser = optparse.OptionParser() parser.add_option( '', '--android-packages', help='Comma separated list of application package names, ' 'if running tests on Android.') # Option 'chrome-version' is for desktop only. parser.add_option( '', '--chrome-version', help='Version of chrome, e.g., \'HEAD\', \'27\', or \'26\'.' 'Default is to run tests against all of these versions.' 'Notice: this option only applies to desktop.') options, _ = parser.parse_args() exe_postfix = '' if util.IsWindows(): exe_postfix = '.exe' cpp_tests_name = 'chromedriver_tests' + exe_postfix server_name = 'chromedriver' + exe_postfix required_build_outputs = [server_name] if not options.android_packages: required_build_outputs += [cpp_tests_name] try: build_dir = chrome_paths.GetBuildDir(required_build_outputs) except RuntimeError: util.MarkBuildStepStart('check required binaries') traceback.print_exc() util.MarkBuildStepError() constants.SetBuildType(os.path.basename(build_dir)) print 'Using build outputs from', build_dir chromedriver = os.path.join(build_dir, server_name) platform_name = util.GetPlatformName() if util.IsLinux() and platform.architecture()[0] == '64bit': platform_name += '64' ref_chromedriver = os.path.join( chrome_paths.GetSrc(), 'chrome', 'test', 'chromedriver', 'third_party', 'java_tests', 'reference_builds', 'chromedriver_%s%s' % (platform_name, exe_postfix)) if options.android_packages: os.environ['PATH'] += os.pathsep + os.path.join( _THIS_DIR, os.pardir, 'chrome') code = 0 for package in options.android_packages.split(','): code1 = RunPythonTests(chromedriver, ref_chromedriver, chrome_version_name=package, android_package=package) code2 = RunJavaTests(chromedriver, chrome_version_name=package, android_package=package, verbose=True) code = code or code1 or code2 return code else: latest_snapshot_revision = archive.GetLatestSnapshotVersion() versions = [ ['HEAD', latest_snapshot_revision], ['49', archive.CHROME_49_REVISION], ['48', archive.CHROME_48_REVISION], ['47', archive.CHROME_47_REVISION], ] code = 0 for version in versions: if options.chrome_version and version[0] != options.chrome_version: continue download_site = archive.Site.CONTINUOUS version_name = version[0] if version_name == 'HEAD': version_name = version[1] download_site = archive.GetSnapshotDownloadSite() temp_dir, chrome_path = DownloadChrome(version_name, version[1], download_site) if not chrome_path: code = 1 continue code1 = RunPythonTests(chromedriver, ref_chromedriver, chrome=chrome_path, chrome_version=version[0], chrome_version_name='v%s' % version_name) code2 = RunJavaTests(chromedriver, chrome=chrome_path, chrome_version=version[0], chrome_version_name='v%s' % version_name) code = code or code1 or code2 _KillChromes() shutil.rmtree(temp_dir) cpp_tests = os.path.join(build_dir, cpp_tests_name) return RunCppTests(cpp_tests) or code