============================= test session starts ============================== platform linux2 -- Python 2.7.2 -- pytest-2.2.0 collecting ... collected 912 items / 10 skipped MoinMoin/_tests/test_error.py ...... MoinMoin/_tests/test_sourcecode.py ......................................................................................................................................................................................................................................................................... MoinMoin/_tests/test_test_environ.py .. MoinMoin/_tests/test_user.py ......................... MoinMoin/_tests/test_wikiutil.py ................ MoinMoin/apps/admin/_tests/test_admin.py ....... MoinMoin/apps/feed/_tests/test_feed.py .. MoinMoin/apps/frontend/_tests/test_frontend.py ..FF...........................................ssss MoinMoin/apps/misc/_tests/test_misc.py .. MoinMoin/apps/serve/_tests/test_serve.py .. MoinMoin/auth/_tests/test_auth.py ...... MoinMoin/auth/_tests/test_http.py . MoinMoin/auth/_tests/test_log.py ... MoinMoin/config/_tests/test_defaultconfig.py . MoinMoin/converter/_tests/test__args.py ....... MoinMoin/converter/_tests/test__args_wiki.py .... MoinMoin/converter/_tests/test__wiki_macro.py .... MoinMoin/converter/_tests/test_creole_in.py .......... MoinMoin/converter/_tests/test_include.py ... MoinMoin/converter/_tests/test_link.py .... MoinMoin/converter/_tests/test_mediawiki_in.py .... MoinMoin/converter/_tests/test_moinwiki19_in.py .s............ MoinMoin/converter/_tests/test_moinwiki_in.py s............ MoinMoin/converter/_tests/test_moinwiki_out.py ......... MoinMoin/converter/_tests/test_rst_in.py ......... MoinMoin/converter/_tests/test_rst_out.py ........... MoinMoin/converter/_tests/test_smiley.py ssssssss MoinMoin/datastruct/backends/_tests/test_composite_dicts.py .... MoinMoin/datastruct/backends/_tests/test_composite_groups.py ............. MoinMoin/datastruct/backends/_tests/test_config_dicts.py ..... MoinMoin/datastruct/backends/_tests/test_config_groups.py ......... MoinMoin/datastruct/backends/_tests/test_lazy_config_groups.py .................. MoinMoin/datastruct/backends/_tests/test_wiki_dicts.py ..... MoinMoin/datastruct/backends/_tests/test_wiki_groups.py ............. MoinMoin/i18n/_tests/test_i18n.py .. MoinMoin/items/_tests/test_Item.py ....................... MoinMoin/macro/_tests/test_Anchor.py . MoinMoin/macro/_tests/test_Date.py .. MoinMoin/macro/_tests/test_DateTime.py . MoinMoin/macro/_tests/test_GetText.py . MoinMoin/macro/_tests/test_GetVal.py . MoinMoin/macro/_tests/test_Verbatim.py . MoinMoin/macro/_tests/test__base.py .... MoinMoin/mail/_tests/test_sendmail.py ......... MoinMoin/search/_tests/test_analyzers.py ... MoinMoin/security/_tests/test_security.py .................... MoinMoin/security/_tests/test_textcha.py ... MoinMoin/security/_tests/test_ticket.py . MoinMoin/storage/backends/_tests/test_fileserver.py .... MoinMoin/storage/backends/_tests/test_stores.py .......... MoinMoin/storage/middleware/_tests/test_indexing.py ...............ss MoinMoin/storage/middleware/_tests/test_protecting.py ............................. MoinMoin/storage/middleware/_tests/test_routing.py ..... MoinMoin/storage/middleware/_tests/test_serialization.py . MoinMoin/storage/stores/_tests/test_all.py ..ss......ss..ss......ss..ss......ss..ss......ss..ss......ssssssssssssss MoinMoin/storage/stores/_tests/test_fs.py ...... MoinMoin/storage/stores/_tests/test_memory.py ...... MoinMoin/storage/stores/_tests/test_sqlite.py .......... MoinMoin/themes/_tests/test_navi_bar.py ..... MoinMoin/util/_tests/test_crypto.py ........ MoinMoin/util/_tests/test_diff3.py . MoinMoin/util/_tests/test_diff_html.py .. MoinMoin/util/_tests/test_diff_text.py . MoinMoin/util/_tests/test_filesys.py ....s........ MoinMoin/util/_tests/test_forms.py ...... MoinMoin/util/_tests/test_interwiki.py ..... MoinMoin/util/_tests/test_iri.py .................. MoinMoin/util/_tests/test_lock.py ............. MoinMoin/util/_tests/test_md5crypt.py .. MoinMoin/util/_tests/test_mime.py ..... MoinMoin/util/_tests/test_mimetype.py ... MoinMoin/util/_tests/test_paramparser.py .......................... MoinMoin/util/_tests/test_pysupport.py ...ss MoinMoin/util/_tests/test_registry.py .. MoinMoin/util/_tests/test_send_file.py . MoinMoin/util/_tests/test_thread_monitor.py .. MoinMoin/util/_tests/test_tree.py .... MoinMoin/util/_tests/test_util.py . MoinMoin/util/_tests/test_version.py . =================================== FAILURES =================================== ________________ TestFrontend.test_ajaxdestroy_item_name_route _________________ self = def test_ajaxdestroy_item_name_route(self): self._test_view_post('frontend.ajaxdestroy', status='200 OK', content_types=['application/json', ], data=['{', '}'], form=dict( comment='Test', itemnames='["DoesntExist"]', > ), viewopts=dict(item_name='DoesntExist')) MoinMoin/apps/frontend/_tests/test_frontend.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = viewname = 'frontend.ajaxdestroy', status = '200 OK' content_types = ['application/json'], data = ['{', '}'] form = {'comment': 'Test', 'itemnames': '["DoesntExist"]'} viewopts = {'item_name': 'DoesntExist'} def _test_view_post(self, viewname, status='302 FOUND', content_types=('text/html; charset=utf-8', ), data=('', ''), form=None, viewopts=None): if viewopts is None: viewopts = {} if form is None: form = {} print 'POST %s' % url_for(viewname, **viewopts) with self.app.test_client() as c: rv = c.post(url_for(viewname, **viewopts), data=form) > assert rv.status == status E assert '500 INTERNAL SERVER ERROR' == '200 OK' E - 500 INTERNAL SERVER ERROR E + 200 OK MoinMoin/apps/frontend/_tests/test_frontend.py:46: AssertionError ------------------------------- Captured stdout -------------------------------- POST /+ajaxdestroy/DoesntExist ------------------------------- Captured stderr -------------------------------- 2011-12-15 15:47:07,285 ERROR MoinMoin:1210 Exception on /+ajaxdestroy/DoesntExist [POST] Traceback (most recent call last): File "/home/moin/moin-2.0/env-python-2.7/lib/python2.7/site-packages/flask/app.py", line 1504, in wsgi_app response = self.full_dispatch_request() File "/home/moin/moin-2.0/env-python-2.7/lib/python2.7/site-packages/flask/app.py", line 1264, in full_dispatch_request rv = self.handle_user_exception(e) File "/home/moin/moin-2.0/env-python-2.7/lib/python2.7/site-packages/flask/app.py", line 1262, in full_dispatch_request rv = self.dispatch_request() File "/home/moin/moin-2.0/env-python-2.7/lib/python2.7/site-packages/flask/app.py", line 1248, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/home/moin/moin-2.0/MoinMoin/apps/frontend/views.py", line 546, in ajaxdestroy item.destroy(comment=comment, destroy_item=True) File "/home/moin/moin-2.0/MoinMoin/items/__init__.py", line 410, in destroy self.rev.item.destroy_all_revisions() AttributeError: 'DummyItem' object has no attribute 'destroy_all_revisions' _______________ TestFrontend.test_ajaxdestroy_no_item_name_route _______________ self = def test_ajaxdestroy_no_item_name_route(self): self._test_view_post('frontend.ajaxdestroy', status='200 OK', content_types=['application/json', ], data=['{', '}'], form=dict( comment='Test', > itemnames='["DoesntExist"]', MoinMoin/apps/frontend/_tests/test_frontend.py:73: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = viewname = 'frontend.ajaxdestroy', status = '200 OK' content_types = ['application/json'], data = ['{', '}'] form = {'comment': 'Test', 'itemnames': '["DoesntExist"]'}, viewopts = {} def _test_view_post(self, viewname, status='302 FOUND', content_types=('text/html; charset=utf-8', ), data=('', ''), form=None, viewopts=None): if viewopts is None: viewopts = {} if form is None: form = {} print 'POST %s' % url_for(viewname, **viewopts) with self.app.test_client() as c: rv = c.post(url_for(viewname, **viewopts), data=form) > assert rv.status == status E assert '500 INTERNAL SERVER ERROR' == '200 OK' E - 500 INTERNAL SERVER ERROR E + 200 OK MoinMoin/apps/frontend/_tests/test_frontend.py:46: AssertionError ------------------------------- Captured stdout -------------------------------- POST /+ajaxdestroy ------------------------------- Captured stderr -------------------------------- 2011-12-15 15:47:07,306 ERROR MoinMoin:1210 Exception on /+ajaxdestroy [POST] Traceback (most recent call last): File "/home/moin/moin-2.0/env-python-2.7/lib/python2.7/site-packages/flask/app.py", line 1504, in wsgi_app response = self.full_dispatch_request() File "/home/moin/moin-2.0/env-python-2.7/lib/python2.7/site-packages/flask/app.py", line 1264, in full_dispatch_request rv = self.handle_user_exception(e) File "/home/moin/moin-2.0/env-python-2.7/lib/python2.7/site-packages/flask/app.py", line 1262, in full_dispatch_request rv = self.dispatch_request() File "/home/moin/moin-2.0/env-python-2.7/lib/python2.7/site-packages/flask/app.py", line 1248, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/home/moin/moin-2.0/MoinMoin/apps/frontend/views.py", line 546, in ajaxdestroy item.destroy(comment=comment, destroy_item=True) File "/home/moin/moin-2.0/MoinMoin/items/__init__.py", line 410, in destroy self.rev.item.destroy_all_revisions() AttributeError: 'DummyItem' object has no attribute 'destroy_all_revisions' ============== 2 failed, 859 passed, 61 skipped in 59.58 seconds =============== real 1m0.103s user 0m42.757s sys 0m1.497s