|
74 | 74 | from .digest_spec import get_test_input_sample, get_test_output_sample
|
75 | 75 | from .sample import Sample
|
76 | 76 |
|
| 77 | +CONDA_CMD = "conda.bat" if platform.system() == "Windows" else "conda" |
| 78 | + |
77 | 79 |
|
78 | 80 | class DeprecatedKwargs(TypedDict):
|
79 | 81 | absolute_tolerance: NotRequired[AbsoluteTolerance]
|
@@ -191,7 +193,7 @@ def test_model(
|
191 | 193 |
|
192 | 194 | def default_run_command(args: Sequence[str]):
|
193 | 195 | logger.info("running '{}'...", " ".join(args))
|
194 |
| - _ = subprocess.run(args, shell=True, text=True, check=True) |
| 196 | + _ = subprocess.check_call(args) |
195 | 197 |
|
196 | 198 |
|
197 | 199 | def test_description(
|
@@ -379,21 +381,22 @@ def _test_in_env(
|
379 | 381 | env_name = hashlib.sha256(encoded_env).hexdigest()
|
380 | 382 |
|
381 | 383 | try:
|
382 |
| - run_command(["where" if platform.system() == "Windows" else "which", "conda"]) |
| 384 | + run_command(["where" if platform.system() == "Windows" else "which", CONDA_CMD]) |
383 | 385 | except Exception as e:
|
384 | 386 | raise RuntimeError("Conda not available") from e
|
385 | 387 |
|
386 | 388 | try:
|
387 |
| - run_command(["conda", "activate", env_name]) |
| 389 | + run_command([CONDA_CMD, "activate", env_name]) |
388 | 390 | except Exception:
|
| 391 | + working_dir.mkdir(parents=True, exist_ok=True) |
389 | 392 | path = working_dir / "env.yaml"
|
390 | 393 | try:
|
391 | 394 | _ = path.write_bytes(encoded_env)
|
392 | 395 | logger.debug("written conda env to {}", path)
|
393 | 396 | run_command(
|
394 |
| - ["conda", "env", "create", f"--file={path}", f"--name={env_name}"] |
| 397 | + [CONDA_CMD, "env", "create", f"--file={path}", f"--name={env_name}"] |
395 | 398 | )
|
396 |
| - run_command(["conda", "activate", env_name]) |
| 399 | + run_command([CONDA_CMD, "activate", env_name]) |
397 | 400 | except Exception as e:
|
398 | 401 | summary = descr.validation_summary
|
399 | 402 | summary.add_detail(
|
@@ -424,7 +427,7 @@ def _test_in_env(
|
424 | 427 | run_command(
|
425 | 428 | cmd := (
|
426 | 429 | [
|
427 |
| - "conda", |
| 430 | + CONDA_CMD, |
428 | 431 | "run",
|
429 | 432 | "-n",
|
430 | 433 | env_name,
|
|
0 commit comments