#!/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"