]> git.parisson.com Git - pdf.js.git/commitdiff
New test/ features, useful for bot
authorArtur Adib <arturadib@gmail.com>
Mon, 3 Oct 2011 18:53:45 +0000 (14:53 -0400)
committerArtur Adib <arturadib@gmail.com>
Mon, 3 Oct 2011 18:53:45 +0000 (14:53 -0400)
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

test/driver.js
test/test.py

index 7162af6f3a23621c2f2595ef9ea0540c56ca72dd..65dd3fa274c0feeb852369d336669fee5af0e20e 100644 (file)
@@ -86,7 +86,7 @@ function nextTask() {
 }
 
 function isLastPage(task) {
-  return (task.pageNum > task.pdfDoc.numPages);
+  return task.pageNum > task.pdfDoc.numPages || task.pageNum > task.pageLimit;
 }
 
 function canvasToDataURL() {
@@ -205,7 +205,7 @@ function done() {
 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,
index 0d40efbc808366aa83ffb900e195033337e81907..313a5e03a307ba264c252e25f4ec5761bdea9a7a 100644 (file)
@@ -23,6 +23,8 @@ class TestOptions(OptionParser):
         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",
@@ -321,7 +323,7 @@ def setUp(options):
     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)
@@ -414,8 +416,9 @@ def checkEq(task, results, browser, masterMode):
 
         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()
@@ -444,8 +447,9 @@ def checkEq(task, results, browser, masterMode):
             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()
@@ -503,10 +507,10 @@ def maybeUpdateRefImages(options, browser):
             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