Аргумент командной строки pytest: значение по умолчанию OS зависит? - PullRequest
0 голосов
/ 04 ноября 2019

A pytest принимает аргумент командной строки, значение по умолчанию которого зависит от ОС.

Это работает только в OS X, где значение равно file.dylib:

def pytest_addoption(parser):
    parser.addoption('--filename', type=str, default='file.dylib')

В Windows это значение должно быть file.dll, в Linux libfile.so.

Есть ли способ заставить значение по умолчанию работать на всех ОС?

1 Ответ

1 голос
/ 04 ноября 2019

Это делает это:

def get_lib_name():
    libnames = {'Windows': 'file.dll', 'Darwin': 'file.dylib', 'Linux': 'file.so'}

    osname = platform.system()

    if osname in libnames:
        return libnames[osname]
    else:
        raise OSError('OS not supported.')

Вызов get_lib_name() из анализатора:

parser.addoption('--filename', type=str, default=get_lib_name() )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...