2012-11-30 36 views
2

下载Scrapy 0.16源代码后,我试图在我的Macbook上使用./bin/runtests.sh运行测试。令人惊讶的是,测试失败了。它给出了这些结果:FAILED(跳过= 46,失败= 9,成功= 887)。 有没有人遇到过这个问题?你如何解决它?如何修复scrapy源代码测试失败:FifoDiskQueue

[FAIL] 
Traceback (most recent call last): 
    File "/Users/lws/Downloads/scrapy-scrapy-7b5310d/scrapy/tests/test_utils_queue.py", line 128, in test_close_open 
    self.assertEqual(q.pop(), 'c') 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/trial/unittest.py", line 270, in assertEqual 
    % (msg, pformat(first), pformat(second))) 
twisted.trial.unittest.FailTest: not equal: 
a = None 
b = 'c' 

[FAIL] 
Traceback (most recent call last): 
    File "/Users/lws/Downloads/scrapy-scrapy-7b5310d/scrapy/tests/test_utils_queue.py", line 128, in test_close_open 
    self.assertEqual(q.pop(), 'c') 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/trial/unittest.py", line 270, in assertEqual 
    % (msg, pformat(first), pformat(second))) 
twisted.trial.unittest.FailTest: not equal: 
a = 'e' 
b = 'c' 

回答

2

是的,这是一个scrapy该漏洞似乎没有表现出来在GNU/Linux,只有在Mac OS。这是由于FifoDiskQueue将非缓冲文件读取与缓冲文件搜索混合在一起。

我写了一个PR,它解决了这个问题以及其他一些兼容性问题。不知道什么时候修复会使它成为新版本。

虽然Scrapy在mac os上没有任何问题,但是它的工作没有问题(FifoDiskQueue是默认不使用的备用队列机制)。

+1

现在将合并请求。 –

相关问题