test: Move make_fake_input_tree to testutil
This is useful for other stage tests, move it and add a test.
This commit is contained in:
parent
5416028f2d
commit
9eb9f7f7f2
3 changed files with 39 additions and 12 deletions
|
|
@ -1,6 +1,7 @@
|
|||
"""
|
||||
Test related utilities
|
||||
"""
|
||||
import os
|
||||
import shutil
|
||||
|
||||
|
||||
|
|
@ -13,3 +14,20 @@ def assert_dict_has(v, keys, expected_value):
|
|||
assert key in v
|
||||
v = v[key]
|
||||
assert v == expected_value
|
||||
|
||||
|
||||
def make_fake_input_tree(tmpdir, fake_content: dict) -> str:
|
||||
"""Create a directory tree of files with content.
|
||||
|
||||
Call it with:
|
||||
{"filename": "content", "otherfile": "content"}
|
||||
|
||||
filename paths will have their parents created as needed, under tmpdir.
|
||||
"""
|
||||
basedir = os.path.join(tmpdir, "tree")
|
||||
for path, content in fake_content.items():
|
||||
dirp, name = os.path.split(os.path.join(basedir, path.lstrip("/")))
|
||||
os.makedirs(dirp, exist_ok=True)
|
||||
with open(os.path.join(dirp, name), "w", encoding="utf-8") as fp:
|
||||
fp.write(content)
|
||||
return basedir
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue