aboutsummaryrefslogtreecommitdiff
blob: 5dfb43c8ea83255a4e204d804dc45db13360133e (plain)
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
diff --git a/conftest.py b/conftest.py
new file mode 100644
index 0000000..795da89
--- /dev/null
+++ b/conftest.py
@@ -0,0 +1,50 @@
+#-----------------------------------------------------------------------------
+# 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
+
+
+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"
+    )
+
+    parser.addoption(
+        "--examples-log-file", dest="log_file", metavar="path", action="store", default='examples.log', help="where to write the complete log"
+    )
+    parser.addoption(
+        "--no-js", action="store_true", default=False,
+        help="only run python code and skip js")