From 3d2732a31c777a41a024be5f08dfc918f21dd269 Mon Sep 17 00:00:00 2001 From: David Schaefer <david.schaefer@ufz.de> Date: Fri, 29 Nov 2019 17:39:13 +0100 Subject: [PATCH] added error handling test --- test/core/test_core.py | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/test/core/test_core.py b/test/core/test_core.py index c8d1d2d06..a7d34c8b6 100644 --- a/test/core/test_core.py +++ b/test/core/test_core.py @@ -114,12 +114,11 @@ def test_missingConfig(data, flagger, flags): @pytest.mark.parametrize("flagger", TESTFLAGGER) -def test_missingVariable(flagger): +def test_missingVariable(data, flagger): """ Test if variables available in the config but not dataset are handled correctly, i.e. are ignored """ - data = initData(1) var, *_ = data.columns metadict = [ @@ -131,6 +130,30 @@ def test_missingVariable(flagger): runner(metafobj, flagger, data) +@pytest.mark.parametrize("flagger", TESTFLAGGER) +def test_errorHandling(data, flagger): + + @register("raisingFunc") + def _raisingFunc(data, fielf, flagger, **kwargs): + raise TypeError + + var1, *_ = data.columns + + metadict = [ + {F.VARNAME: var1, F.TESTS: "raisingFunc()"}, + ] + + tests = [ + "ignore", + "warn" + ] + + for policy in tests: + # NOTE: should not fail, that's all we are testing here + metafobj, _ = initMetaDict(metadict, data) + runner(metafobj, flagger, data, error_policy=policy) + + @pytest.mark.parametrize("flagger", TESTFLAGGER) def test_duplicatedVariable(flagger): data = initData(1) @@ -152,7 +175,6 @@ def test_duplicatedVariable(flagger): assert (pflags.columns == [var1]).all() - @pytest.mark.parametrize("flagger", TESTFLAGGER) def test_assignVariable(flagger): """ -- GitLab