Skip to content

Commit 397f045

Browse files
authored
ensure workdir is always an absolute path (#54)
1 parent de9b29e commit 397f045

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
99

1010
### Changed
1111

12+
- Ensure `workdir` is an absolute path
13+
([#54](https://github.com/stac-utils/stac-task/pull/51)).
1214
- When a `workdir` is set for a `Task` the `workdir` will no longer be removed
13-
by default [#51](https://github.com/stac-utils/stac-task/pull/51)). That is,
15+
by default ([#51](https://github.com/stac-utils/stac-task/pull/51)). That is,
1416
the `save_workdir` argument to `Task` constructor now defaults to `None`, and
1517
if left as `None` the default behavior is now conditional on whether or not a
1618
`workdir` is specified.

stactask/task.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def __init__(
8585
# if we are using a temp workdir we want to rm by default
8686
self._save_workdir = save_workdir if save_workdir is not None else False
8787
else:
88-
self._workdir = Path(workdir)
88+
self._workdir = Path(workdir).absolute()
8989
makedirs(self._workdir, exist_ok=True)
9090
# if a workdir was specified we don't want to rm by default
9191
self._save_workdir = save_workdir if save_workdir is not None else True

tests/test_task.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ def test_tmp_workdir(items: Dict[str, Any], save_workdir: Optional[bool]) -> Non
6161
assert nothing_task._save_workdir is expected
6262
workdir = nothing_task._workdir
6363
assert workdir.parts[-1].startswith("tmp")
64+
assert workdir.is_absolute() is True
6465
assert workdir.is_dir() is True
6566
del nothing_task
6667
assert workdir.is_dir() is expected
@@ -77,6 +78,7 @@ def test_workdir(
7778
assert t._save_workdir is expected
7879
workdir = t._workdir
7980
assert workdir.parts[-1] == "test_task"
81+
assert workdir.is_absolute() is True
8082
assert workdir.is_dir() is True
8183
del t
8284
assert workdir.is_dir() is expected

0 commit comments

Comments
 (0)