Skip to content

Instantly share code, notes, and snippets.

@norrs
Created May 14, 2012 07:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save norrs/2692427 to your computer and use it in GitHub Desktop.
Save norrs/2692427 to your computer and use it in GitHub Desktop.
See <http://metanav.uninett.no/hudson/job/norrs-new-netmap/9/>
------------------------------------------
[...truncated 1849 lines...]
_______________ ERROR collecting integration/web/crawler_test.py _______________
def test_webpages():
result = login()
if result:
func, args = result[0], result[1:]
> > func(*args)
integration/web/crawler_test.py:53:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
url = 'http://experior.uninett.no:9000/index/login/', code = 500
error = HTTPError()
def failure(url, code, error):
print error.fp.read()
> > assert code == 200
E assert 500 == 200
integration/web/crawler_test.py:77: AssertionError
------------------------------- Captured stdout --------------------------------
http://experior.uninett.no:9000/index/login/ :
----------------------------------------------
<h1>Something went wrong</h1>
<p>Something went wrong while processing your request. Please try again
later.</p>
<p>If the problems persists, contact your system administrator and/or report a
bug on <a href="http://bugs.launchpad.net/nav/+filebug">NAV bugtracker</a>.</p>
=================================== FAILURES ===================================
___________________ test_usage_edit_url_should_allow_slashes ___________________
def test_usage_edit_url_should_allow_slashes():
> > assert reverse('seeddb-usage-edit', args=('TEST/SLASH',))
integration/seeddb_test.py:4:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
viewname = 'seeddb-usage-edit', urlconf = None, args = ('TEST/SLASH',)
kwargs = {}, prefix = u'/', current_app = None
def reverse(viewname, urlconf=None, args=None, kwargs=None, prefix=None, current_app=None):
if urlconf is None:
urlconf = get_urlconf()
resolver = get_resolver(urlconf)
args = args or []
kwargs = kwargs or {}
if prefix is None:
prefix = get_script_prefix()
if not isinstance(viewname, basestring):
view = viewname
else:
parts = viewname.split(':')
parts.reverse()
view = parts[0]
path = parts[1:]
resolved_path = []
while path:
ns = path.pop()
# Lookup the name to see if it could be an app identifier
try:
app_list = resolver.app_dict[ns]
# Yes! Path part matches an app in the current Resolver
if current_app and current_app in app_list:
# If we are reversing for a particular app, use that namespace
ns = current_app
elif ns not in app_list:
# The name isn't shared by one of the instances (i.e., the default)
# so just pick the first instance as the default.
ns = app_list[0]
except KeyError:
pass
try:
extra, resolver = resolver.namespace_dict[ns]
resolved_path.append(ns)
prefix = prefix + extra
except KeyError, key:
if resolved_path:
raise NoReverseMatch("%s is not a registered namespace inside '%s'" % (key, ':'.join(resolved_path)))
else:
raise NoReverseMatch("%s is not a registered namespace" % key)
return iri_to_uri(u'%s%s' % (prefix, resolver.reverse(view,
> > *args, **kwargs)))
/usr/lib/pymodules/python2.6/django/core/urlresolvers.py:351:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <RegexURLResolver nav.django.urls (None:None) ^/>
lookup_view = 'seeddb-usage-edit'
def reverse(self, lookup_view, *args, **kwargs):
if args and kwargs:
raise ValueError("Don't mix *args and **kwargs in call to reverse()!")
try:
lookup_view = get_callable(lookup_view, True)
except (ImportError, AttributeError), e:
raise NoReverseMatch("Error importing '%s': %s." % (lookup_view, e))
> > possibilities = self.reverse_dict.getlist(lookup_view)
/usr/lib/pymodules/python2.6/django/core/urlresolvers.py:272:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <RegexURLResolver nav.django.urls (None:None) ^/>
def _get_reverse_dict(self):
if self._reverse_dict is None:
> > self._populate()
/usr/lib/pymodules/python2.6/django/core/urlresolvers.py:194:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <RegexURLResolver nav.django.urls (None:None) ^/>
def _populate(self):
lookups = MultiValueDict()
namespaces = {}
apps = {}
for pattern in reversed(self.url_patterns):
p_pattern = pattern.regex.pattern
if p_pattern.startswith('^'):
p_pattern = p_pattern[1:]
if isinstance(pattern, RegexURLResolver):
if pattern.namespace:
namespaces[pattern.namespace] = (p_pattern, pattern)
if pattern.app_name:
apps.setdefault(pattern.app_name, []).append(pattern.namespace)
else:
parent = normalize(pattern.regex.pattern)
> > for name in pattern.reverse_dict:
/usr/lib/pymodules/python2.6/django/core/urlresolvers.py:173:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <RegexURLResolver nav.web.netmapdev.urls (None:None) ^netmapdev/>
def _get_reverse_dict(self):
if self._reverse_dict is None:
> > self._populate()
/usr/lib/pymodules/python2.6/django/core/urlresolvers.py:194:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <RegexURLResolver nav.web.netmapdev.urls (None:None) ^netmapdev/>
def _populate(self):
lookups = MultiValueDict()
namespaces = {}
apps = {}
> > for pattern in reversed(self.url_patterns):
/usr/lib/pymodules/python2.6/django/core/urlresolvers.py:162:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <RegexURLResolver nav.web.netmapdev.urls (None:None) ^netmapdev/>
def _get_url_patterns(self):
> > patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
/usr/lib/pymodules/python2.6/django/core/urlresolvers.py:244:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <RegexURLResolver nav.web.netmapdev.urls (None:None) ^netmapdev/>
def _get_urlconf_module(self):
try:
return self._urlconf_module
except AttributeError:
> > self._urlconf_module = import_module(self.urlconf_name)
/usr/lib/pymodules/python2.6/django/core/urlresolvers.py:239:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
name = 'nav.web.netmapdev.urls', package = None
def import_module(name, package=None):
"""Import a module.
The 'package' argument is required when performing a relative import. It
specifies the package to use as the anchor point from which to resolve the
relative import to an absolute import.
"""
if name.startswith('.'):
if not package:
raise TypeError("relative imports require the 'package' argument")
level = 0
for character in name:
if character != '.':
break
level += 1
name = _resolve_name(name[level:], package, level)
> > __import__(name)
/usr/lib/pymodules/python2.6/django/utils/importlib.py:35:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
"""Netmap backend URL config."""
from django.conf.urls.defaults import url, patterns
> > from nav.web.netmapdev.views import demo, d3js_layer2, graphml_layer2, index, graph_layer2_view2, graph_layer2_view1
../build/lib/python/nav/web/netmapdev/urls.py:20:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
"""Netmap mod_python handler"""
import psycopg2.extras
from django.template import RequestContext
from django.http import HttpResponse
from django.http import HttpResponseForbidden
from django.http import HttpResponseRedirect
from django.http import Http404
from django.core.urlresolvers import reverse
from django.core.serializers import serialize
from django.utils import simplejson
from nav.django.shortcuts import render_to_response
> > from nav.topology import vlan
../build/lib/python/nav/web/netmapdev/views.py:31:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
"""Analysis of VLAN topology as subset of layer 2 topology"""
import logging
> > import networkx as nx
E ImportError: No module named networkx
../build/lib/python/nav/topology/vlan.py:19: ImportError
------------------------------- Captured stderr --------------------------------
/usr/lib/python2.6/dist-packages/xmpp/auth.py:24: DeprecationWarning: the sha module is deprecated; use the hashlib module instead
import sha,base64,random,dispatcher,re
/usr/lib/python2.6/dist-packages/xmpp/auth.py:26: DeprecationWarning: the md5 module is deprecated; use hashlib instead
import md5
------------------ generated xml file: integration-result.xml ------------------
================ 1 failed, 332 passed, 1 error in 11.45 seconds ================
Build step 'Execute shell' marked build as failure
Recording test results
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment