Skip to content

Commit 5eecc52

Browse files
authored
Export session name in envvar NOX_CURRENT_SESSION (#641)
1 parent 4e47da4 commit 5eecc52

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

nox/sessions.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -724,6 +724,7 @@ def execute(self) -> Result:
724724
with cwd:
725725
self._create_venv()
726726
session = Session(self)
727+
session.env["NOX_CURRENT_SESSION"] = session.name
727728
self.func(session)
728729

729730
# Nothing went wrong; return a success.

tests/test_sessions.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -900,6 +900,8 @@ def test__create_venv_unexpected_venv_backend(self):
900900
def make_runner_with_mock_venv(self):
901901
runner = self.make_runner()
902902
runner._create_venv = mock.Mock()
903+
runner.venv = mock.create_autospec(nox.virtualenv.VirtualEnv)
904+
runner.venv.env = {}
903905
return runner
904906

905907
def test_execute_noop_success(self, caplog):
@@ -1017,6 +1019,23 @@ def func(session):
10171019

10181020
assert result.status == nox.sessions.Status.FAILED
10191021

1022+
def test_execute_check_env(self):
1023+
runner = self.make_runner_with_mock_venv()
1024+
1025+
def func(session):
1026+
session.run(
1027+
sys.executable,
1028+
"-c",
1029+
'import os; raise SystemExit(0 if os.environ["NOX_CURRENT_SESSION"] =='
1030+
f" {session.name!r} else 0)",
1031+
)
1032+
1033+
runner.func = func
1034+
1035+
result = runner.execute()
1036+
1037+
assert result
1038+
10201039

10211040
class TestResult:
10221041
def test_init(self):

0 commit comments

Comments
 (0)