Hi!
As far as I can see, there are no instructions on how to run the tests. There is CI set up, as far as I can see, but trying to reproduce the setup in a virtual environment and a call to pytest has failed me:
$ python3 -m venv venv
$ source venv/bin/activate
$ pip install -e .
... (takes a little while) ...
$ pytest
bash: pytest: command not found
So I will install pytest
:
$ pip install pytest
$ pytest
Traceback (most recent call last):
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 703, in import_plugin
__import__(importspec)
ModuleNotFoundError: No module named 'pytest_tornasync'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/bin/pytest", line 8, in <module>
sys.exit(console_main())
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 187, in console_main
code = main()
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 143, in main
config = _prepareconfig(args, plugins)
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 318, in _prepareconfig
config = pluginmanager.hook.pytest_cmdline_parse(
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/pluggy/callers.py", line 203, in _multicall
gen.send(outcome)
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/_pytest/helpconfig.py", line 100, in pytest_cmdline_parse
config = outcome.get_result() # type: Config
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/pluggy/callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 1003, in pytest_cmdline_parse
self.parse(args)
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 1280, in parse
self._preparse(args, addopts=addopts)
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 1172, in _preparse
self.pluginmanager.load_setuptools_entrypoints("pytest11")
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/pluggy/manager.py", line 300, in load_setuptools_entrypoints
self.register(plugin, name=ep.name)
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 443, in register
self.consider_module(plugin)
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 669, in consider_module
self._import_plugin_specs(getattr(mod, "pytest_plugins", []))
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 676, in _import_plugin_specs
self.import_plugin(import_spec)
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 705, in import_plugin
raise ImportError(
File "/home/user/dev/python/jupyter/jupyterlab_server/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 703, in import_plugin
__import__(importspec)
ImportError: Error importing plugin "pytest_tornasync": No module named 'pytest_tornasync'
So I will install install pytest-tornasync
:
$ pip install pytest-tornasync
$ pytest
ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]
pytest: error: unrecognized arguments: --cov jupyterlab_server --cov-report term-missing --cov-report term:skip-covered
inifile: /home/user/dev/python/jupyter/jupyterlab_server/setup.cfg
rootdir: /home/user/dev/python/jupyter/jupyterlab_server
Another attempt:
$ python setup.py test
running test
WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.
running egg_info
writing jupyterlab_server.egg-info/PKG-INFO
writing dependency_links to jupyterlab_server.egg-info/dependency_links.txt
writing entry points to jupyterlab_server.egg-info/entry_points.txt
writing requirements to jupyterlab_server.egg-info/requires.txt
writing top-level names to jupyterlab_server.egg-info/top_level.txt
reading manifest file 'jupyterlab_server.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*~' found anywhere in distribution
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no previously-included files matching '*.pyo' found anywhere in distribution
warning: no previously-included files matching '.git' found anywhere in distribution
warning: no previously-included files matching '.ipynb_checkpoints' found anywhere in distribution
writing manifest file 'jupyterlab_server.egg-info/SOURCES.txt'
running build_ext
test_settings_api (unittest.loader._FailedTest) ... ERROR
test_workspaces_api (unittest.loader._FailedTest) ... ERROR
jupyterlab_server.tests.test_settings_api (unittest.loader._FailedTest) ... ERROR
jupyterlab_server.tests.test_workspaces_api (unittest.loader._FailedTest) ... ERROR
======================================================================
ERROR: test_settings_api (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_settings_api
Traceback (most recent call last):
File "/usr/lib/python3.8/unittest/loader.py", line 154, in loadTestsFromName
module = __import__(module_name)
File "/home/user/dev/python/jupyter/jupyterlab_server/jupyterlab_server/tests/test_settings_api.py", line 9, in <module>
from strict_rfc3339 import rfc3339_to_timestamp
ModuleNotFoundError: No module named 'strict_rfc3339'
======================================================================
ERROR: test_workspaces_api (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_workspaces_api
Traceback (most recent call last):
File "/usr/lib/python3.8/unittest/loader.py", line 154, in loadTestsFromName
module = __import__(module_name)
File "/home/user/dev/python/jupyter/jupyterlab_server/jupyterlab_server/tests/test_workspaces_api.py", line 8, in <module>
from strict_rfc3339 import rfc3339_to_timestamp
ModuleNotFoundError: No module named 'strict_rfc3339'
======================================================================
ERROR: jupyterlab_server.tests.test_settings_api (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: jupyterlab_server.tests.test_settings_api
Traceback (most recent call last):
File "/usr/lib/python3.8/unittest/loader.py", line 436, in _find_test_path
module = self._get_module_from_name(name)
File "/usr/lib/python3.8/unittest/loader.py", line 377, in _get_module_from_name
__import__(name)
File "/home/user/dev/python/jupyter/jupyterlab_server/jupyterlab_server/tests/test_settings_api.py", line 9, in <module>
from strict_rfc3339 import rfc3339_to_timestamp
ModuleNotFoundError: No module named 'strict_rfc3339'
======================================================================
ERROR: jupyterlab_server.tests.test_workspaces_api (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: jupyterlab_server.tests.test_workspaces_api
Traceback (most recent call last):
File "/usr/lib/python3.8/unittest/loader.py", line 436, in _find_test_path
module = self._get_module_from_name(name)
File "/usr/lib/python3.8/unittest/loader.py", line 377, in _get_module_from_name
__import__(name)
File "/home/user/dev/python/jupyter/jupyterlab_server/jupyterlab_server/tests/test_workspaces_api.py", line 8, in <module>
from strict_rfc3339 import rfc3339_to_timestamp
ModuleNotFoundError: No module named 'strict_rfc3339'
----------------------------------------------------------------------
Ran 4 tests in 0.000s
FAILED (errors=4)
Test failed: <unittest.runner.TextTestResult run=4 errors=4 failures=0>
error: Test failed: <unittest.runner.TextTestResult run=4 errors=4 failures=0>
OK one more to install:
$ pip install strict-rfc3339
$ python setup.py test
running test
WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.
running egg_info
writing jupyterlab_server.egg-info/PKG-INFO
writing dependency_links to jupyterlab_server.egg-info/dependency_links.txt
writing entry points to jupyterlab_server.egg-info/entry_points.txt
writing requirements to jupyterlab_server.egg-info/requires.txt
writing top-level names to jupyterlab_server.egg-info/top_level.txt
reading manifest file 'jupyterlab_server.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*~' found anywhere in distribution
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no previously-included files matching '*.pyo' found anywhere in distribution
warning: no previously-included files matching '.git' found anywhere in distribution
warning: no previously-included files matching '.ipynb_checkpoints' found anywhere in distribution
writing manifest file 'jupyterlab_server.egg-info/SOURCES.txt'
running build_ext
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
I also tried the following:
$ pip install -e .[test]
$ python setup.py test
running test
WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.
running egg_info
writing jupyterlab_server.egg-info/PKG-INFO
writing dependency_links to jupyterlab_server.egg-info/dependency_links.txt
writing entry points to jupyterlab_server.egg-info/entry_points.txt
writing requirements to jupyterlab_server.egg-info/requires.txt
writing top-level names to jupyterlab_server.egg-info/top_level.txt
reading manifest file 'jupyterlab_server.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*~' found anywhere in distribution
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no previously-included files matching '*.pyo' found anywhere in distribution
warning: no previously-included files matching '.git' found anywhere in distribution
warning: no previously-included files matching '.ipynb_checkpoints' found anywhere in distribution
writing manifest file 'jupyterlab_server.egg-info/SOURCES.txt'
running build_ext
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
And I am out of ideas. Not running any tests is probably not the idea, so my invokation must be not the intended way.
I am not sure what else to conclude from here https://github.com/jupyterlab/jupyterlab_server/actions/runs/191916555/workflow and how to make the tests run locally on my system.
I would like to at least once run the tests successfully, on my local machine. The background is, that I am trying to figure out, how to make a jupyterlab setup in a Guix package manager environment. There I am as far as it automatically running the tests, but then failing at the test_workspaces_api
tests and I want to confirm whether that is because of the setup inside GNU Guix package manager, or because the tests are really failing in their current state. However, I cannot claim, that the tests are failing, without knowing what kind of test environment they can run in, on my own machine, not in some CI.
It would be great to have some test environment preparation script (or is that already pip install -e .[test]
?) or at least a requirements file, which will install everything in the correct version.
Can anyone help me out?
Edit:
I seem to have gotten it now finally. After running pip install -e .[test]
, then I need to call pytest
!
===================================================================== test session starts ======================================================================
platform linux -- Python 3.8.5, pytest-5.3.2, py-1.9.0, pluggy-0.13.1 -- /home/user/dev/python/jupyter/jupyterlab_server/venv/bin/python3
cachedir: .pytest_cache
rootdir: /home/user/dev/python/jupyter/jupyterlab_server, inifile: setup.cfg
plugins: jupyter-server-1.0.5, tornasync-0.6.0.post2, console-scripts-1.0.0, cov-2.10.1, jupyterlab-server-2.0.0rc1
collected 38 items
jupyterlab_server/tests/test_labapp.py::test_lab_handler [D 2020-10-19 22:42:30.971 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_labapp.py::test_notebook_handler [D 2020-10-19 22:42:31.072 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_labapp.py::test_404 [D 2020-10-19 22:42:31.129 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_settings_api.py::test_get [D 2020-10-19 22:42:31.180 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_settings_api.py::test_get_federated [D 2020-10-19 22:42:31.227 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_settings_api.py::test_get_bad [D 2020-10-19 22:42:31.271 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_settings_api.py::test_listing [D 2020-10-19 22:42:31.318 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_settings_api.py::test_patch [D 2020-10-19 22:42:31.373 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_settings_api.py::test_patch_unicode [D 2020-10-19 22:42:31.473 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_settings_api.py::test_patch_wrong_id [D 2020-10-19 22:42:31.549 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_settings_api.py::test_patch_bad_data [D 2020-10-19 22:42:31.599 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_settings_api.py::test_patch_invalid_payload_format [D 2020-10-19 22:42:31.647 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
[W 2020-10-19 22:42:31.681 LabServerApp] Invalid format for JSON payload. Must be in the form {'raw': ...}
[W 2020-10-19 22:42:31.682 LabServerApp] 400 PUT /lab/api/settings/%40jupyterlab/apputils-extension%3Athemes (127.0.0.1) 2.13ms referer=None
PASSED
jupyterlab_server/tests/test_settings_api.py::test_patch_invalid_json [D 2020-10-19 22:42:31.691 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
[W 2020-10-19 22:42:31.730 LabServerApp] Invalid format for JSON payload. Must be in the form {'raw': ...}
[W 2020-10-19 22:42:31.730 LabServerApp] 400 PUT /lab/api/settings/%40jupyterlab/apputils-extension%3Athemes (127.0.0.1) 2.11ms referer=None
PASSED
jupyterlab_server/tests/test_translation_api.py::test_get Processing ./jupyterlab_server/tests/translations/jupyterlab-some-package
Building wheels for collected packages: jupyterlab-some-package
Building wheel for jupyterlab-some-package (setup.py) ... done
Created wheel for jupyterlab-some-package: filename=jupyterlab_some_package-0.1.0-py3-none-any.whl size=2086 sha256=e977ad42da305de056119e94188a21683c350336da1909ec676791a2717a1e32
Stored in directory: /home/user/.cache/pip/wheels/21/a6/6d/e8039b49be7427d2ca75234f5f309b667d62e7fdadf33e7f8e
Successfully built jupyterlab-some-package
Installing collected packages: jupyterlab-some-package
Successfully installed jupyterlab-some-package-0.1.0
Processing ./jupyterlab_server/tests/translations/jupyterlab-language-pack-es_CO
Building wheels for collected packages: jupyterlab-language-pack-es-CO
Building wheel for jupyterlab-language-pack-es-CO (setup.py) ... done
Created wheel for jupyterlab-language-pack-es-CO: filename=jupyterlab_language_pack_es_CO-0.1.0-py3-none-any.whl size=2541 sha256=5b6008acbf4950e09838dc3b0794b8c6f954e68c35323328e5a07c0668c97217
Stored in directory: /home/user/.cache/pip/wheels/87/a4/6b/e87225984fd86439e5df4dba7e8d42e146d33d6ce684cc73e1
Successfully built jupyterlab-language-pack-es-CO
Installing collected packages: jupyterlab-language-pack-es-CO
Successfully installed jupyterlab-language-pack-es-CO-0.1.0
[D 2020-10-19 22:42:34.652 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_translation_api.py::test_get_locale [D 2020-10-19 22:42:34.861 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_translation_api.py::test_get_locale_bad [D 2020-10-19 22:42:35.186 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_translation_api.py::test_get_locale_not_installed [D 2020-10-19 22:42:35.510 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_translation_api.py::test_get_locale_not_valid [D 2020-10-19 22:42:35.829 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_translation_api.py::test_get_installed_language_pack_locales_fails [D 2020-10-19 22:42:36.157 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_translation_api.py::test_get_installed_language_pack_locales_passes [D 2020-10-19 22:42:36.199 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_translation_api.py::test_get_installed_package_locales_fails [D 2020-10-19 22:42:36.386 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_translation_api.py::test_get_installed_package_locales [D 2020-10-19 22:42:36.447 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_translation_api.py::test_get_installed_packages_locale [D 2020-10-19 22:42:36.631 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_translation_api.py::test_get_language_packs [D 2020-10-19 22:42:36.810 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_translation_api.py::test_get_language_pack [D 2020-10-19 22:42:36.990 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_translation_api.py::test_merge_locale_data [D 2020-10-19 22:42:37.309 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_translation_api.py::test_is_valid_locale_valid [D 2020-10-19 22:42:37.349 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_translation_api.py::test_is_valid_locale_invalid [D 2020-10-19 22:42:37.387 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_translation_api.py::test_get_display_name_valid [D 2020-10-19 22:42:37.428 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_translation_api.py::test_get_display_name_invalid [D 2020-10-19 22:42:37.473 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSEDFound existing installation: jupyterlab-some-package 0.1.0
Uninstalling jupyterlab-some-package-0.1.0:
Successfully uninstalled jupyterlab-some-package-0.1.0
Found existing installation: jupyterlab-language-pack-es-CO 0.1.0
Uninstalling jupyterlab-language-pack-es-CO-0.1.0:
Successfully uninstalled jupyterlab-language-pack-es-CO-0.1.0
jupyterlab_server/tests/test_workspaces_api.py::test_delete [D 2020-10-19 22:42:39.041 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_workspaces_api.py::test_get_non_existant [D 2020-10-19 22:42:39.084 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_workspaces_api.py::test_get [D 2020-10-19 22:42:39.134 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_workspaces_api.py::test_listing [D 2020-10-19 22:42:39.176 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_workspaces_api.py::test_listing_dates [D 2020-10-19 22:42:39.215 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_workspaces_api.py::test_put [D 2020-10-19 22:42:39.257 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
PASSED
jupyterlab_server/tests/test_workspaces_api.py::test_bad_put [D 2020-10-19 22:42:39.298 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
[W 2020-10-19 22:42:39.332 LabServerApp] Workspace metadata ID mismatch: expected 'bar' got '/foo'
[W 2020-10-19 22:42:39.332 LabServerApp] 400 PUT /lab/api/workspaces/bar (127.0.0.1) 0.63ms referer=None
PASSED
jupyterlab_server/tests/test_workspaces_api.py::test_blank_put [D 2020-10-19 22:42:39.341 ServerApp] Config changed: {'NotebookNotary': {'db_file': ':memory:'}}
[W 2020-10-19 22:42:39.376 LabServerApp] Workspace name is required for PUT.
[W 2020-10-19 22:42:39.376 LabServerApp] 400 PUT /lab/api/workspaces (127.0.0.1) 0.69ms referer=None
PASSED
----------- coverage: platform linux, python 3.8.5-final-0 -----------
Name Stmts Miss Cover Missing
-------------------------------------------------------------------------------
jupyterlab_server/__init__.py 7 7 0% 4-21
jupyterlab_server/_version.py 2 2 0% 1-2
jupyterlab_server/app.py 44 38 14% 2-26, 29-94, 98, 103, 106
jupyterlab_server/config.py 133 101 24% 2-27, 34-40, 44, 55-69, 74, 85-103, 107-109, 119-194, 197-198, 201-206, 209-210, 213-214, 217-218, 221-226, 229-230
jupyterlab_server/handlers.py 147 45 69% 2-48, 56-66, 102, 132-133, 140, 157, 159, 220-222, 230, 232, 237-243, 249-251, 279
jupyterlab_server/listings_handler.py 44 38 14% 6-23, 28-35, 37-44, 53-82
jupyterlab_server/process.py 150 150 0% 2-289
jupyterlab_server/process_app.py 30 30 0% 2-53
jupyterlab_server/pytest_plugin.py 59 17 71% 1-13, 25-26, 91, 106, 120, 132, 138-139
jupyterlab_server/server.py 5 5 0% 1-9
jupyterlab_server/settings_handler.py 214 56 74% 5-24, 50, 56-58, 65-67, 74, 96-97, 104-106, 117, 131, 145-146, 164, 196, 202, 218, 227, 232, 248-249, 254-255, 260, 268-269, 278, 331-333, 342-346, 359, 363-364, 374, 381, 390-391
jupyterlab_server/tests/test_translation_api.py 126 1 99% 58
jupyterlab_server/tests/utils.py 46 39 15% 1-20, 24-41, 45-49, 55, 57-59, 62-73
jupyterlab_server/themes_handler.py 42 42 0% 6-86
jupyterlab_server/translation_utils.py 157 18 89% 49-50, 78-79, 98-101, 130-131, 261-262, 275-276, 318, 334, 371-372, 384
jupyterlab_server/translations_handler.py 35 19 46% 4-23, 49, 54-56, 59-61, 83-84
jupyterlab_server/workspaces_handler.py 118 39 67% 5-21, 28, 43-44, 49, 64, 97-99, 103, 106, 110-111, 115, 121, 127-131, 145-146, 154-155, 162-165, 174-175
-------------------------------------------------------------------------------
TOTAL 1575 647 59%
4 files skipped due to complete coverage.
====================================================================== 38 passed in 8.64s ======================================================================
Why am I still posting this issue then? Well, I guess it can help documenting the process for others and missing documentation is probably worth an issue.