[IMP] in crawler testing, indicate at which page the failed url was found
bzr revid: xmo@openerp.com-20131125120548-0s7xnhszd48e1u9v
This commit is contained in:
@@ -898,7 +898,6 @@
|
||||
minimumInputLength: 1,
|
||||
placeholder: _t("New or existing page"),
|
||||
query: function (q) {
|
||||
// FIXME: out-of-order, abort
|
||||
self.fetch_pages(q.term).then(function (results) {
|
||||
var rs = _.map(results, function (r) {
|
||||
return { id: r.url, text: r.name, };
|
||||
|
||||
@@ -6,10 +6,11 @@ class URLCase(unittest2.TestCase):
|
||||
URLCase moved out of test_requests, otherwise discovery attempts to
|
||||
instantiate and run it
|
||||
"""
|
||||
def __init__(self, user, url, result):
|
||||
def __init__(self, user, url, source, result):
|
||||
super(URLCase, self).__init__()
|
||||
self.user = user
|
||||
self.url = url
|
||||
self.source = source
|
||||
self.result = result
|
||||
|
||||
@property
|
||||
@@ -17,6 +18,8 @@ class URLCase(unittest2.TestCase):
|
||||
return self.user or "Anonymous Coward"
|
||||
|
||||
def __str__(self):
|
||||
if self.source:
|
||||
return "%s (from %s, as %s)" % (self.url, self.source, self.username)
|
||||
return "%s (as %s)" % (self.url, self.username)
|
||||
|
||||
__repr__ = __str__
|
||||
|
||||
@@ -80,13 +80,13 @@ class CrawlSuite(unittest2.TestSuite):
|
||||
assert auth.getcode() < 400, "Auth failure %d" % auth.getcode()
|
||||
|
||||
def _wrapped_run(self, result, debug=False):
|
||||
paths = collections.deque(['/'])
|
||||
paths = [URL('/')]
|
||||
seen = set(paths)
|
||||
|
||||
while paths:
|
||||
url = paths.popleft()
|
||||
r = self._request(url)
|
||||
cases.URLCase(self.user, url, r).run(result)
|
||||
url = paths.pop(0)
|
||||
r = self._request(url.url)
|
||||
url.to_case(self.user, r).run(result)
|
||||
|
||||
if r.info().gettype() != 'text/html':
|
||||
continue
|
||||
@@ -110,7 +110,15 @@ class CrawlSuite(unittest2.TestSuite):
|
||||
(parts.scheme and parts.scheme not in ('http', 'https')):
|
||||
continue
|
||||
|
||||
paths.append(href)
|
||||
paths.append(URL(href, url.url))
|
||||
|
||||
class URL(object):
|
||||
def __init__(self, url, source=None):
|
||||
self.url = url
|
||||
self.source = source
|
||||
|
||||
def to_case(self, user, result):
|
||||
return cases.URLCase(user, self.url, self.source, result)
|
||||
|
||||
def load_tests(loader, base, _):
|
||||
base.addTest(CrawlSuite())
|
||||
|
||||
Reference in New Issue
Block a user