}
function isLastPage(task) {
- return (task.pageNum > task.pdfDoc.numPages);
+ return task.pageNum > task.pdfDoc.numPages || task.pageNum > task.pageLimit;
}
function canvasToDataURL() {
function sendTaskResult(snapshot, task, failure) {
var result = { browser: browser,
id: task.id,
- numPages: task.pdfDoc ? task.pdfDoc.numPages : 0,
+ numPages: task.pdfDoc ? (task.pageLimit || task.pdfDoc.numPages) : 0,
failure: failure,
file: task.file,
round: task.round,
OptionParser.__init__(self, **kwargs)
self.add_option("-m", "--masterMode", action="store_true", dest="masterMode",
help="Run the script in master mode.", default=False)
+ self.add_option("--noPrompts", action="store_true", dest="noPrompts",
+ help="Uses default answers (intended for CLOUD TESTS only!).", default=False)
self.add_option("--manifestFile", action="store", type="string", dest="manifestFile",
help="A JSON file in the form of test_manifest.json (the default).")
self.add_option("-b", "--browser", action="store", type="string", dest="browser",
if options.masterMode and os.path.isdir(TMPDIR):
print 'Temporary snapshot dir tmp/ is still around.'
print 'tmp/ can be removed if it has nothing you need.'
- if prompt('SHOULD THIS SCRIPT REMOVE tmp/? THINK CAREFULLY'):
+ if options.noPrompts or prompt('SHOULD THIS SCRIPT REMOVE tmp/? THINK CAREFULLY'):
subprocess.call(( 'rm', '-rf', 'tmp' ))
assert not os.path.isdir(TMPDIR)
path = os.path.join(pfx, str(page + 1))
if not os.access(path, os.R_OK):
- print 'WARNING: no reference snapshot', path
State.numEqNoSnapshot += 1
+ if not masterMode:
+ print 'WARNING: no reference snapshot', path
else:
f = open(path)
ref = f.read()
try:
os.makedirs(tmpTaskDir)
except OSError, e:
- print >>sys.stderr, 'Creating', tmpTaskDir, 'failed!'
-
+ if e.errno != 17: # file exists
+ print >>sys.stderr, 'Creating', tmpTaskDir, 'failed!'
+
of = open(os.path.join(tmpTaskDir, str(page + 1)), 'w')
of.write(snapshot)
of.close()
print ' Yes! The references in tmp/ can be synced with ref/.'
if options.reftest:
startReftest(browser, options)
- if not prompt('Would you like to update the master copy in ref/?'):
+ if options.noPrompts or not prompt('Would you like to update the master copy in ref/?'):
print ' OK, not updating.'
else:
- sys.stdout.write(' Updating ... ')
+ sys.stdout.write(' Updating ref/ ... ')
# XXX unclear what to do on errors here ...
# NB: do *NOT* pass --delete to rsync. That breaks this