@@ -314,6 +314,10 @@ def test_empty_window_name(session: Session) -> None:
314
314
assert "''" in cmd .stdout
315
315
316
316
317
+ @pytest .mark .skipif (
318
+ has_lt_version ("3.0" ),
319
+ reason = "needs -e flag for split-window which was introduced in 3.0" ,
320
+ )
317
321
def test_split_window_with_environment (session : Session ) -> None :
318
322
env = shutil .which ("env" )
319
323
assert env is not None , "Cannot find usable `env` in Path."
@@ -328,3 +332,25 @@ def test_split_window_with_environment(session: Session) -> None:
328
332
time .sleep (0.05 )
329
333
pane .send_keys ("echo $ENV_VAR" )
330
334
assert pane .capture_pane () == ["$ echo $ENV_VAR" , "pane" , "$" ]
335
+
336
+
337
+ @pytest .mark .skipif (
338
+ has_gte_version ("3.0" ),
339
+ reason = "3.0 has the -e flag on split-window" ,
340
+ )
341
+ def test_split_window_with_environment_logs_warning_for_old_tmux (
342
+ session : Session ,
343
+ caplog : pytest .LogCaptureFixture ,
344
+ ) -> None :
345
+ env = shutil .which ("env" )
346
+ assert env is not None , "Cannot find usable `env` in Path."
347
+
348
+ window = session .new_window (window_name = "split_window_with_environment" )
349
+ window .split_window (
350
+ shell = f"{ env } PS1='$ ' bash --norc --noprofile" ,
351
+ environment = {"ENV_VAR" : "pane" },
352
+ )
353
+
354
+ assert any (
355
+ "Cannot set up environment" in record .msg for record in caplog .records
356
+ ), "Warning missing"
0 commit comments