Skip to content

Commit 5680f74

Browse files
committed
test: add test to ensure certain env vars are turned to absolute paths
1 parent 403aa24 commit 5680f74

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

test/test_scripts_run_task.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -435,3 +435,49 @@ def test_display_python_version_should_output_python_versions(run_task_mod, caps
435435

436436
output = capsys.readouterr().out
437437
assert ("Python version: 3." in output) or ("Python version: 2." in output) is True
438+
439+
440+
@pytest.fixture
441+
def run_main(tmp_path, capsys, mocker, mock_stdin, run_task_mod):
442+
base_args = [
443+
f"--task-cwd={str(tmp_path)}",
444+
]
445+
446+
base_command_args = [
447+
"bash",
448+
"-c",
449+
"echo hello",
450+
]
451+
452+
m = mocker.patch.object(run_task_mod.os, "getcwd")
453+
m.return_value = "/builds/worker"
454+
455+
def inner(extra_args=None, env=None):
456+
extra_args = extra_args or []
457+
env = env or {}
458+
459+
mocker.patch.object(run_task_mod.os, "environ", env)
460+
461+
args = base_args + extra_args
462+
args.append("--")
463+
args.extend(base_command_args)
464+
465+
result = run_task_mod.main(args)
466+
out, err = capsys.readouterr()
467+
return result, out, err, env
468+
469+
return inner
470+
471+
472+
def test_main_interpolate_environment(run_main):
473+
result, out, err, env = run_main(
474+
env={"MOZ_FETCHES_DIR": "file", "UPLOAD_DIR": "file", "FOO": "file"}
475+
)
476+
assert result == 0
477+
478+
assert env == {
479+
"MOZ_FETCHES_DIR": "/builds/worker/file",
480+
"UPLOAD_DIR": "/builds/worker/file",
481+
"FOO": "file",
482+
"TASK_WORKDIR": "/builds/worker",
483+
}

0 commit comments

Comments
 (0)