Automatically run all file_server tests in ipv4 and ipv6 enviroment
This commit is contained in:
parent
9871a4e36f
commit
d78c757b52
1 changed files with 39 additions and 3 deletions
|
@ -223,10 +223,18 @@ def site_url():
|
||||||
return SITE_URL
|
return SITE_URL
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture(params=['ipv4', 'ipv6'])
|
||||||
def file_server(request):
|
def file_server(request):
|
||||||
request.addfinalizer(CryptConnection.manager.removeCerts) # Remove cert files after end
|
if request.param == "ipv4":
|
||||||
|
return request.getfuncargvalue("file_server4")
|
||||||
|
else:
|
||||||
|
return request.getfuncargvalue("file_server6")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def file_server4(request):
|
||||||
file_server = FileServer("127.0.0.1", 1544)
|
file_server = FileServer("127.0.0.1", 1544)
|
||||||
|
file_server.ip_external = "1.2.3.4" # Fake external ip
|
||||||
|
|
||||||
def listen():
|
def listen():
|
||||||
ConnectionServer.start(file_server)
|
ConnectionServer.start(file_server)
|
||||||
|
@ -243,12 +251,39 @@ def file_server(request):
|
||||||
except Exception, err:
|
except Exception, err:
|
||||||
print err
|
print err
|
||||||
assert file_server.running
|
assert file_server.running
|
||||||
|
file_server.ip_incoming = {} # Reset flood protection
|
||||||
|
|
||||||
def stop():
|
def stop():
|
||||||
file_server.stop()
|
file_server.stop()
|
||||||
request.addfinalizer(stop)
|
request.addfinalizer(stop)
|
||||||
return file_server
|
return file_server
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def file_server6(request):
|
||||||
|
file_server6 = FileServer("::1", 1544)
|
||||||
|
file_server6.ip_external = 'fe80::202:b3ff:fe1e:8329' # Fake external ip
|
||||||
|
|
||||||
|
def listen():
|
||||||
|
ConnectionServer.start(file_server6)
|
||||||
|
ConnectionServer.listen(file_server6)
|
||||||
|
|
||||||
|
gevent.spawn(listen)
|
||||||
|
# Wait for port opening
|
||||||
|
for retry in range(10):
|
||||||
|
time.sleep(0.1) # Port opening
|
||||||
|
try:
|
||||||
|
conn = file_server6.getConnection("::1", 1544)
|
||||||
|
conn.close()
|
||||||
|
break
|
||||||
|
except Exception, err:
|
||||||
|
print err
|
||||||
|
assert file_server6.running
|
||||||
|
file_server6.ip_incoming = {} # Reset flood protection
|
||||||
|
|
||||||
|
def stop():
|
||||||
|
file_server6.stop()
|
||||||
|
request.addfinalizer(stop)
|
||||||
|
return file_server6
|
||||||
|
|
||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
def ui_websocket(site, file_server, user):
|
def ui_websocket(site, file_server, user):
|
||||||
|
@ -275,7 +310,8 @@ def ui_websocket(site, file_server, user):
|
||||||
def tor_manager():
|
def tor_manager():
|
||||||
try:
|
try:
|
||||||
tor_manager = TorManager()
|
tor_manager = TorManager()
|
||||||
assert tor_manager.connect()
|
tor_manager.start()
|
||||||
|
assert tor_manager.conn
|
||||||
tor_manager.startOnions()
|
tor_manager.startOnions()
|
||||||
except Exception, err:
|
except Exception, err:
|
||||||
raise pytest.skip("Test requires Tor with ControlPort: %s, %s" % (config.tor_controller, err))
|
raise pytest.skip("Test requires Tor with ControlPort: %s, %s" % (config.tor_controller, err))
|
||||||
|
|
Loading…
Reference in a new issue