|
1
|
|
|
from pathlib import Path |
|
2
|
|
|
|
|
3
|
|
|
import pytest |
|
4
|
|
|
|
|
5
|
|
|
from tyrannosaurus.clean import Clean |
|
6
|
|
|
|
|
7
|
|
|
from tests import TestResources |
|
8
|
|
|
|
|
9
|
|
|
|
|
10
|
|
|
class TestClean: |
|
11
|
|
|
def test_clean(self): |
|
12
|
|
|
root = TestResources.resource("fake") |
|
13
|
|
|
self._make_list("__pycache__", "eggs", "cython_debug", root=root) |
|
14
|
|
|
cleaner = Clean(dists=False, aggressive=False, hard_delete=False, dry_run=True) |
|
15
|
|
|
trashed = cleaner.clean(root) |
|
16
|
|
|
st = {k.name for k, v in trashed} |
|
17
|
|
|
assert "__pycache__" in st |
|
18
|
|
|
assert "eggs" in st |
|
19
|
|
|
assert "cython_debug" in st |
|
20
|
|
|
assert "tyrannosaurus" not in st |
|
21
|
|
|
assert "docs" not in st |
|
22
|
|
|
assert "recipes" not in st |
|
23
|
|
|
assert ".tox" not in st |
|
24
|
|
|
|
|
25
|
|
|
def test_clean_aggressive(self): |
|
26
|
|
|
root = TestResources.resource("fake") |
|
27
|
|
|
self._make_list("eggs", ".ipynb_checkpoints", ".tox", ".tyrannosaurus", root=root) |
|
28
|
|
|
cleaner = Clean(dists=False, aggressive=True, hard_delete=False, dry_run=True) |
|
29
|
|
|
trashed = cleaner.clean(root) |
|
30
|
|
|
st = {k.name for k, v in trashed} |
|
31
|
|
|
assert "eggs" in st |
|
32
|
|
|
assert ".ipynb_checkpoints" in st |
|
33
|
|
|
assert ".tox" in st |
|
34
|
|
|
|
|
35
|
|
|
def _make_list(self, *paths: str, root: Path): |
|
36
|
|
|
made = [] |
|
37
|
|
|
for p in paths: |
|
38
|
|
|
if not (root / p).exists(): |
|
39
|
|
|
(root / p).mkdir() |
|
40
|
|
|
made.append(root / p) |
|
41
|
|
|
return made |
|
42
|
|
|
|
|
43
|
|
|
|
|
44
|
|
|
if __name__ == "__main__": |
|
45
|
|
|
pytest.main() |
|
46
|
|
|
|