2014-07-22 74 views
1

我刚刚在我的centos 6.4虚拟机上下载了python 3.4.1,并按照自述文件中的说明操作。首先我做了./configure,然后make,然后做测试。Python 3.4.1 make test失败:错误:test_connect_starttls(test.test_smtpnet.SmtpTest)

当我运行make测试时出现错误,我不知道为什么,我只是按照指示完全按照指示进行操作。这里是输出:

test test_smtpnet failed -- Traceback (most recent call last): 
    File "/usr/local/Python-3.4.1/Lib/test/test_smtpnet.py", line 30, in test_connect_starttls 
    server = smtplib.SMTP(self.testServer, self.remotePort) 
    File "/usr/local/Python-3.4.1/Lib/smtplib.py", line 242, in __init__ 
    (code, msg) = self.connect(host, port) 
    File "/usr/local/Python-3.4.1/Lib/smtplib.py", line 321, in connect 
    self.sock = self._get_socket(host, port, self.timeout) 
    File "/usr/local/Python-3.4.1/Lib/smtplib.py", line 292, in _get_socket 
    self.source_address) 
    File "/usr/local/Python-3.4.1/Lib/socket.py", line 509, in create_connection 
    raise err 
    File "/usr/local/Python-3.4.1/Lib/socket.py", line 495, in create_connection 
    sock = socket(af, socktype, proto) 
    File "/usr/local/Python-3.4.1/Lib/socket.py", line 123, in __init__ 
    _socket.socket.__init__(self, family, type, proto, fileno) 
OSError: [Errno 97] Address family not supported by protocol 
368 tests OK. 
1 test failed: 
    test_smtpnet 
7 tests altered the execution environment: 
    test_calendar test_float test_locale test_site test_strptime 
    test_types test_warnings 
12 tests skipped: 
    test_curses test_devpoll test_gdb test_kqueue test_msilib 
    test_ossaudiodev test_startfile test_tk test_ttk_guionly 
    test_winreg test_winsound test_zipfile64 
Re-running failed tests in verbose mode 
Re-running test 'test_smtpnet' in verbose mode 
test_connect_starttls (test.test_smtpnet.SmtpTest) ... ERROR 
test_connect (test.test_smtpnet.SmtpSSLTest) ... ok 
test_connect_default_port (test.test_smtpnet.SmtpSSLTest) ... ok 
test_connect_using_sslcontext (test.test_smtpnet.SmtpSSLTest) ... ok 
test_connect_using_sslcontext_verified (test.test_smtpnet.SmtpSSLTest) ... ok 

====================================================================== 
ERROR: test_connect_starttls (test.test_smtpnet.SmtpTest) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/local/Python-3.4.1/Lib/test/test_smtpnet.py", line 30, in test_connect_starttls 
    server = smtplib.SMTP(self.testServer, self.remotePort) 
    File "/usr/local/Python-3.4.1/Lib/smtplib.py", line 242, in __init__ 
    (code, msg) = self.connect(host, port) 
    File "/usr/local/Python-3.4.1/Lib/smtplib.py", line 321, in connect 
    self.sock = self._get_socket(host, port, self.timeout) 
    File "/usr/local/Python-3.4.1/Lib/smtplib.py", line 292, in _get_socket 
    self.source_address) 
    File "/usr/local/Python-3.4.1/Lib/socket.py", line 509, in create_connection 
    raise err 
    File "/usr/local/Python-3.4.1/Lib/socket.py", line 495, in create_connection 
    sock = socket(af, socktype, proto) 
    File "/usr/local/Python-3.4.1/Lib/socket.py", line 123, in __init__ 
    _socket.socket.__init__(self, family, type, proto, fileno) 
OSError: [Errno 97] Address family not supported by protocol 

---------------------------------------------------------------------- 
Ran 5 tests in 42.864s 

FAILED (errors=1) 
test test_smtpnet failed 
make: *** [test] Error 1 

因此它似乎使用“地址族”(不管到底是)试过_socket模块不受该协议的支持。这个例外可能会更模糊吗?

有人知道我在这里失踪了吗?

回答

2

看起来测试用例确实需要启用IPv6。因此,在未启用IPv6支持的系统上,它将会失败。检查ip a s的输出以查看虚拟机是否设置了IPv6地址,例如通常从fe80::开始。地址族可以是IPv4的AF_INET或IPv6的AF_INET6。其实,这是一个测试用例错误。

相关问题