mirror of
https://github.com/zama-ai/concrete.git
synced 2026-02-09 03:55:04 -05:00
44 lines
988 B
Python
44 lines
988 B
Python
import os
|
|
import subprocess
|
|
|
|
|
|
def on_paths(func, *paths):
|
|
for path in paths:
|
|
try:
|
|
if isinstance(path, (tuple, list)):
|
|
on_paths(func, *path)
|
|
else:
|
|
func(path)
|
|
except FileNotFoundError:
|
|
pass
|
|
|
|
|
|
def assert_exists(*paths):
|
|
def func(path):
|
|
if not os.path.exists(path):
|
|
dirpath = os.path.dirname(path)
|
|
if os.path.exists(dirpath):
|
|
msg = f"{path} is not in {dirpath}"
|
|
else:
|
|
msg = f"{dirpath} does not exist for {path}"
|
|
assert False, msg
|
|
|
|
on_paths(func, *paths)
|
|
|
|
|
|
def remove(*paths):
|
|
on_paths(os.remove, *paths)
|
|
|
|
|
|
def content(path):
|
|
with open(path) as f:
|
|
return f.read()
|
|
|
|
|
|
def run(*cmd):
|
|
result = subprocess.run(cmd, capture_output=True)
|
|
if result.returncode != 0:
|
|
print(result.stderr)
|
|
assert result.returncode == 0, " ".join(cmd)
|
|
return str(result.stdout, encoding="utf-8")
|