]> git.parisson.com Git - pdf.js.git/commitdiff
Report results properly to test.py from driver.js.
authorKalervo Kujala <kkujala@>
Tue, 16 Aug 2011 22:33:00 +0000 (01:33 +0300)
committerKalervo Kujala <kkujala@>
Tue, 16 Aug 2011 22:33:00 +0000 (01:33 +0300)
If the PDFDoc creation failed in driver.js then that was not informed back to
test.py. This lead to State.remaining being off by one. And that did not let
the test to end as expected. Instead the test hung indefinitely.

This change now reveals TEST-UNEXPECTED-FAIL which was hidden previously.

test/driver.js

index 92fc00af1f18cbaa1916482f3390e5f7694f8336..716046c4ba786b6f9f679e5ee780b020dfd903fd 100644 (file)
@@ -80,10 +80,19 @@ function nextTask() {
 }
 
 function isLastPage(task) {
-  return (!task.pdfDoc || (task.pageNum > task.pdfDoc.numPages));
+  return (task.pageNum > task.pdfDoc.numPages);
 }
 
 function nextPage(task, loadError) {
+  var failure = loadError || '';
+
+  if (!task.pdfDoc) {
+    sendTaskResult(canvas.toDataURL('image/png'), task, failure);
+    log('done' + (failure ? ' (failed !: ' + failure + ')' : '') + '\n');
+    ++currentTaskIdx, nextTask();
+    return;
+  }
+
   if (isLastPage(task)) {
     if (++task.round < task.rounds) {
       log(' Round ' + (1 + task.round) + '\n');
@@ -94,15 +103,13 @@ function nextPage(task, loadError) {
     }
   }
 
-  var failure = loadError || '';
-
-  var ctx = null;
   var page = null;
+
   if (!failure) {
     try {
       log(' loading page ' + task.pageNum + '/' + task.pdfDoc.numPages +
           '... ');
-      ctx = canvas.getContext('2d');
+      var ctx = canvas.getContext('2d');
       page = task.pdfDoc.getPage(task.pageNum);
 
       var pdfToCssUnitsCoef = 96.0 / 72.0;
@@ -179,7 +186,7 @@ var inFlightRequests = 0;
 function sendTaskResult(snapshot, task, failure) {
   var result = { browser: browser,
                  id: task.id,
-                 numPages: task.pdfDoc.numPages,
+                 numPages: task.pdfDoc ? task.pdfDoc.numPages : 0,
                  failure: failure,
                  file: task.file,
                  round: task.round,