Skip to content

Commit

Permalink
Close opened resource. (#235)
Browse files Browse the repository at this point in the history
* Close opened resource.

* Update pytest_html/plugin.py

Co-Authored-By: Bruno Rocha <rochacbruno@users.noreply.github.com>

* Use `f""` instead of `.format()` call.

* Add validation for raised warnings to tests.
  • Loading branch information
krzysztof-pawlik-gat authored and BeyondEvil committed Nov 3, 2019
1 parent 0fa73c2 commit 7166364
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
3 changes: 2 additions & 1 deletion pytest_html/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
6 changes: 4 additions & 2 deletions testing/test_pytest_html.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 = []
Expand All @@ -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):
Expand Down

0 comments on commit 7166364

Please sign in to comment.