datatracker/test/compare_096_1
2010-07-21 12:48:05 +00:00

61 lines
1.7 KiB
Python
Executable file

#!/usr/bin/env python
import sys
import os
import re
# Warning: The following code assumes that this file is located in the svn
# checkout directory, and hasn't been moved:
ietfpath = os.path.abspath(__file__.rsplit("/", 1)[0] + "/..")
sys.path.append(ietfpath)
os.environ["DJANGO_SETTINGS_MODULE"] = "ietf.settings"
prefixes = os.environ.get("URLPREFIX", "").split()
from difflib import unified_diff
import urllib2 as urllib
from ietf.tests import get_testurls
django_server0 = os.environ.get("DJANGO_SERVER0", "http://127.0.0.1:8809")
django_server1 = os.environ.get("DJANGO_SERVER1", "http://127.0.0.1:8810")
django_server0.rstrip("/")
django_server1.rstrip("/")
testtuples = get_testurls()
def fetch(url):
file = urllib.urlopen(url)
html = file.read()
file.close()
return html
for codes, url, master in testtuples:
if prefixes:
match = False
for prefix in prefixes:
if re.match(prefix, url[1:]):
match = True
break
if not match:
continue
print "Testing "+url
if not "200" in codes:
print " Skipping, not 200 code"
continue
if url.startswith("/feed") or url.startswith("/sitemap"):
print " Skipping Atom feeds and sitemaps"
continue
url0 = django_server0 + url
url1 = django_server1 + url
print " Fetching %s ..." % url0
data0 = fetch(url0)
print " Fetching %s ..." % url1
data1 = fetch(url1)
list0 = data0.split("\n")
list1 = data1.split("\n")
diff = "\n".join(unified_diff(list0, list1, url0, url1, "", "", 0, lineterm=""))
if diff:
print diff
else:
print " No difference found"