37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
import os
|
|
from skimage._shared._warnings import expected_warnings
|
|
import pytest
|
|
|
|
|
|
@pytest.fixture(scope='function')
|
|
def setup():
|
|
# Remove any environment variable if it exists
|
|
old_strictness = os.environ.pop('SKIMAGE_TEST_STRICT_WARNINGS', None)
|
|
yield
|
|
# Add the user's desired strictness
|
|
if old_strictness is not None:
|
|
os.environ['SKIMAGE_TEST_STRICT_WARNINGS'] = old_strictness
|
|
|
|
|
|
def test_strict_warnigns_default(setup):
|
|
# By default we should fail on missing expected warnings
|
|
with pytest.raises(ValueError):
|
|
with expected_warnings(['some warnings']):
|
|
pass
|
|
|
|
|
|
@pytest.mark.parametrize('strictness', ['1', 'true', 'True', 'TRUE'])
|
|
def test_strict_warning_true(setup, strictness):
|
|
os.environ['SKIMAGE_TEST_STRICT_WARNINGS'] = strictness
|
|
with pytest.raises(ValueError):
|
|
with expected_warnings(['some warnings']):
|
|
pass
|
|
|
|
|
|
@pytest.mark.parametrize('strictness', ['0', 'false', 'False', 'FALSE'])
|
|
def test_strict_warning_false(setup, strictness):
|
|
# If the user doesnn't wish to be strict about warnigns
|
|
# the following shouldn't raise any error
|
|
os.environ['SKIMAGE_TEST_STRICT_WARNINGS'] = strictness
|
|
with expected_warnings(['some warnings']):
|
|
pass
|