forked from bokeh/bokeh
-
Notifications
You must be signed in to change notification settings - Fork 0
/
conftest.py
66 lines (55 loc) · 2.4 KB
/
conftest.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#-----------------------------------------------------------------------------
# Copyright (c) 2012 - 2020, Anaconda, Inc., and Bokeh Contributors.
# All rights reserved.
#
# The full license is in the file LICENSE.txt, distributed with this software.
#-----------------------------------------------------------------------------
pytest_plugins = (
"bokeh._testing.plugins.ipython",
"bokeh._testing.plugins.managed_server_loop",
"bokeh._testing.plugins.pandas",
)
# Standard library imports
from inspect import iscoroutinefunction
from typing import List
# External imports
import _pytest
import pytest
# Bokeh imports
from bokeh._testing.util.git import version_from_git
def pytest_collection_modifyitems(items: List[_pytest.nodes.Item]) -> None:
for item in items:
if iscoroutinefunction(item.obj):
item.add_marker(pytest.mark.asyncio)
# Unfortunately these seem to all need to be centrally defined at the top level
def pytest_addoption(parser: _pytest.config.argparsing.Parser) -> None:
# plugins/selenium
parser.addoption(
"--driver", choices=('chrome', 'firefox', 'safari'), default='chrome', help='webdriver implementation')
# plugins/bokeh_server
parser.addoption(
"--bokeh-port", dest="bokeh_port", type=int, default=5006, help="port on which Bokeh server resides"
)
# plugins/jupyter_notebook
parser.addoption(
"--notebook-port", type=int, default=6007, help="port on which Jupyter Notebook server resides"
)
# plugins/example_report
parser.addoption(
"--upload", dest="upload", action="store_true", default=False, help="upload test artefacts to S3"
)
parser.addoption(
"--examples-log-file", dest="log_file", metavar="path", action="store", default='examples.log', help="where to write the complete log"
)
parser.addoption(
"--report-path", action='store', dest='report_path', metavar='path', default='report.html',
help='create examples html report file at given path.')
parser.addoption(
"--diff-ref", type=version_from_git, default="HEAD",
help="compare generated images against this ref")
parser.addoption(
"--incremental", action="store_true", default=False,
help="write report after each example")
parser.addoption(
"--no-js", action="store_true", default=False,
help="only run python code and skip js and image diff")