Description
Non-critical tests failures and errors occur during test of new installation.
Steps to reproduce
Probably the only thing that matters is Python 2.2, MoinMoin 1.3.3, and CGI invocation
- RH Linux 9.3, x86 SMP, rpms: python 2.2.2-26, python-devel 2.2.2-26
install MoinMoin 1.3.3, --PREFIX=$HOME/MoinStuff (no root access)
configure instance into ~/MoinStuff
- copy moin.cgi into ~/www and enable +CGIExec in .htaccess
lynx -dump 'http://sfca.thriff.org/moin.cgi?action=test' (public access for now)
Example
Output from http://sfca.thriff.org/moin.cgi?action=test
MoinMoin Diagnosis ====================== Release 1.3.3 Revision 1.3.3 release Python version 2.2.2 (#1, Feb 24 2003, 19:13:11) [GCC 3.2.2 20030222 (Red Hat Linux 3.2.2-4)] Python installed to /usr PyXML is installed Python Path: /home/sfca/MoinBase/lib/python2.2/site-packages /home/sfca/sfcawiki /home/sfca/MoinBase/lib/python2.2 /home/sfca/www /usr/lib/python2.2 /usr/lib/python2.2/plat-linux2 /usr/lib/python2.2/lib-dynload /usr/lib/python2.2/site-packages /usr/lib/python2.2/site-packages/gtk-2.0 Checking directories... data directory tests OK (set to '/home/sfca/sfcawiki/data') user directory tests OK (set to '/home/sfca/sfcawiki/data/user') Server Environment: ONLY AVAILABLE FOR LOCAL REQUESTS ON THIS HOST! Unit Tests: error: access error like a dict ... ok error: create with encoded string ... FAIL error: create with any object ... ok error: create with unicode ... FAIL Page: page.exists() finds existing pages only ... ok PageEditor: expanding variables ... ok parser.wiki: DateTime macro ... ok parser.wiki: ------------ long rule shortened to hr6 ... ERROR parser.wiki: --- is no rule ... ERROR parser.wiki: ---- is standard rule ... ERROR parser.wiki: ----- rules with size ... ERROR parser.wiki: escape wiki table markup in pre ... ok parser.wiki: escape wiki table markup in pre with hashbang ... ok parser.wiki: escape wiki table markup in python code area ... ok parser.wiki: escape wiki table markup in `tt` ... ok parser.wiki: escape wiki table markup in {{{tt
... okparser.wiki: TOC links to headings with white space ... ok parser.wiki: empty lines before block element ignored ... ok parser.wiki: paragraph closed before block element ... ok parser.wiki: ignore white space around heading text ... ok parser.wiki: empty line separates paragraphs ... ok parser.wiki: first paragraph should be in <p> ... ok parser.wiki: create paragraph after block markup ... ok parser.wiki: close open inline tag when block close ... ok parser.wiki: escape html markup in getText formatted call with link ... ok parser.wiki: escape html markup in getText formatted call ... ok parser.wiki: escape html markup in GetText macro ... ok parser.wiki: escape html markup in getText non formatted call ... ok parser.wiki: escape html markup in pre ... ok parser.wiki: escape html markup in pre with hashbang ... ok parser.wiki: escape html markup in python code area ... ok parser.wiki: escape html markup in tt ... ok parser.wiki: escape html markup in tt ... ok parser.wiki: text formating ... ok pysupport: import wiki parser from moin succeed ... ok pysupport: import nonexistent moin parser return None ... ok pysupport: import existing plugin succeed ... ok pysupport: import nonexistent plugin return None ... ok repair_language: should replace known language ... ok repair_language: return crlf line endings ... ok repair_language: should not replace in page body ... ok repair_language: should not replace unknown langauge ... ok request: normalize pagename: restrict groups to alpha numeric Unicode ... ok request: normalize pagename: normalize slashes ... ok request: normalize pagename: normalize whitespace ... FAIL request: normalize pagename: remove invalid unicode chars ... ok request: normalize pagename: underscore convert to spaces and normalized ... ok user: isValidName: reject group names ... ok user: encode ascii password ... ok user: encode unicode password ... FAIL user: login with ascii password ... ok user: login with non-ascii password in pre 1.3 user file ... ok user: login replace old non-ascii password in pre 1.3 user file ... ok user: login with non-ascii password ... ok user: isValidName: reject unicode non alpha numeric characters ... ok user: isValidName: accept names in any language, with spaces ... FAIL user: isValidName: reject leading, trailing or multiple whitespace ... ok util.mail: decoding spam safe mail ... ok util.web: make query sting from argument ... ok util.web: make query sting from argument and keywords ... ok util.web: make query sting from keywords ... ok util.web: creating html select with non existing selection ... ok util.web: creating html select with selected item ... ok widget.html: append to and extend composite element ... ok widget.html: creating html widgets ... ok widegt.html: invalid attributes raises exception ... ok wikiacl: allow extra white space between entries ... ok wikiacl: bad guy may not allowed anything ... ok wikiacl: default meta acl ... ok wikiacl: empty acl string raise StopIteration ... ok wikiacl: empty names with rights ... ok wikiacl: empty rights ... ok wikiacl: ignore rights not in acl_rights_valid ... ok wikiacl: ignore invalid acl ... ok wikiacl: mixed wiki names and names with spaces ... ok wikiacl: acl modifiers ... ok wikiacl: multiple entries ... ok wikiacl: multiple entries with spaces ... ok wikiacl: multiple names with spaces ... ok wikiacl: single name with spaces ... ok wikiacl: single wiki name, single right ... ok wikiacl: white space acl string raise StopIteration ... ok wikiacl: applying acl by user name ... ok wikidicts: create group from first level list items ... ok wikidict: names in SystemPagesGroup should be in request.dicts ... ok wikidicts: create dict from keys and values in text ... ok wikimacro: trivial macro works ... ok wikiutil: good system page names accepted, bad rejected ... ok wikiutil: good form names accepted, bad rejected ... ok wikiutil: good template names accepted, bad rejected ... ok wikixml.marshal: create new marshal ... ok wikixml.marshal: setting marshal property ... ok
====================================================================== ERROR: parser.wiki:
long rule shortened to hr6
Traceback (most recent call last):
- File "/home/sfca/MoinBase/lib/python2.2/site-packages/MoinMoin/_tests/test_pa
rser_wiki.py", line 371, in testLongRule
- self.assert_(expected in result,
TypeError: 'in <string>' requires character as left operand
====================================================================== ERROR: parser.wiki: --- is no rule
Traceback (most recent call last):
- File "/home/sfca/MoinBase/lib/python2.2/site-packages/MoinMoin/_tests/test_pa
rser_wiki.py", line 346, in testNotRule
- self.assert_(expected in result,
TypeError: 'in <string>' requires character as left operand
====================================================================== ERROR: parser.wiki:
is standard rule
Traceback (most recent call last):
- File "/home/sfca/MoinBase/lib/python2.2/site-packages/MoinMoin/_tests/test_pa
rser_wiki.py", line 353, in testStandardRule
- self.assert_(expected in result,
TypeError: 'in <string>' requires character as left operand
====================================================================== ERROR: parser.wiki:
rules with size
Traceback (most recent call last):
- File "/home/sfca/MoinBase/lib/python2.2/site-packages/MoinMoin/_tests/test_pa
rser_wiki.py", line 363, in testVariableRule
- self.assert_(expected in result,
TypeError: 'in <string>' requires character as left operand
====================================================================== FAIL: error: create with encoded string
Traceback (most recent call last):
- File "/home/sfca/MoinBase/lib/python2.2/site-packages/MoinMoin/_tests/test_er
ror.py", line 26, in testCreateWithEncodedString
- self.assertEqual(unicode(err), u'TjE+W+T+')
- File "/usr/lib/python2.2/unittest.py", line 286, in failUnlessEqual
- raise self.failureException, \
AssertionError: u'\u05d8\u05e2\u05d5\u05ea' != u'\xd7\x98\xd7\xa2\xd7\x95\xd7\x aa'
====================================================================== FAIL: error: create with unicode
Traceback (most recent call last):
- File "/home/sfca/MoinBase/lib/python2.2/site-packages/MoinMoin/_tests/test_er
ror.py", line 21, in testCreateWithUnicode
- self.assertEqual(str(err), 'TjE+W+T+')
- File "/usr/lib/python2.2/unittest.py", line 286, in failUnlessEqual
- raise self.failureException, \
AssertionError: '\xc3\x97\xc2\x98\xc3\x97\xc2\xa2\xc3\x97\xc2\x95\xc3\x97\xc2\x aa' != '\xd7\x98\xd7\xa2\xd7\x95\xd7\xaa'
====================================================================== FAIL: request: normalize pagename: normalize whitespace
Traceback (most recent call last):
- File "/home/sfca/MoinBase/lib/python2.2/site-packages/MoinMoin/_tests/test_re
quest.py", line 57, in testNormalizeWhitespace
- ('Expected "%(expected)s" but got "%(result)s"') %
- File "/usr/lib/python2.2/unittest.py", line 286, in failUnlessEqual
- raise self.failureException, \
AssertionError: <unprintable instance object>
====================================================================== FAIL: user: encode unicode password
Traceback (most recent call last):
- File "/home/sfca/MoinBase/lib/python2.2/site-packages/MoinMoin/_tests/test_us
er.py", line 36, in testUnicode
- 'Expected "%(expected)s" but got "%(result)s"' % locals())
- File "/usr/lib/python2.2/unittest.py", line 286, in failUnlessEqual
- raise self.failureException, \
AssertionError: Expected "{SHA}GvvkgYzv5MoF9Ljivv2oc81FmkE=" but got "{SHA}q413 lylHs6uvrWGtbO9x8mzEvIc="
====================================================================== FAIL: user: isValidName: accept names in any language, with spaces
Traceback (most recent call last):
- File "/home/sfca/MoinBase/lib/python2.2/site-packages/MoinMoin/_tests/test_us
er.py", line 241, in testValid
- 'Expected "%(expected)s" but got "%(result)s"' % locals())
- File "/usr/lib/python2.2/unittest.py", line 286, in failUnlessEqual
- raise self.failureException, \
AssertionError: Expected "1" but got "0"
Ran 92 tests in 0.656s
FAILED (failures=5, errors=4)
}}}
Details
MoinMoin Version |
1.3.3 |
OS and Version |
Linux RedHat 9.3 /2.4.20-30.9 |
Python Version |
Python 2.2.2 |
Server Setup |
Apache/2.0.49 |
Server Details |
only using cgi currently |
Workaround
Discussion
Told on IRC#moin that errors seen were non-critical and related to python 2.2.2
Contact cboe at mailsnare dot net for any missing details
This is not a bug, the test should be used by developers and not by users. The tests work with Python 2.3 and 2.4. Incompatibility with older Python versions will probably not fixed. -- NirSoffer 2005-02-08 13:51:53
That would render unit tests useless ... They were being written in order to check if a unit runs in a particular environment (after having changed another unit, replaced the Python interpreter etc.) And as long as they fail on a Python interpreter that is still announced as being actively supported, there are bugs in our code, even if just in the tests. Even developers should use Python 2.2.2, especially to run the tests and hunt for regressions. When we have dropped the compatiblity note, we will be able to ignore such problems. But currently, this is no option IMHO. -- AlexanderSchremmer
Since its does not have any effect on using the system but should be fixed in a perfect world, I schedule it to 1.3.5. If we have time to fix this, it will be fixed. -- NirSoffer 2005-02-10 23:42:32
Moved to next release, as its still low priority.
Plan
- Priority: Low
- Assigned to:
- Status: Confirmed, fixed by requiring python 2.3 for moin 1.5