Opened 8 years ago

Last modified 3 years ago

#2001 enhancement new

Make sure every todo'd test has an open ticket

Reported by: jml Owned by:
Priority: lowest Milestone:
Component: core Keywords: tests
Cc: thijs Branch:
Author: Launchpad Bug:

Description (last modified by glyph)

  • Every test marked todo should have an open ticket in the tracker
  • The todo string should refer to the ticket number
  • The testing / coding standard should be updated to make this a policy

Change History (10)

comment:1 Changed 8 years ago by jml

===============================================================================
[TODO]: twisted.conch.test.test_text.EfficiencyTestCase.testComplexStructure

Reason: "flatten() isn't quite stateful enough to avoid emitting a few extra bytes in certain circumstances, so these tests fail.  The failures take the form of additional elements in the ;-delimited character attribute lists.  For example, \\x1b[0;31;46m might be emitted instead of \\x[46m, even if 31 has already been activated and no conflicting attributes are set which need to be cleared."
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/conch/test/test_text.py", line 87, in testComplexStructure
    "\x1b[1;31;46mForeground Red, Background Cyan, Bold"
twisted.trial.unittest.FailTest: '\x1b[1;31;46mForeground Red, Background Cyan, Bold\x1b[1;5;31;46mBlinking\x1b[0;31;46mForeground Red, Background Cyan, normal\x1b[1;32;46mForeground Green, Background Cyan, Bold' != '\x1b[1;31;46mForeground Red, Background Cyan, Bold\x1b[5mBlinking\x1b[0;31;46mForeground Red, Background Cyan, normal\x1b[1;32;46mForeground Green, Background Cyan, Bold'
===============================================================================
[TODO]: twisted.conch.test.test_text.EfficiencyTestCase.testNesting

Reason: "flatten() isn't quite stateful enough to avoid emitting a few extra bytes in certain circumstances, so these tests fail.  The failures take the form of additional elements in the ;-delimited character attribute lists.  For example, \\x1b[0;31;46m might be emitted instead of \\x[46m, even if 31 has already been activated and no conflicting attributes are set which need to be cleared."
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/conch/test/test_text.py", line 95, in testNesting
    '\x1b[1mHello, \x1b[4mworld.')
twisted.trial.unittest.FailTest: '\x1b[1mHello, \x1b[1;4mworld.' != '\x1b[1mHello, \x1b[4mworld.'
===============================================================================
[TODO]: twisted.test.test_failure.FailureTestCase.testLackOfTB

Reason: "the traceback is not preserved, exarkun said he'll try to fix this! god knows how"
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/test/test_failure.py", line 88, in testLackOfTB
    self.assertEquals(innerline, '1/0')
twisted.trial.unittest.FailTest: 'raise self.type, self.value, self.tb' != '1/0'
===============================================================================
[TODO]: twisted.test.test_modules.PathModificationTest.test_underUnderPathNotAlreadyImported

Reason: 'This may be impossible but it sure would be nice.'
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/test/test_modules.py", line 144, in test_underUnderPathNotAlreadyImported
    self._underUnderPathTest(False)
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/test/test_modules.py", line 130, in _underUnderPathTest
    importPackages=doImport),
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/test/test_modules.py", line 30, in findByIteration
    self.fail("Unable to find module %r through iteration." % (modname,))
twisted.trial.unittest.FailTest: Unable to find module 'pyspacetests3.foozle' through iteration.
===============================================================================
[TODO]: twisted.test.test_modules.ZipPathModificationTest.test_underUnderPathNotAlreadyImported

Reason: 'This may be impossible but it sure would be nice.'
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/test/test_modules.py", line 144, in test_underUnderPathNotAlreadyImported
    self._underUnderPathTest(False)
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/test/test_modules.py", line 130, in _underUnderPathTest
    importPackages=doImport),
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/test/test_modules.py", line 30, in findByIteration
    self.fail("Unable to find module %r through iteration." % (modname,))
twisted.trial.unittest.FailTest: Unable to find module 'pyspacetests7.foozle' through iteration.
===============================================================================
[TODO]: twisted.test.test_rebuild.NewStyleTestCase.testSlots

Reason: 'New Style classes are poorly supported'
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/test/test_rebuild.py", line 139, in testSlots
    rebuild.updateInstance(self.m.SlottedClass())
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/python/rebuild.py", line 99, in updateInstance
    self.__class__ = latestClass(self.__class__)
exceptions.TypeError: __class__ assignment: 'SlottedClass' object layout differs from 'SlottedClass'
===============================================================================
[TODO]: twisted.test.test_rebuild.NewStyleTestCase.testTypeSubclass

Reason: 'New Style classes are poorly supported'
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/test/test_rebuild.py", line 143, in testTypeSubclass
    rebuild.updateInstance(self.m.ListSubclass())
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/python/rebuild.py", line 99, in updateInstance
    self.__class__ = latestClass(self.__class__)
exceptions.TypeError: __class__ assignment: 'ListSubclass' object layout differs from 'ListSubclass'
===============================================================================
[TODO]: twisted.test.test_ssl.SpammyTLSTestCase.testBackwardsTLS

Reason: "startTLS doesn't empty buffer before starting TLS. :("
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/test/test_ssl.py", line 309, in testBackwardsTLS
    TLSTestCase.testBackwardsTLS(self)
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/test/test_ssl.py", line 300, in testBackwardsTLS
    UnintelligentProtocol.pretext + UnintelligentProtocol.posttext
twisted.trial.unittest.FailTest: ['first line', 'last thing before tls starts', 'STARTTLS'] != ['first line', 'last thing before tls starts', 'STARTTLS', 'first thing after tls started', 'last thing ever']
===============================================================================
[TODO]: twisted.test.test_ssl.SpammyTLSTestCase.testTLS

