| """ | |
| helper utils for tests | |
| """ | |
| import os | |
| import shutil | |
| import tempfile | |
| from functools import wraps | |
| from pathlib import Path | |
| def with_temp_dir(test_func): | |
| def wrapper(*args, **kwargs): | |
| # Create a temporary directory | |
| temp_dir = tempfile.mkdtemp() | |
| try: | |
| # Pass the temporary directory to the test function | |
| test_func(*args, temp_dir=temp_dir, **kwargs) | |
| finally: | |
| # Clean up the directory after the test | |
| shutil.rmtree(temp_dir) | |
| return wrapper | |
| def most_recent_subdir(path): | |
| base_path = Path(path) | |
| subdirectories = [d for d in base_path.iterdir() if d.is_dir()] | |
| if not subdirectories: | |
| return None | |
| subdir = max(subdirectories, key=os.path.getctime) | |
| return subdir | |