Skip to content

Commit 8197cfa

Browse files
fix: handle suffix replacement in test suite
1 parent a90f6d6 commit 8197cfa

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

  • snakemake_interface_software_deployment_plugins

snakemake_interface_software_deployment_plugins/tests.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,12 @@ def _get_cached_env_spec(self):
165165
for attr in spec.source_path_attributes():
166166
source_file = getattr(spec, attr)
167167
if source_file is not None:
168+
if source_file.suffix_replacement is not None:
169+
source_file.path_or_uri = _replace_suffix(
170+
source_file.path_or_uri,
171+
source_file.suffix_replacement.old_suffixes,
172+
source_file.suffix_replacement.new_suffix,
173+
)
168174
source_file.cached = source_file.path_or_uri
169175
return spec
170176

@@ -237,3 +243,10 @@ def _deploy(self, env: EnvBase, tmp_path):
237243
assert isinstance(env, DeployableEnvBase)
238244
asyncio.run(env.deploy())
239245
assert any((tmp_path / env.spec.module().__name__ / "deployments").iterdir())
246+
247+
248+
def _replace_suffix(path: str, suffix: List[str], replacement: str) -> Optional[str]:
249+
for suff in suffix:
250+
if path.endswith(suff):
251+
return path[: -len(suff)] + replacement
252+
return None

0 commit comments

Comments
 (0)