Skip to content

Commit f305c82

Browse files
committed
refactor test_main_format_cells(), run pytest-cov in CI
1 parent 7a4be64 commit f305c82

File tree

4 files changed

+21
-19
lines changed

4 files changed

+21
-19
lines changed

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@ jobs:
2424
run: pip install .[test]
2525

2626
- name: Run tests
27-
run: pytest
27+
run: pytest --cov format_ipy_cells

format_ipy_cells/main.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ def main(argv: Sequence[str] = []) -> int:
5959
"""
6060
parser = ArgumentParser()
6161

62-
fic_version = md.version(pkg_name := "format-ipy-cells")
62+
pkg_version = md.version(pkg_name := "format-ipy-cells")
6363
parser.add_argument(
64-
"-v", "--version", action="version", version=f"{pkg_name} v{fic_version}"
64+
"-v", "--version", action="version", version=f"{pkg_name} v{pkg_version}"
6565
)
6666

6767
parser.add_argument("filenames", nargs="*", help="Filenames to format")

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ console_scripts =
3131

3232
[options.extras_require]
3333
# Used during pip install .[test]
34-
test = pytest
34+
test = pytest; pytest-cov
3535

3636
[tool:pytest]
3737
testpaths = tests

tests/test_main.py

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,33 @@
1+
import filecmp
12
from importlib.metadata import version
3+
from shutil import copy2
24

35
import pytest
46

57
from format_ipy_cells.main import main
68

79

810
def test_main_format_cells(capsys, tmpdir):
11+
clean_nb = "tests/fixtures/clean_nb.py"
912

10-
with open("tests/fixtures/raw_nb.py") as file:
11-
raw_txt = file.read()
13+
raw_file = copy2("tests/fixtures/raw_nb.py", tmpdir)
14+
# test we leave clean file as is and don't write logs about it
15+
clean_file = copy2(clean_nb, tmpdir)
1216

13-
with open("tests/fixtures/clean_nb.py") as file:
14-
clean_txt = file.read()
15-
16-
# empty file to test we don't modify files needlessly
17-
file1 = tmpdir.join("file1.py").ensure()
18-
19-
file2 = tmpdir.join("file2.py")
20-
file2.write(raw_txt)
21-
22-
ret = main((str(file1), str(file2)))
17+
ret = main((raw_file, clean_file))
2318

2419
assert ret == 1
25-
assert file2.read() == clean_txt
20+
assert filecmp.cmp(raw_file, clean_nb), "Formatted file has unexpected content"
21+
assert filecmp.cmp(clean_file, clean_nb), "clean file should not have changed"
22+
23+
out, err = capsys.readouterr()
24+
assert out == f"Rewriting {raw_file}\n"
25+
assert err == ""
2626

27-
out, _ = capsys.readouterr()
28-
assert out == f"Rewriting {file2}\n"
27+
ret = main([clean_file])
28+
assert ret == 0, "expected exit code 0 when no files were changed"
29+
out, err = capsys.readouterr()
30+
assert out == err == ""
2931

3032

3133
def test_main_print_version(capsys):

0 commit comments

Comments
 (0)