| Index: trunk/src/tools/bisect-builds.py
|
| ===================================================================
|
| --- trunk/src/tools/bisect-builds.py (revision 272619)
|
| +++ trunk/src/tools/bisect-builds.py (working copy)
|
| @@ -62,7 +62,7 @@
|
| """A PathContext is used to carry the information used to construct URLs and
|
| paths when dealing with the storage server and archives."""
|
| def __init__(self, base_url, platform, good_revision, bad_revision,
|
| - is_official, is_aura, flash_path = None):
|
| + is_official, is_aura, flash_path = None, pdf_path = None):
|
| super(PathContext, self).__init__()
|
| # Store off the input parameters.
|
| self.base_url = base_url
|
| @@ -72,6 +72,7 @@
|
| self.is_official = is_official
|
| self.is_aura = is_aura
|
| self.flash_path = flash_path
|
| + self.pdf_path = pdf_path
|
|
|
| # The name of the ZIP file in a revision directory on the server.
|
| self.archive_name = None
|
| @@ -362,7 +363,7 @@
|
| # Run the build as many times as specified.
|
| testargs = ['--user-data-dir=%s' % profile] + args
|
| # The sandbox must be run as root on Official Chrome, so bypass it.
|
| - if ((context.is_official or context.flash_path) and
|
| + if ((context.is_official or context.flash_path or context.pdf_path) and
|
| context.platform.startswith('linux')):
|
| testargs.append('--no-sandbox')
|
| if context.flash_path:
|
| @@ -372,6 +373,10 @@
|
| # pass the correct version we just spoof it.
|
| testargs.append('--ppapi-flash-version=99.9.999.999')
|
|
|
| + if context.pdf_path:
|
| + shutil.copy(context.pdf_path, os.path.dirname(context.GetLaunchPath()))
|
| + testargs.append('--enable-print-preview')
|
| +
|
| runcommand = []
|
| for token in shlex.split(command):
|
| if token == "%a":
|
| @@ -464,6 +469,7 @@
|
| try_args=(),
|
| profile=None,
|
| flash_path=None,
|
| + pdf_path=None,
|
| interactive=True,
|
| evaluate=AskIsGoodBuild):
|
| """Given known good and known bad revisions, run a binary search on all
|
| @@ -500,7 +506,7 @@
|
| profile = 'profile'
|
|
|
| context = PathContext(base_url, platform, good_rev, bad_rev,
|
| - official_builds, is_aura, flash_path)
|
| + official_builds, is_aura, flash_path, pdf_path)
|
| cwd = os.getcwd()
|
|
|
| print "Downloading list of known revisions..."
|
| @@ -749,6 +755,12 @@
|
| 'binary to be used in this bisection (e.g. ' +
|
| 'on Windows C:\...\pepflashplayer.dll and on Linux ' +
|
| '/opt/google/chrome/PepperFlash/libpepflashplayer.so).')
|
| + parser.add_option('-d', '--pdf_path', type = 'str',
|
| + help = 'Absolute path to a recent PDF pluggin ' +
|
| + 'binary to be used in this bisection (e.g. ' +
|
| + 'on Windows C:\...\pdf.dll and on Linux ' +
|
| + '/opt/google/chrome/libpdf.so). Option also enables ' +
|
| + 'print preview.')
|
| parser.add_option('-g', '--good', type = 'str',
|
| help = 'A good revision to start bisection. ' +
|
| 'May be earlier or later than the bad revision. ' +
|
| @@ -819,6 +831,11 @@
|
| msg = 'Could not find Flash binary at %s' % flash_path
|
| assert os.path.exists(flash_path), msg
|
|
|
| + if opts.pdf_path:
|
| + pdf_path = opts.pdf_path
|
| + msg = 'Could not find PDF binary at %s' % pdf_path
|
| + assert os.path.exists(pdf_path), msg
|
| +
|
| if opts.official_builds:
|
| good_rev = LooseVersion(good_rev)
|
| bad_rev = LooseVersion(bad_rev)
|
| @@ -835,7 +852,7 @@
|
| (min_chromium_rev, max_chromium_rev) = Bisect(
|
| base_url, opts.archive, opts.official_builds, opts.aura, good_rev,
|
| bad_rev, opts.times, opts.command, args, opts.profile, opts.flash_path,
|
| - not opts.not_interactive)
|
| + opts.pdf_path, not opts.not_interactive)
|
|
|
| # Get corresponding blink revisions.
|
| try:
|
|
|