Opened 11 years ago

Last modified 7 years ago

#2001 enhancement new

Make sure every todo'd test has an open ticket

Reported by: Jonathan Lange Owned by:
Priority: lowest Milestone:
Component: core Keywords: tests
Cc: Thijs Triemstra Branch:
Author:

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 11 years ago by Jonathan Lange

===============================================================================
[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 11 years ago by Jean-Paul Calderone

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 11 years ago by Jonathan Lange

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

comment:4 Changed 11 years ago by Jean-Paul Calderone

Yes

comment:5 Changed 11 years ago by Glyph

Description: modified (diff)
Owner: changed from Glyph to Jonathan Lange
Priority: normallowest

comment:6 Changed 9 years ago by Jean-Paul Calderone

#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 9 years ago by Thijs Triemstra

Cc: Thijs Triemstra added

comment:8 Changed 7 years ago by <automation>

Owner: Jonathan Lange deleted

comment:9 Changed 7 years ago by Andrii V. Mishkovskyi

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

comment:10 Changed 7 years ago by Jean-Paul Calderone

There's still lots.

Note: See TracTickets for help on using tickets.