mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-09 09:13:23 +00:00
Fix failing unit test on Windows
test_xmlrpclib was failing with "can't pickle thread.lock objects" on Windows. Other small issues were related to backslashes in paths and different line endings.
This commit is contained in:
@@ -254,7 +254,7 @@ def test_nested_cassettes_with_session_created_before_nesting(httpbin_both, tmpd
|
||||
def test_post_file(tmpdir, httpbin_both):
|
||||
'''Ensure that we handle posting a file.'''
|
||||
url = httpbin_both + '/post'
|
||||
with vcr.use_cassette(str(tmpdir.join('post_file.yaml'))) as cass, open('tox.ini') as f:
|
||||
with vcr.use_cassette(str(tmpdir.join('post_file.yaml'))) as cass, open('tox.ini', 'rb') as f:
|
||||
original_response = requests.post(url, f).content
|
||||
|
||||
# This also tests that we do the right thing with matching the body when they are files.
|
||||
|
||||
@@ -81,16 +81,23 @@ def test_amazon_doctype(tmpdir):
|
||||
assert 'html' in r.text
|
||||
|
||||
|
||||
def start_rpc_server(q):
|
||||
httpd = xmlrpc_server.SimpleXMLRPCServer(('127.0.0.1', 0))
|
||||
httpd.register_function(pow)
|
||||
q.put('http://{}:{}'.format(*httpd.server_address))
|
||||
httpd.serve_forever()
|
||||
|
||||
|
||||
@pytest.yield_fixture(scope='session')
|
||||
def rpc_server():
|
||||
httpd = xmlrpc_server.SimpleXMLRPCServer(('', 0))
|
||||
httpd.register_function(pow)
|
||||
q = multiprocessing.Queue()
|
||||
proxy_process = multiprocessing.Process(
|
||||
target=httpd.serve_forever,
|
||||
target=start_rpc_server,
|
||||
args=(q,)
|
||||
)
|
||||
try:
|
||||
proxy_process.start()
|
||||
yield 'http://{}:{}'.format(*httpd.server_address)
|
||||
yield q.get()
|
||||
finally:
|
||||
proxy_process.terminate()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user