New test/ features, useful for bot
test.py: added option --noPrompts removed unnecessary warnings (masterMode) removed unnecessary "Creating tmp failed" message when error is simply b/c it already exists driver.js: added per PDF manifest option "pageLimit", e.g. "pageLimit":100
This commit is contained in:
parent
157261a7dc
commit
99f419fa6b
@ -86,7 +86,7 @@ function nextTask() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function isLastPage(task) {
|
function isLastPage(task) {
|
||||||
return (task.pageNum > task.pdfDoc.numPages);
|
return task.pageNum > task.pdfDoc.numPages || task.pageNum > task.pageLimit;
|
||||||
}
|
}
|
||||||
|
|
||||||
function canvasToDataURL() {
|
function canvasToDataURL() {
|
||||||
@ -205,7 +205,7 @@ function done() {
|
|||||||
function sendTaskResult(snapshot, task, failure) {
|
function sendTaskResult(snapshot, task, failure) {
|
||||||
var result = { browser: browser,
|
var result = { browser: browser,
|
||||||
id: task.id,
|
id: task.id,
|
||||||
numPages: task.pdfDoc ? task.pdfDoc.numPages : 0,
|
numPages: task.pdfDoc ? (task.pageLimit || task.pdfDoc.numPages) : 0,
|
||||||
failure: failure,
|
failure: failure,
|
||||||
file: task.file,
|
file: task.file,
|
||||||
round: task.round,
|
round: task.round,
|
||||||
|
16
test/test.py
16
test/test.py
@ -23,6 +23,8 @@ class TestOptions(OptionParser):
|
|||||||
OptionParser.__init__(self, **kwargs)
|
OptionParser.__init__(self, **kwargs)
|
||||||
self.add_option("-m", "--masterMode", action="store_true", dest="masterMode",
|
self.add_option("-m", "--masterMode", action="store_true", dest="masterMode",
|
||||||
help="Run the script in master mode.", default=False)
|
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",
|
self.add_option("--manifestFile", action="store", type="string", dest="manifestFile",
|
||||||
help="A JSON file in the form of test_manifest.json (the default).")
|
help="A JSON file in the form of test_manifest.json (the default).")
|
||||||
self.add_option("-b", "--browser", action="store", type="string", dest="browser",
|
self.add_option("-b", "--browser", action="store", type="string", dest="browser",
|
||||||
@ -321,7 +323,7 @@ def setUp(options):
|
|||||||
if options.masterMode and os.path.isdir(TMPDIR):
|
if options.masterMode and os.path.isdir(TMPDIR):
|
||||||
print 'Temporary snapshot dir tmp/ is still around.'
|
print 'Temporary snapshot dir tmp/ is still around.'
|
||||||
print 'tmp/ can be removed if it has nothing you need.'
|
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' ))
|
subprocess.call(( 'rm', '-rf', 'tmp' ))
|
||||||
|
|
||||||
assert not os.path.isdir(TMPDIR)
|
assert not os.path.isdir(TMPDIR)
|
||||||
@ -414,8 +416,9 @@ def checkEq(task, results, browser, masterMode):
|
|||||||
|
|
||||||
path = os.path.join(pfx, str(page + 1))
|
path = os.path.join(pfx, str(page + 1))
|
||||||
if not os.access(path, os.R_OK):
|
if not os.access(path, os.R_OK):
|
||||||
print 'WARNING: no reference snapshot', path
|
|
||||||
State.numEqNoSnapshot += 1
|
State.numEqNoSnapshot += 1
|
||||||
|
if not masterMode:
|
||||||
|
print 'WARNING: no reference snapshot', path
|
||||||
else:
|
else:
|
||||||
f = open(path)
|
f = open(path)
|
||||||
ref = f.read()
|
ref = f.read()
|
||||||
@ -444,8 +447,9 @@ def checkEq(task, results, browser, masterMode):
|
|||||||
try:
|
try:
|
||||||
os.makedirs(tmpTaskDir)
|
os.makedirs(tmpTaskDir)
|
||||||
except OSError, e:
|
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 = open(os.path.join(tmpTaskDir, str(page + 1)), 'w')
|
||||||
of.write(snapshot)
|
of.write(snapshot)
|
||||||
of.close()
|
of.close()
|
||||||
@ -503,10 +507,10 @@ def maybeUpdateRefImages(options, browser):
|
|||||||
print ' Yes! The references in tmp/ can be synced with ref/.'
|
print ' Yes! The references in tmp/ can be synced with ref/.'
|
||||||
if options.reftest:
|
if options.reftest:
|
||||||
startReftest(browser, options)
|
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.'
|
print ' OK, not updating.'
|
||||||
else:
|
else:
|
||||||
sys.stdout.write(' Updating ... ')
|
sys.stdout.write(' Updating ref/ ... ')
|
||||||
|
|
||||||
# XXX unclear what to do on errors here ...
|
# XXX unclear what to do on errors here ...
|
||||||
# NB: do *NOT* pass --delete to rsync. That breaks this
|
# NB: do *NOT* pass --delete to rsync. That breaks this
|
||||||
|
Loading…
Reference in New Issue
Block a user