[Twisted-Python] RunningTwisted tests on Windows and SSL

John Aherne johnaherne at rocs.co.uk
Sat Mar 17 03:58:41 MDT 2018


When I run the test suite on windows I end up with the following errors and
failures - see below.

So my basic question is. Can anyone tell me what the latest state is for
running tests on windows and in particular the state of running SSL on
windows.

When I look at the buildbots status by and large they all show the windows
results as green for python 2.7 and 3.6.

I assume then that the tests are passing. But maybe I misunderstand what
the buildbot status is telling me.

So should I be seeing these errors when the buildbots all show green. And
if I should not,  what am I doing wrong when running the tests.

Another point is regarding SSL which is why I am running the tests in the
first place. I am looking at https://twistedmatrix.com/trac/ticket/6371
with a view to getting the wincertstore working to load the system
certificates. When I checked the standard library they are also loading the
windows certificate store. So it seems best to stay in sync with them.

However, I see the following message from the test results that imply that
the SSL port to python3 has not been completed. That stops me in my tracks
and I wonder whether the SSL port for python3 is waiting for some
fundamental work to be finished off.

[SKIPPED]
Re-enable once the Python 3 SSL port is done.

twisted.test.test_internet.PortStringificationTests.testSSL



Nevertheless, when I add the patch 6371 for _sslverify and run the tests
for it, all works fine.

Then I run an https get using treq against www.google.com and
twistedmatrix.com I get a 200 and the results back,

If I run the treq test without wincertstore installed, it fails with a
wincertstore not installed message.

These simple tests imply that SSL is working, but I may be glossing over
some important missing feature.

Has anyone got some helpful suggestions?


Below are the test results:
-------------------------------


First for Python2.7.13 32bit Twisted 17.9.1 Windows 2012 R2 Server
---------------------------------------------------------------------------------------------

The sslChainLoads test I can work around by fixing the line endings.

The SSHCheckerTests I think is because conch plugin is not loaded.

However I am under the impression that conch did not work on windows anyway.

[ERROR]
    raise InvalidAuthType(authType)
twisted.cred.strcred.InvalidAuthType: sshkey

twisted.cred.test.test_strcred.SSHCheckerTests.test_isChecker
===============================================================================
[ERROR]
Traceback (most recent call last):
exceptions.ValueError: Specified chain file
'c:\twistedssl\twisted\src\twisted\internet\test\fake_CAs\chain.pem'
doesn't contain any valid certificates in PEM format.

twisted.internet.test.test_endpoints.ServerStringTests.test_sslChainLoads
-------------------------------------------------------------------------------
Ran 11883 tests in 629.094s

FAILED (skips=2890, errors=2, successes=8991)
---------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------


Second for python 3.6.3 32 bit twisted 17.9.1 on Windows 10 Pro Version
1709 (OS build 16229.309)
---------------------------------------------------------------------------------------------------------------------

The StringIO errors are because it is not available on python3

The SSH check error is I imagine the same as for python2.7

The mail and test_hook errors I have not looked into yet.


Python3.6-32

[SKIPPED]
Re-enable once the Python 3 SSL port is done.

twisted.test.test_internet.PortStringificationTests.testSSL

[FAIL]
Traceback (most recent call last):
    raise self.failureException(msg)
twisted.trial.unittest.FailTest: True is not false : Module
twisted.mail.alias exists

twisted.python.test.test_dist3.ModulesToInstallTests.test_notexist
===============================================================================
[ERROR]
Traceback (most recent call last):
  File "c:\twistedssl\twisted\src\twisted\cred\strcred.py", line 114, in
findCheckerFactory
    raise InvalidAuthType(authType)
twisted.cred.strcred.InvalidAuthType: sshkey

twisted.cred.test.test_strcred.SSHCheckerTests.test_isChecker
===============================================================================
[ERROR]
Traceback (most recent call last):
  File "c:\twistedssl\twisted\src\twisted\mail\test\test_mail.py", line 12,
in <module>
    import StringIO
builtins.ModuleNotFoundError: No module named 'StringIO'

twisted.mail.test.test_mail
===============================================================================
[ERROR]
Traceback (most recent call last):
  File "c:\twistedssl\twisted\src\twisted\mail\test\test_mailmail.py", line
10, in <module>
    from StringIO import StringIO
builtins.ModuleNotFoundError: No module named 'StringIO'

twisted.mail.test.test_mailmail
===============================================================================
[ERROR]
Traceback (most recent call last):
  File "c:\twistedssl\twisted\src\twisted\mail\maildir.py", line 20, in
<module>
    import StringIO
builtins.ModuleNotFoundError: No module named 'StringIO'

twisted.mail.test.test_options
===============================================================================
[ERROR]
Traceback (most recent call last):
    from email.Parser import Parser
builtins.ModuleNotFoundError: No module named 'email.Parser'

twisted.news.test.test_database
===============================================================================
[ERROR]
Traceback (most recent call last):
  File "c:\twistedssl\twisted\src\twisted\news\database.py", line 11, in
<module>
    import StringIO
builtins.ModuleNotFoundError: No module named 'StringIO'

twisted.news.test.test_news
===============================================================================
[ERROR]
Traceback (most recent call last):
  File "c:\twistedssl\twisted\src\twisted\news\database.py", line 11, in
<module>
    import StringIO
builtins.ModuleNotFoundError: No module named 'StringIO'

twisted.news.test.test_nntp
===============================================================================
[ERROR]
Traceback (most recent call last):
  File "c:\twistedssl\twisted\src\twisted\test\test_hook.py", line 89, in
setUp
    BaseClass.__dict__.clear()
builtins.AttributeError: 'mappingproxy' object has no attribute 'clear'

twisted.test.test_hook.HookTests.testBaseHook
twisted.test.test_hook.HookTests.testSubHook
-------------------------------------------------------------------------------
Ran 11751 tests in 299.633s

FAILED (skips=2770, failures=1, errors=9, successes=8971)

-- 
*John Aherne*




*www.rocs.co.uk <http://www.rocs.co.uk>*
020 7223 7567
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20180317/1802fc6e/attachment.html>


More information about the Twisted-Python mailing list