Initial import of first test harness
The harness (test.py) operates as follows. First it locates executable browsers
(or symlinks or scripts) named "[browser][version]", e.g. "firefox4".
It then launches the located browsers and asks them to load the file
test_slave.html. At the same time, test.py sets up an HTTP server on
localhost:8080 (there's a race condition here currently ;). After
test_slave loads in the browser(s), it fetches the task manifest
(test_manifest.json). The entries in the manifest specify which PDF
to load and how many times to cycle through page rendering. This will
probably evolve over time. test_slave then performs the requested
tasks and POSTs the results back to test.py, which saves them. When
all the results of for a task are in, test.py checks them.
There are three types of tests currently. "==" tests compare the
rendering of a PDF against a master copy. This is not yet implemented
because setting up a master copy is complicated. "fbf" tests render
all a PDF's pages, then go back to page 1 and render all pages a
second time. The renderings from the first round must match the ones
from the second round. "load" tests just check that a PDF's pages
load without errors.
Currently the test harness will only launch a "firefox4" target. This
can be a bash script in your pdf.js checkout, pdf.js/firefox4,
something like the following
#!/bin/bash
dist="/path/to/firefox4/installation"
profile=`mktemp -dt 'pdf.js-test-ff-profile-XXXXXXXXXX'`
$dist/firefox -no-remote -profile $profile $*
rm -rf $profile
(Yes, this script doesn't clean up properly on early termination.)
It's possible to run the tests in a normal browsing session, but that
might be annoying. With that set up, run the harness like so
python test.py
If all goes well, you'll see all "TEST-PASS" messages printed to
stdout. If something goes wrong, you'll see "TEST-UNEXPECTED-FAIL"
printed to stdout.
2011-06-19 10:09:21 +09:00
|
|
|
[
|
2011-06-22 06:53:57 +09:00
|
|
|
{ "id": "tracemonkey-eq",
|
2011-06-24 01:48:34 +09:00
|
|
|
"file": "pdfs/tracemonkey.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "9a192d8b1a7dc652a19835f6f08098bd",
|
Initial import of first test harness
The harness (test.py) operates as follows. First it locates executable browsers
(or symlinks or scripts) named "[browser][version]", e.g. "firefox4".
It then launches the located browsers and asks them to load the file
test_slave.html. At the same time, test.py sets up an HTTP server on
localhost:8080 (there's a race condition here currently ;). After
test_slave loads in the browser(s), it fetches the task manifest
(test_manifest.json). The entries in the manifest specify which PDF
to load and how many times to cycle through page rendering. This will
probably evolve over time. test_slave then performs the requested
tasks and POSTs the results back to test.py, which saves them. When
all the results of for a task are in, test.py checks them.
There are three types of tests currently. "==" tests compare the
rendering of a PDF against a master copy. This is not yet implemented
because setting up a master copy is complicated. "fbf" tests render
all a PDF's pages, then go back to page 1 and render all pages a
second time. The renderings from the first round must match the ones
from the second round. "load" tests just check that a PDF's pages
load without errors.
Currently the test harness will only launch a "firefox4" target. This
can be a bash script in your pdf.js checkout, pdf.js/firefox4,
something like the following
#!/bin/bash
dist="/path/to/firefox4/installation"
profile=`mktemp -dt 'pdf.js-test-ff-profile-XXXXXXXXXX'`
$dist/firefox -no-remote -profile $profile $*
rm -rf $profile
(Yes, this script doesn't clean up properly on early termination.)
It's possible to run the tests in a normal browsing session, but that
might be annoying. With that set up, run the harness like so
python test.py
If all goes well, you'll see all "TEST-PASS" messages printed to
stdout. If something goes wrong, you'll see "TEST-UNEXPECTED-FAIL"
printed to stdout.
2011-06-19 10:09:21 +09:00
|
|
|
"rounds": 1,
|
2011-06-22 06:53:57 +09:00
|
|
|
"type": "eq"
|
Initial import of first test harness
The harness (test.py) operates as follows. First it locates executable browsers
(or symlinks or scripts) named "[browser][version]", e.g. "firefox4".
It then launches the located browsers and asks them to load the file
test_slave.html. At the same time, test.py sets up an HTTP server on
localhost:8080 (there's a race condition here currently ;). After
test_slave loads in the browser(s), it fetches the task manifest
(test_manifest.json). The entries in the manifest specify which PDF
to load and how many times to cycle through page rendering. This will
probably evolve over time. test_slave then performs the requested
tasks and POSTs the results back to test.py, which saves them. When
all the results of for a task are in, test.py checks them.
There are three types of tests currently. "==" tests compare the
rendering of a PDF against a master copy. This is not yet implemented
because setting up a master copy is complicated. "fbf" tests render
all a PDF's pages, then go back to page 1 and render all pages a
second time. The renderings from the first round must match the ones
from the second round. "load" tests just check that a PDF's pages
load without errors.
Currently the test harness will only launch a "firefox4" target. This
can be a bash script in your pdf.js checkout, pdf.js/firefox4,
something like the following
#!/bin/bash
dist="/path/to/firefox4/installation"
profile=`mktemp -dt 'pdf.js-test-ff-profile-XXXXXXXXXX'`
$dist/firefox -no-remote -profile $profile $*
rm -rf $profile
(Yes, this script doesn't clean up properly on early termination.)
It's possible to run the tests in a normal browsing session, but that
might be annoying. With that set up, run the harness like so
python test.py
If all goes well, you'll see all "TEST-PASS" messages printed to
stdout. If something goes wrong, you'll see "TEST-UNEXPECTED-FAIL"
printed to stdout.
2011-06-19 10:09:21 +09:00
|
|
|
},
|
|
|
|
{ "id": "tracemonkey-fbf",
|
2011-06-24 01:48:34 +09:00
|
|
|
"file": "pdfs/tracemonkey.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "9a192d8b1a7dc652a19835f6f08098bd",
|
Initial import of first test harness
The harness (test.py) operates as follows. First it locates executable browsers
(or symlinks or scripts) named "[browser][version]", e.g. "firefox4".
It then launches the located browsers and asks them to load the file
test_slave.html. At the same time, test.py sets up an HTTP server on
localhost:8080 (there's a race condition here currently ;). After
test_slave loads in the browser(s), it fetches the task manifest
(test_manifest.json). The entries in the manifest specify which PDF
to load and how many times to cycle through page rendering. This will
probably evolve over time. test_slave then performs the requested
tasks and POSTs the results back to test.py, which saves them. When
all the results of for a task are in, test.py checks them.
There are three types of tests currently. "==" tests compare the
rendering of a PDF against a master copy. This is not yet implemented
because setting up a master copy is complicated. "fbf" tests render
all a PDF's pages, then go back to page 1 and render all pages a
second time. The renderings from the first round must match the ones
from the second round. "load" tests just check that a PDF's pages
load without errors.
Currently the test harness will only launch a "firefox4" target. This
can be a bash script in your pdf.js checkout, pdf.js/firefox4,
something like the following
#!/bin/bash
dist="/path/to/firefox4/installation"
profile=`mktemp -dt 'pdf.js-test-ff-profile-XXXXXXXXXX'`
$dist/firefox -no-remote -profile $profile $*
rm -rf $profile
(Yes, this script doesn't clean up properly on early termination.)
It's possible to run the tests in a normal browsing session, but that
might be annoying. With that set up, run the harness like so
python test.py
If all goes well, you'll see all "TEST-PASS" messages printed to
stdout. If something goes wrong, you'll see "TEST-UNEXPECTED-FAIL"
printed to stdout.
2011-06-19 10:09:21 +09:00
|
|
|
"rounds": 2,
|
|
|
|
"type": "fbf"
|
|
|
|
},
|
|
|
|
{ "id": "html5-canvas-cheat-sheet-load",
|
2011-06-24 01:48:34 +09:00
|
|
|
"file": "pdfs/canvas.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "59510028561daf62e00bf9f6f066b033",
|
Initial import of first test harness
The harness (test.py) operates as follows. First it locates executable browsers
(or symlinks or scripts) named "[browser][version]", e.g. "firefox4".
It then launches the located browsers and asks them to load the file
test_slave.html. At the same time, test.py sets up an HTTP server on
localhost:8080 (there's a race condition here currently ;). After
test_slave loads in the browser(s), it fetches the task manifest
(test_manifest.json). The entries in the manifest specify which PDF
to load and how many times to cycle through page rendering. This will
probably evolve over time. test_slave then performs the requested
tasks and POSTs the results back to test.py, which saves them. When
all the results of for a task are in, test.py checks them.
There are three types of tests currently. "==" tests compare the
rendering of a PDF against a master copy. This is not yet implemented
because setting up a master copy is complicated. "fbf" tests render
all a PDF's pages, then go back to page 1 and render all pages a
second time. The renderings from the first round must match the ones
from the second round. "load" tests just check that a PDF's pages
load without errors.
Currently the test harness will only launch a "firefox4" target. This
can be a bash script in your pdf.js checkout, pdf.js/firefox4,
something like the following
#!/bin/bash
dist="/path/to/firefox4/installation"
profile=`mktemp -dt 'pdf.js-test-ff-profile-XXXXXXXXXX'`
$dist/firefox -no-remote -profile $profile $*
rm -rf $profile
(Yes, this script doesn't clean up properly on early termination.)
It's possible to run the tests in a normal browsing session, but that
might be annoying. With that set up, run the harness like so
python test.py
If all goes well, you'll see all "TEST-PASS" messages printed to
stdout. If something goes wrong, you'll see "TEST-UNEXPECTED-FAIL"
printed to stdout.
2011-06-19 10:09:21 +09:00
|
|
|
"rounds": 1,
|
|
|
|
"type": "load"
|
2011-06-22 07:14:42 +09:00
|
|
|
},
|
2011-06-25 11:23:29 +09:00
|
|
|
{ "id": "intelisa-load",
|
|
|
|
"file": "pdfs/intelisa.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "f3ed5487d1afa34d8b77c0c734a95c79",
|
2011-06-25 11:23:29 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "load"
|
|
|
|
},
|
2011-06-22 07:14:42 +09:00
|
|
|
{ "id": "pdfspec-load",
|
2011-06-24 01:48:34 +09:00
|
|
|
"file": "pdfs/pdf.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "dbdb23c939d2be09b43126c3c56060c7",
|
2011-06-22 07:14:42 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "load"
|
2011-06-26 23:15:33 +09:00
|
|
|
},
|
2011-07-06 02:21:28 +09:00
|
|
|
{ "id": "shavian-load",
|
|
|
|
"file": "pdfs/shavian.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "4fabf0a03e82693007435020bc446f9b",
|
2011-07-06 02:21:28 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "load"
|
|
|
|
},
|
2011-06-26 23:15:33 +09:00
|
|
|
{ "id": "sizes",
|
|
|
|
"file": "pdfs/sizes.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "c101ba7b44aee36048e1ac7b98f302ea",
|
2011-06-26 23:15:33 +09:00
|
|
|
"rounds": 1,
|
|
|
|
"type": "eq"
|
2011-06-28 10:13:11 +09:00
|
|
|
},
|
|
|
|
{ "id": "openweb-cover",
|
|
|
|
"file": "pdfs/openweb_tm-PRINT.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "53f611dfc19ddfb50554c21c4af465c0",
|
2011-06-28 10:28:29 +09:00
|
|
|
"link": true,
|
2011-06-28 10:13:11 +09:00
|
|
|
"rounds": 1,
|
|
|
|
"type": "eq"
|
2011-07-06 08:43:47 +09:00
|
|
|
},
|
2011-10-08 12:46:01 +09:00
|
|
|
{ "id": "plusminus",
|
|
|
|
"file": "pdfs/Test-plusminus.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "1ec7ade5b95ac9aaba3a618af28d34c7",
|
2011-10-08 12:46:01 +09:00
|
|
|
"rounds": 1,
|
|
|
|
"type": "eq"
|
|
|
|
},
|
2011-07-06 08:43:47 +09:00
|
|
|
{ "id": "openoffice-pdf",
|
|
|
|
"file": "pdfs/DiwanProfile.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "55d0c6a1a6d26c9ec9dcecaa7a471e0e",
|
2011-07-06 08:43:47 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "load"
|
2011-07-13 17:55:13 +09:00
|
|
|
},
|
|
|
|
{ "id": "openofficecidtruetype-pdf",
|
|
|
|
"file": "pdfs/arial_unicode_en_cidfont.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "03591cdf20214fb0b2dd5e5c3dd32d8c",
|
2011-07-13 17:55:13 +09:00
|
|
|
"rounds": 1,
|
|
|
|
"type": "load"
|
|
|
|
},
|
|
|
|
{ "id": "openofficearabiccidtruetype-pdf",
|
|
|
|
"file": "pdfs/arial_unicode_ab_cidfont.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "35090fa7d29e7196ae3421812e554988",
|
2011-07-13 17:55:13 +09:00
|
|
|
"rounds": 1,
|
|
|
|
"type": "load"
|
|
|
|
},
|
|
|
|
{ "id": "arabiccidtruetype-pdf",
|
|
|
|
"file": "pdfs/ArabicCIDTrueType.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "d66dbd18bdb572d3ac8b88b32de2ece6",
|
2011-07-13 17:55:13 +09:00
|
|
|
"rounds": 1,
|
|
|
|
"type": "load"
|
2011-07-21 13:17:31 +09:00
|
|
|
},
|
2011-08-19 22:04:34 +09:00
|
|
|
{ "id": "complexttffont-pdf",
|
|
|
|
"file": "pdfs/complex_ttf_font.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "76de93f9116b01b693bf8583b3e76d91",
|
2011-08-19 22:04:34 +09:00
|
|
|
"rounds": 1,
|
|
|
|
"type": "load"
|
|
|
|
},
|
2011-10-03 21:57:01 +09:00
|
|
|
{ "id": "thuluthfont-pdf",
|
|
|
|
"file": "pdfs/ThuluthFeatures.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "b7e18bf7a3d6a9c82aefa12d721072fc",
|
2011-10-03 21:57:01 +09:00
|
|
|
"rounds": 1,
|
2011-10-06 11:22:52 +09:00
|
|
|
"type": "eq"
|
2011-10-03 21:57:01 +09:00
|
|
|
},
|
2011-09-18 07:13:22 +09:00
|
|
|
{ "id": "wnv_chinese-pdf",
|
|
|
|
"file": "pdfs/wnv_chinese.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "db682638e68391125e8982d3c984841e",
|
2011-09-18 07:13:22 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "eq"
|
|
|
|
},
|
2011-07-21 13:17:31 +09:00
|
|
|
{ "id": "i9-pdf",
|
|
|
|
"file": "pdfs/i9.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "ba7cd54fdff083bb389295bc0415f6c5",
|
2011-07-21 13:17:31 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "eq"
|
2011-08-04 14:22:24 +09:00
|
|
|
},
|
|
|
|
{ "id": "hmm-pdf",
|
|
|
|
"file": "pdfs/hmm.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "e08467e60101ee5f4a59716e86db6dc9",
|
2011-08-04 14:22:24 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "load"
|
2011-08-07 06:41:18 +09:00
|
|
|
},
|
|
|
|
{ "id": "rotation",
|
|
|
|
"file": "pdfs/rotation.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "4fb25ada00ce7528569d9791c14decf5",
|
2011-08-07 06:41:18 +09:00
|
|
|
"rounds": 1,
|
2011-10-14 06:57:56 +09:00
|
|
|
"type": "eq"
|
2011-08-14 22:40:22 +09:00
|
|
|
},
|
|
|
|
{ "id": "ecma262-pdf",
|
|
|
|
"file": "pdfs/ecma262.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "763ead98f535578842891e5574e0af0f",
|
2011-08-14 22:40:22 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "load"
|
2011-08-15 02:26:48 +09:00
|
|
|
},
|
|
|
|
{ "id": "jai-pdf",
|
|
|
|
"file": "pdfs/jai.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "1f5dd128c3757420a881a155f2f8ace3",
|
2011-08-15 02:26:48 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "load"
|
2011-08-29 06:36:58 +09:00
|
|
|
},
|
|
|
|
{ "id": "cable",
|
|
|
|
"file": "pdfs/cable.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "09a41b9a759d60c698228224ab85b46d",
|
2011-08-29 06:36:58 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "eq"
|
2011-08-31 12:32:56 +09:00
|
|
|
},
|
|
|
|
{ "id": "pdkids",
|
|
|
|
"file": "pdfs/pdkids.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "278982bf016dbe46d2066f9245d9b3e6",
|
2011-08-31 12:32:56 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "eq"
|
2011-09-15 11:29:32 +09:00
|
|
|
},
|
2011-09-14 09:23:49 +09:00
|
|
|
{ "id": "artofwar",
|
|
|
|
"file": "pdfs/artofwar.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "7bdd51c327b74f1f7abdd90eedb2f912",
|
2011-09-14 09:23:49 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "eq"
|
2011-09-15 11:45:12 +09:00
|
|
|
},
|
2011-09-18 00:32:42 +09:00
|
|
|
{ "id": "wdsg_fitc",
|
|
|
|
"file": "pdfs/wdsg_fitc.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "5bb1c2b83705d4cdfc43197ee74f07f9",
|
2011-09-18 00:32:42 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "eq"
|
2011-09-18 01:23:34 +09:00
|
|
|
},
|
2011-10-02 11:24:11 +09:00
|
|
|
{ "id": "unix01",
|
|
|
|
"file": "pdfs/unix01.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "2742999f0bf9b9c035dbb0736096e220",
|
2011-10-02 11:24:11 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "eq"
|
|
|
|
},
|
2011-10-12 08:26:25 +09:00
|
|
|
{ "id": "fit11-talk",
|
|
|
|
"file": "pdfs/fit11-talk.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "eb7b224107205db4fea9f7df0185f77d",
|
2011-10-12 08:26:25 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"skipPages": [12,31],
|
|
|
|
"type": "eq"
|
|
|
|
},
|
2011-09-15 11:29:32 +09:00
|
|
|
{ "id": "fips197",
|
|
|
|
"file": "pdfs/fips197.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "374800cf78ce4b4abd02cd10a856b57f",
|
2011-09-15 11:29:32 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
2011-10-13 07:52:11 +09:00
|
|
|
"type": "eq"
|
2011-09-21 07:42:52 +09:00
|
|
|
},
|
|
|
|
{ "id": "txt2pdf",
|
|
|
|
"file": "pdfs/txt2pdf.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "02cefa0f5e8d96313bb05163b2f88c8c",
|
2011-09-21 07:42:52 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "load"
|
2011-09-22 02:04:21 +09:00
|
|
|
},
|
|
|
|
{ "id": "f1040",
|
|
|
|
"file": "pdfs/f1040.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "7323b50c6d28d959b8b4b92c469b2469",
|
2011-09-22 02:04:21 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "load"
|
2011-09-23 05:17:28 +09:00
|
|
|
},
|
|
|
|
{ "id": "hudsonsurvey",
|
|
|
|
"file": "pdfs/hudsonsurvey.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "bf0e6576a7b6c2fe7485bce1b78e006f",
|
2011-09-23 05:17:28 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "load"
|
2011-09-24 23:44:50 +09:00
|
|
|
},
|
2011-09-24 06:37:44 +09:00
|
|
|
{ "id": "extgstate",
|
|
|
|
"file": "pdfs/extgstate.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "001bb4ec04463a01d93aad748361f049",
|
2011-09-24 06:37:44 +09:00
|
|
|
"link": false,
|
|
|
|
"rounds": 1,
|
2011-10-14 06:57:56 +09:00
|
|
|
"type": "eq"
|
2011-09-24 23:57:59 +09:00
|
|
|
},
|
2011-10-08 12:24:26 +09:00
|
|
|
{ "id": "usmanm-bad",
|
|
|
|
"file": "pdfs/usmanm-bad.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "38afb822433aaf07fc8f54807cd4f61a",
|
2011-10-08 12:24:26 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "eq"
|
|
|
|
},
|
2011-10-02 09:01:58 +09:00
|
|
|
{ "id": "vesta-bad",
|
|
|
|
"file": "pdfs/vesta.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "0afebc109b7c17b95619ea3fab5eafe6",
|
2011-10-02 09:01:58 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "load"
|
|
|
|
},
|
2011-09-24 23:44:50 +09:00
|
|
|
{ "id": "ibwa-bad",
|
|
|
|
"file": "pdfs/ibwa-bad.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "6ca059d32b74ac2688ae06f727fee755",
|
2011-09-24 23:44:50 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"skipPages": [ 16 ],
|
|
|
|
"type": "load"
|
2011-09-29 09:54:40 +09:00
|
|
|
},
|
|
|
|
{ "id": "tcpdf_033",
|
|
|
|
"file": "pdfs/tcpdf_033.pdf",
|
2011-11-05 02:55:00 +09:00
|
|
|
"md5": "861294df58d185aae80919173f2732ff",
|
2011-09-29 09:54:40 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "eq"
|
2011-10-05 00:52:15 +09:00
|
|
|
},
|
2011-10-12 09:45:55 +09:00
|
|
|
{ "id": "pal-o47",
|
|
|
|
"file": "pdfs/pal-o47.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "81ae15e539e89f0f0b41169d923b611b",
|
2011-10-12 09:45:55 +09:00
|
|
|
"link": true,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "eq"
|
|
|
|
},
|
2011-10-04 08:36:01 +09:00
|
|
|
{ "id": "simpletype3font",
|
|
|
|
"file": "pdfs/simpletype3font.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "b374c7543920840c61999e9e86939f99",
|
2011-10-04 08:36:01 +09:00
|
|
|
"link": false,
|
|
|
|
"rounds": 1,
|
2011-10-05 01:06:51 +09:00
|
|
|
"type": "eq"
|
2011-10-29 06:11:14 +09:00
|
|
|
},
|
2011-10-28 22:38:55 +09:00
|
|
|
{ "id": "close-path-bug",
|
|
|
|
"file": "pdfs/close-path-bug.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "48dd17ef58393857d2d038d33699cac5",
|
2011-10-28 22:38:55 +09:00
|
|
|
"rounds": 1,
|
|
|
|
"type": "eq"
|
2011-11-01 00:51:45 +09:00
|
|
|
},
|
2011-10-29 06:11:14 +09:00
|
|
|
{ "id": "alphatrans",
|
|
|
|
"file": "pdfs/alphatrans.pdf",
|
2011-11-05 01:14:52 +09:00
|
|
|
"md5": "5ca2d3da0c5f20b3a5a14e895ad24b65",
|
2011-10-29 06:11:14 +09:00
|
|
|
"link": false,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "eq"
|
2011-11-12 07:44:47 +09:00
|
|
|
},
|
|
|
|
{ "id": "devicen",
|
|
|
|
"file": "pdfs/devicen.pdf",
|
|
|
|
"md5": "b9dbf00ec6bf02fcbefbb40332713aad",
|
|
|
|
"link": false,
|
|
|
|
"rounds": 1,
|
|
|
|
"type": "eq"
|
Initial import of first test harness
The harness (test.py) operates as follows. First it locates executable browsers
(or symlinks or scripts) named "[browser][version]", e.g. "firefox4".
It then launches the located browsers and asks them to load the file
test_slave.html. At the same time, test.py sets up an HTTP server on
localhost:8080 (there's a race condition here currently ;). After
test_slave loads in the browser(s), it fetches the task manifest
(test_manifest.json). The entries in the manifest specify which PDF
to load and how many times to cycle through page rendering. This will
probably evolve over time. test_slave then performs the requested
tasks and POSTs the results back to test.py, which saves them. When
all the results of for a task are in, test.py checks them.
There are three types of tests currently. "==" tests compare the
rendering of a PDF against a master copy. This is not yet implemented
because setting up a master copy is complicated. "fbf" tests render
all a PDF's pages, then go back to page 1 and render all pages a
second time. The renderings from the first round must match the ones
from the second round. "load" tests just check that a PDF's pages
load without errors.
Currently the test harness will only launch a "firefox4" target. This
can be a bash script in your pdf.js checkout, pdf.js/firefox4,
something like the following
#!/bin/bash
dist="/path/to/firefox4/installation"
profile=`mktemp -dt 'pdf.js-test-ff-profile-XXXXXXXXXX'`
$dist/firefox -no-remote -profile $profile $*
rm -rf $profile
(Yes, this script doesn't clean up properly on early termination.)
It's possible to run the tests in a normal browsing session, but that
might be annoying. With that set up, run the harness like so
python test.py
If all goes well, you'll see all "TEST-PASS" messages printed to
stdout. If something goes wrong, you'll see "TEST-UNEXPECTED-FAIL"
printed to stdout.
2011-06-19 10:09:21 +09:00
|
|
|
}
|
|
|
|
]
|