Fixed database typo and removed unnecessary class identifier.
This commit is contained in:
parent
00ad49a143
commit
45fb349a7d
5098 changed files with 952558 additions and 85 deletions
145
venv/Lib/site-packages/imageio/testing.py
Normal file
145
venv/Lib/site-packages/imageio/testing.py
Normal file
|
|
@ -0,0 +1,145 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Distributed under the (new) BSD License. See LICENSE.txt for more info.
|
||||
|
||||
""" Functionality used for testing. This code itself is not covered in tests.
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
import inspect
|
||||
import shutil
|
||||
import atexit
|
||||
|
||||
import pytest
|
||||
|
||||
# Get root dir
|
||||
THIS_DIR = os.path.abspath(os.path.dirname(__file__))
|
||||
ROOT_DIR = THIS_DIR
|
||||
for i in range(9):
|
||||
ROOT_DIR = os.path.dirname(ROOT_DIR)
|
||||
if os.path.isfile(os.path.join(ROOT_DIR, ".gitignore")):
|
||||
break
|
||||
|
||||
|
||||
## Functions to use in tests
|
||||
|
||||
|
||||
def run_tests_if_main(show_coverage=False):
|
||||
""" Run tests in a given file if it is run as a script
|
||||
|
||||
Coverage is reported for running this single test. Set show_coverage to
|
||||
launch the report in the web browser.
|
||||
"""
|
||||
local_vars = inspect.currentframe().f_back.f_locals
|
||||
if not local_vars.get("__name__", "") == "__main__":
|
||||
return
|
||||
# we are in a "__main__"
|
||||
os.chdir(ROOT_DIR)
|
||||
fname = str(local_vars["__file__"])
|
||||
_clear_imageio()
|
||||
_enable_faulthandler()
|
||||
pytest.main(
|
||||
[
|
||||
"-v",
|
||||
"-x",
|
||||
"--color=yes",
|
||||
"--cov",
|
||||
"imageio",
|
||||
"--cov-config",
|
||||
".coveragerc",
|
||||
"--cov-report",
|
||||
"html",
|
||||
fname,
|
||||
]
|
||||
)
|
||||
if show_coverage:
|
||||
import webbrowser
|
||||
|
||||
fname = os.path.join(ROOT_DIR, "htmlcov", "index.html")
|
||||
webbrowser.open_new_tab(fname)
|
||||
|
||||
|
||||
_the_test_dir = None
|
||||
|
||||
|
||||
def get_test_dir():
|
||||
global _the_test_dir
|
||||
if _the_test_dir is None:
|
||||
# Define dir
|
||||
from imageio.core import appdata_dir
|
||||
|
||||
_the_test_dir = os.path.join(appdata_dir("imageio"), "testdir")
|
||||
# Clear and create it now
|
||||
clean_test_dir(True)
|
||||
os.makedirs(_the_test_dir)
|
||||
os.makedirs(os.path.join(_the_test_dir, "images"))
|
||||
# And later
|
||||
atexit.register(clean_test_dir)
|
||||
return _the_test_dir
|
||||
|
||||
|
||||
def clean_test_dir(strict=False):
|
||||
if os.path.isdir(_the_test_dir):
|
||||
try:
|
||||
shutil.rmtree(_the_test_dir)
|
||||
except Exception:
|
||||
if strict:
|
||||
raise
|
||||
|
||||
|
||||
def need_internet():
|
||||
if os.getenv("IMAGEIO_NO_INTERNET", "").lower() in ("1", "true", "yes"):
|
||||
pytest.skip("No internet")
|
||||
|
||||
|
||||
## Functions to use from invoke tasks
|
||||
|
||||
|
||||
def test_unit(cov_report="term"):
|
||||
""" Run all unit tests. Returns exit code.
|
||||
"""
|
||||
orig_dir = os.getcwd()
|
||||
os.chdir(ROOT_DIR)
|
||||
try:
|
||||
_clear_imageio()
|
||||
_enable_faulthandler()
|
||||
return pytest.main(
|
||||
[
|
||||
"-v",
|
||||
"--cov",
|
||||
"imageio",
|
||||
"--cov-config",
|
||||
".coveragerc",
|
||||
"--cov-report",
|
||||
cov_report,
|
||||
"tests",
|
||||
]
|
||||
)
|
||||
finally:
|
||||
os.chdir(orig_dir)
|
||||
import imageio
|
||||
|
||||
print("Tests were performed on", str(imageio))
|
||||
|
||||
|
||||
## Requirements
|
||||
|
||||
|
||||
def _enable_faulthandler():
|
||||
""" Enable faulthandler (if we can), so that we get tracebacks
|
||||
on segfaults.
|
||||
"""
|
||||
try:
|
||||
import faulthandler
|
||||
|
||||
faulthandler.enable()
|
||||
print("Faulthandler enabled")
|
||||
except Exception:
|
||||
print("Could not enable faulthandler")
|
||||
|
||||
|
||||
def _clear_imageio():
|
||||
# Remove ourselves from sys.modules to force an import
|
||||
for key in list(sys.modules.keys()):
|
||||
if key.startswith("imageio"):
|
||||
del sys.modules[key]
|
||||
Loading…
Add table
Add a link
Reference in a new issue