57 lines
1.7 KiB
Python
57 lines
1.7 KiB
Python
|
import org.sikuli.script.SikulixForJython
|
||
|
from sikuli import *
|
||
|
import pytest
|
||
|
import requests
|
||
|
import re
|
||
|
from urllib import urlretrieve
|
||
|
from subprocess import check_output
|
||
|
|
||
|
from tests.report import save_test_result, TEST_REPORT_DIR
|
||
|
|
||
|
|
||
|
def pytest_addoption(parser):
|
||
|
parser.addoption('--os',
|
||
|
action='store',
|
||
|
default='linux')
|
||
|
parser.addoption("--nightly",
|
||
|
action="store",
|
||
|
default=True)
|
||
|
parser.addoption('--dmg',
|
||
|
action='store',
|
||
|
default=None,
|
||
|
help='Url or local path to dmg')
|
||
|
|
||
|
|
||
|
def pytest_configure(config):
|
||
|
if config.getoption('nightly'):
|
||
|
raw_data = requests.request('GET', 'https://status-im.github.io/nightly/').text
|
||
|
if config.getoption('os') == 'linux':
|
||
|
app_url = re.findall('href="(.*AppImage)', raw_data)[0]
|
||
|
urlretrieve(app_url, 'nightly.AppImage')
|
||
|
else:
|
||
|
dmg_url = re.findall('href="(.*dmg)', raw_data)[0]
|
||
|
urlretrieve(dmg_url, 'nightly.dmg')
|
||
|
|
||
|
|
||
|
@pytest.mark.hookwrapper
|
||
|
def pytest_runtest_makereport(item, call):
|
||
|
import logging
|
||
|
# logging.basicConfig(filename='%s/%s.log' % (TEST_REPORT_DIR, item.name), filemode='w', level=logging.INFO)
|
||
|
outcome = yield
|
||
|
report = outcome.get_result()
|
||
|
if report.when == 'call':
|
||
|
pass
|
||
|
# save_test_result(item, report)
|
||
|
|
||
|
|
||
|
def after_all():
|
||
|
if pytest.config.getoption('os') == 'linux':
|
||
|
check_output(['rm', '-rf', 'nightly.AppImage'])
|
||
|
else:
|
||
|
check_output(['rm', '-rf', 'nightly.dmg'])
|
||
|
|
||
|
|
||
|
@pytest.fixture(scope="session", autouse=True)
|
||
|
def before_all(request):
|
||
|
request.addfinalizer(finalizer=after_all)
|