Browse Source

Fixes test pdfs MD5; make server does not download

Yury Delendik 13 years ago
parent
commit
ee16090bc2
  1. 2
      make.js
  2. 2
      test/pdfs/wnv_chinese.pdf.link
  3. 49
      test/test.py
  4. 6
      test/test_manifest.json

2
make.js

@ -751,7 +751,7 @@ target.server = function() { @@ -751,7 +751,7 @@ target.server = function() {
echo('### Starting local server');
cd('test');
exec(PYTHON_BIN + ' -u test.py --port=8888', {async: true});
exec(PYTHON_BIN + ' -u test.py --port=8888 --noDownload', {async: true});
};
//

2
test/pdfs/wnv_chinese.pdf.link

@ -1 +1 @@ @@ -1 +1 @@
http://web.archive.org/web/20110623114753/http://www.cdc.gov/ncidod/dvbid/westnile/languages/chinese.pdf
http://www.cdc.gov/ncidod/dvbid/westnile/languages/chinese.pdf

49
test/test.py

@ -55,6 +55,10 @@ class TestOptions(OptionParser): @@ -55,6 +55,10 @@ class TestOptions(OptionParser):
help="The port the HTTP server should listen on.", default=8080)
self.add_option("--unitTest", action="store_true", dest="unitTest",
help="Run the unit tests.", default=False)
self.add_option("--noDownload", action="store_true", dest="noDownload",
help="Skips test PDFs downloading.", default=False)
self.add_option("--ignoreDownloadErrors", action="store_true", dest="ignoreDownloadErrors",
help="Ignores errors during test PDFs downloading.", default=False)
self.set_usage(USAGE_EXAMPLE)
def verifyOptions(self, options):
@ -380,22 +384,32 @@ def makeBrowserCommands(browserManifestFile): @@ -380,22 +384,32 @@ def makeBrowserCommands(browserManifestFile):
browsers = [makeBrowserCommand(browser) for browser in json.load(bmf)]
return browsers
def downloadLinkedPDFs(manifestList):
for item in manifestList:
f, isLink = item['file'], item.get('link', False)
if isLink and not os.access(f, os.R_OK):
linkFile = open(f +'.link')
link = linkFile.read()
linkFile.close()
def downloadLinkedPDF(f):
linkFile = open(f +'.link')
link = linkFile.read()
linkFile.close()
sys.stdout.write('Downloading '+ link +' to '+ f +' ...')
sys.stdout.flush()
response = urllib2.urlopen(link)
sys.stdout.write('Downloading '+ link +' to '+ f +' ...')
sys.stdout.flush()
response = urllib2.urlopen(link)
with open(f, 'wb') as out:
out.write(response.read())
with open(f, 'wb') as out:
out.write(response.read())
print 'done'
print 'done'
def downloadLinkedPDFs(manifestList, ignoreDownloadErrors):
for item in manifestList:
f, isLink = item['file'], item.get('link', False)
if isLink and not os.access(f, os.R_OK):
try:
downloadLinkedPDF(f)
except:
print 'ERROR: Unable to download file "' + f + '".'
if ignoreDownloadErrors:
open(f, 'wb').close()
else:
raise
def verifyPDFs(manifestList):
error = False
@ -447,11 +461,12 @@ def setUp(options): @@ -447,11 +461,12 @@ def setUp(options):
with open(options.manifestFile) as mf:
manifestList = json.load(mf)
downloadLinkedPDFs(manifestList)
if not options.noDownload:
downloadLinkedPDFs(manifestList, options.ignoreDownloadErrors)
if not verifyPDFs(manifestList):
print 'Unable to verify the checksum for the files that are used for testing.'
print 'Please re-download the files, or adjust the MD5 checksum in the manifest for the files listed above.\n'
if not verifyPDFs(manifestList):
print 'Unable to verify the checksum for the files that are used for testing.'
print 'Please re-download the files, or adjust the MD5 checksum in the manifest for the files listed above.\n'
for b in testBrowsers:
State.taskResults[b.name] = { }

6
test/test_manifest.json

@ -25,7 +25,7 @@ @@ -25,7 +25,7 @@
},
{ "id": "intelisa-eq",
"file": "pdfs/intelisa.pdf",
"md5": "c1444b7ccd935c0577d094297e1a6448",
"md5": "cdbcf14d0d260c0b313c566a61b07d9f",
"link": true,
"pageLimit": 100,
"rounds": 1,
@ -41,7 +41,7 @@ @@ -41,7 +41,7 @@
},
{ "id": "shavian-load",
"file": "pdfs/shavian.pdf",
"md5": "79253352f48b55b7fa28a2586875d8b7",
"md5": "40ef97a120250b149c4ded383ca328ec",
"link": true,
"rounds": 1,
"type": "load"
@ -199,7 +199,7 @@ @@ -199,7 +199,7 @@
},
{ "id": "fips197",
"file": "pdfs/fips197.pdf",
"md5": "374800cf78ce4b4abd02cd10a856b57f",
"md5": "4742c3f470cd8c4686a0dbb3da808b71",
"link": true,
"rounds": 1,
"type": "eq"

Loading…
Cancel
Save