Skip to content

Commit e9ec04c

Browse files
authored
fix: ensure watch_dir exists (#726)
1 parent d3049e6 commit e9ec04c

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

synthtool/metadata.py

+1
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,7 @@ def __enter__(self):
231231
self.old_metadata = _read_or_empty(self.metadata_file_path)
232232
_add_self_git_source()
233233
watch_dir = pathlib.Path(self.metadata_file_path).parent
234+
os.makedirs(watch_dir, exist_ok=True)
234235
self.handler = FileSystemEventHandler(watch_dir)
235236
self.observer = watchdog.observers.Observer()
236237
self.observer.schedule(self.handler, str(watch_dir), recursive=True)

tests/test_metadata.py

+12
Original file line numberDiff line numberDiff line change
@@ -417,3 +417,15 @@ def test_disable_writing_metadata(source_tree: SourceTree):
417417
assert not metadata_path.exists()
418418
finally:
419419
metadata.enable_write_metadata(True)
420+
421+
422+
def test_watch_dir_does_not_exist_yet(source_tree):
423+
new_dir_path = source_tree.tmpdir / "blahblah"
424+
metadata_path = new_dir_path / "synth.metadata"
425+
426+
assert not os.path.exists(new_dir_path)
427+
428+
with metadata.MetadataTrackerAndWriter(metadata_path):
429+
pass
430+
431+
assert os.path.exists(new_dir_path)

0 commit comments

Comments
 (0)