Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion src/test2ref/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ def configure(
ref_update: bool | None = None,
excludes: Excludes | None = None,
add_excludes: Excludes | None = None,
rm_excludes: Excludes | None = None,
) -> None:
"""
Configure.
Expand All @@ -113,14 +114,19 @@ def configure(
ref_path: Path for reference files. "tests/refdata" by default
ref_update: Update reference files. True by default if `.test2ref` file exists.
excludes: Paths to be excluded in all runs.
add_excludes: Add paths to be excluded in all runs.
add_excludes: Additionally Excluded Files
rm_excludes: Not Excluded Files
"""
if ref_path is not None:
CONFIG["ref_path"] = ref_path
if ref_update is not None:
CONFIG["ref_update"] = ref_update
if excludes:
CONFIG["excludes"] = excludes
if add_excludes:
CONFIG["excludes"] = (*CONFIG["excludes"], *add_excludes)
if rm_excludes:
CONFIG["excludes"] = tuple(exclude for exclude in CONFIG["excludes"] if exclude not in rm_excludes) # type: ignore[attr-defined]


def assert_refdata(
Expand Down
6 changes: 6 additions & 0 deletions tests/test_main.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,12 @@ def test_configure(tmp_path):
configure(excludes=("a", "b"))
assert CONFIG["excludes"] == ("a", "b")

configure(add_excludes=("c", "d"))
assert CONFIG["excludes"] == ("a", "b", "c", "d")

configure(rm_excludes=("b", "d"))
assert CONFIG["excludes"] == ("a", "c")

assert CONFIG["ref_path"] == DEFAULT_REF_PATH
assert CONFIG["ref_update"] == DEFAULT_REF_UPDATE
assert CONFIG["excludes"] == DEFAULT_EXCLUDES
Expand Down