Py Tests: manual URL validator
Support for URL checker to use locally generated manual.
This commit is contained in:
@@ -92,13 +92,18 @@ def test_language_coverage():
|
|||||||
|
|
||||||
|
|
||||||
def test_urls():
|
def test_urls():
|
||||||
|
import os
|
||||||
import sys
|
import sys
|
||||||
import rna_wiki_reference
|
import rna_wiki_reference
|
||||||
|
|
||||||
import urllib.error
|
import urllib.error
|
||||||
from urllib.request import urlopen
|
from urllib.request import urlopen
|
||||||
|
|
||||||
prefix = rna_wiki_reference.url_manual_prefix
|
# avoid URL lookups if possible
|
||||||
|
LOCAL_PREFIX = os.environ.get("LOCAL_PREFIX")
|
||||||
|
if LOCAL_PREFIX is None:
|
||||||
|
prefix = rna_wiki_reference.url_manual_prefix
|
||||||
|
|
||||||
urls = {suffix for (rna_id, suffix) in rna_wiki_reference.url_manual_mapping}
|
urls = {suffix for (rna_id, suffix) in rna_wiki_reference.url_manual_mapping}
|
||||||
|
|
||||||
urls_len = "%d" % len(urls)
|
urls_len = "%d" % len(urls)
|
||||||
@@ -113,16 +118,26 @@ def test_urls():
|
|||||||
|
|
||||||
urls_fail = []
|
urls_fail = []
|
||||||
|
|
||||||
for url in sorted(urls):
|
if LOCAL_PREFIX:
|
||||||
url_full = prefix + url
|
for url in sorted(urls):
|
||||||
print(" %s ... " % url_full, end="")
|
url_full = os.path.join(LOCAL_PREFIX, url.partition("#")[0])
|
||||||
sys.stdout.flush()
|
print(" %s ... " % url_full, end="")
|
||||||
try:
|
if os.path.exists(url_full):
|
||||||
urlopen(url_full)
|
print(color_green + "OK" + color_normal)
|
||||||
print(color_green + "OK" + color_normal)
|
else:
|
||||||
except urllib.error.HTTPError:
|
print(color_red + "FAIL!" + color_normal)
|
||||||
print(color_red + "FAIL!" + color_normal)
|
urls_fail.append(url)
|
||||||
urls_fail.append(url)
|
else:
|
||||||
|
for url in sorted(urls):
|
||||||
|
url_full = prefix + url
|
||||||
|
print(" %s ... " % url_full, end="")
|
||||||
|
sys.stdout.flush()
|
||||||
|
try:
|
||||||
|
urlopen(url_full)
|
||||||
|
print(color_green + "OK" + color_normal)
|
||||||
|
except urllib.error.HTTPError:
|
||||||
|
print(color_red + "FAIL!" + color_normal)
|
||||||
|
urls_fail.append(url)
|
||||||
|
|
||||||
if urls_fail:
|
if urls_fail:
|
||||||
urls_len = "%d" % len(urls_fail)
|
urls_len = "%d" % len(urls_fail)
|
||||||
|
Reference in New Issue
Block a user