2014-07-22 98 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。其實,這是一個測試用例錯誤。

相關問題