diff --git a/pytest_html/plugin.py b/pytest_html/plugin.py
index 7e14df5d..bd9ecb6f 100644
--- a/pytest_html/plugin.py
+++ b/pytest_html/plugin.py
@@ -68,7 +68,8 @@ def pytest_configure(config):
htmlpath = config.getoption("htmlpath")
if htmlpath:
for csspath in config.getoption("css"):
- open(csspath)
+ if not os.path.exists(csspath):
+ raise IOError(f"No such file or directory: '{csspath}'")
if not hasattr(config, "slaveinput"):
# prevent opening htmlpath on slave nodes (xdist)
config._html = HTMLReport(htmlpath, config)
diff --git a/testing/test_pytest_html.py b/testing/test_pytest_html.py
index 1fe847e6..c05b0615 100644
--- a/testing/test_pytest_html.py
+++ b/testing/test_pytest_html.py
@@ -759,7 +759,7 @@ def test_pass(): pass
assert re.search(regex_error, html) is not None
@pytest.mark.parametrize("colors", [(["red"]), (["green", "blue"])])
- def test_css(self, testdir, colors):
+ def test_css(self, testdir, recwarn, colors):
testdir.makepyfile("def test_pass(): pass")
css = {}
cssargs = []
@@ -770,14 +770,16 @@ def test_css(self, testdir, colors):
cssargs.extend(["--css", path])
result, html = run(testdir, "report.html", "--self-contained-html", *cssargs)
assert result.ret == 0
+ assert len(recwarn) == 0
for k, v in css.items():
assert str(v["path"]) in html
assert v["style"] in html
- def test_css_invalid(self, testdir):
+ def test_css_invalid(self, testdir, recwarn):
testdir.makepyfile("def test_pass(): pass")
result = testdir.runpytest("--html", "report.html", "--css", "style.css")
assert result.ret
+ assert len(recwarn) == 0
assert "No such file or directory: 'style.css'" in result.stderr.str()
def test_css_invalid_no_html(self, testdir):