|
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