Reason: "startTLS doesn't empty buffer before starting TLS. :("
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/test/test_ssl.py", line 307, in testTLS
    TLSTestCase.testTLS(self)
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/test/test_ssl.py", line 283, in testTLS
    UnintelligentProtocol.pretext + UnintelligentProtocol.posttext
twisted.trial.unittest.FailTest: ['first line', 'last thing before tls starts', 'STARTTLS'] != ['first line', 'last thing before tls starts', 'STARTTLS', 'first thing after tls started', 'last thing ever']
===============================================================================
[TODO]: twisted.web.test.test_static.Range.testBodyLength

Reason: 'No range support yet.'
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/web/test/test_static.py", line 52, in testBodyLength
    self.assertEquals(len(self.request._written), 2000)
twisted.trial.unittest.FailTest: 8000 != 2000
===============================================================================
[TODO]: twisted.web.test.test_static.Range.testContentLength

Reason: 'No range support yet.'
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/web/test/test_static.py", line 58, in testContentLength
    self.assertEquals(self.request._setHeaders['content-length'], ['2000'])
twisted.trial.unittest.FailTest: ['8000'] != ['2000']
===============================================================================
[TODO]: twisted.web.test.test_static.Range.testContentRange

Reason: 'No range support yet.'
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/web/test/test_static.py", line 64, in testContentRange
    self.assertEquals(self.request._setHeaders.get('content-range'), ['bytes 0-1999/8000'])
twisted.trial.unittest.FailTest: None != ['bytes 0-1999/8000']
===============================================================================
[TODO]: twisted.web.test.test_xml.MicroDOMTest.testLaterCloserDL2

Reason: 'unclosed <p> messes it up.'
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/web/test/test_xml.py", line 498, in testLaterCloserDL2
    self.assertEquals(expected, actual)
twisted.trial.unittest.FailTest: '<dl><dt>word</dt><dd>definition<p>more definition</p></dd><dt>word</dt></dl>' != '<dl><dt>word</dt><dd>definition<p>more definition</p><dt>word</dt></dd></dl>'
===============================================================================
[TODO]: twisted.web.test.test_xml.MicroDOMTest.testLaterCloserTable

Reason: 'Table parsing needs to be fixed.'
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/web/test/test_xml.py", line 470, in testLaterCloserTable
    self.assertEquals(expected, actual)
twisted.trial.unittest.FailTest: '<table><tr><th>name</th><th>value</th><th>comment</th></tr><tr><th>this</th><td>tag</td><td>soup</td></tr><tr><th>must</th><td>be</td><td>handled</td></tr></table>' != '<table><tr><th>name</th><th>value</th><th>comment<tr><th>this<td>tag</td><td>soup<tr><th>must<td>be</td><td>handled</td></th></tr></td></th></tr></th></tr></table>'
===============================================================================
[TODO]: twisted.web.test.test_xml.MicroDOMTest.testSpacing

Reason: 'AAARGH white space swallowing screws this up'
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/web/test/test_xml.py", line 439, in testSpacing
    self.assertEquals(expected, actual)
twisted.trial.unittest.FailTest: '<p><q>smart</q> <code>HairDryer</code></p>' != '<p><q>smart</q><code>HairDryer</code></p>'
===============================================================================
[TODO]: twisted.web2.dav.test.test_lock.LOCK_UNLOCK.test_LOCK_UNLOCK

Reason: 'LOCK/UNLOCK unimplemented'
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/web2/dav/test/test_lock.py", line 51, in test_LOCK_UNLOCK
    raise SkipTest("test unimplemented")
twisted.trial.unittest.SkipTest: test unimplemented
===============================================================================
[TODO]: twisted.web2.dav.test.test_options.OPTIONS.test_DAV2

Reason: 'DAV level 2 unimplemented'
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/web2/dav/test/test_options.py", line 54, in doTest
    self.assertIn(level, dav, "no DAV level %s header" % (level,))
twisted.trial.unittest.FailTest: no DAV level 2 header
===============================================================================
[TODO]: twisted.words.test.test_jabbererror.ParseErrorTest.testTextLangInherited

Reason: 'xml:lang inheritance not implemented'
Traceback (most recent call last):
  File "/home/buildslave/slaves/twisted/full2.5-debian/Twisted/twisted/words/test/test_jabbererror.py", line 116, in testTextLangInherited
    self.assertEqual('en_US', result['textLang'])
twisted.trial.unittest.FailTest: 'en_US' != None
-------------------------------------------------------------------------------

comment:2 Changed 8 years ago by exarkun

If the coding standard is going to mandate ticket numbers in the source, it also needs to explain how to turn that information into something useful.

comment:3 Changed 8 years ago by jml

By 'something useful', do you mean a link to the ticket?

comment:4 Changed 8 years ago by exarkun

Yes

comment:5 Changed 8 years ago by glyph

  • Description modified (diff)
  • Owner changed from glyph to jml
  • Priority changed from normal to lowest

comment:6 Changed 6 years ago by exarkun

#2984 was basically a duplicate of this, although it also suggested removing the todo and skip tests from the suite and only having them in the tracker.

comment:7 Changed 6 years ago by thijs

  • Cc thijs added

comment:8 Changed 3 years ago by <automation>

  • Owner jml deleted

comment:9 Changed 3 years ago by mishok13

Is this actually active anymore? I don't see any TODO tests right now when running trial.

comment:10 Changed 3 years ago by exarkun

There's still lots.

Note: See TracTickets for help on using tickets.