From: David Gibson
The semantics of tmux's update-environment option are a bit confusing.
It says it means the given variables are copied into the session
environment from the source environment, but it's not entirely clear
what the "source" environment means.
From my experimentation it appeast to be the environment from which
the tmux *server* is launched, not the one issuing the 'new-session'
command. That makes it pretty much useles, certainly in our case where
we have no way of knowing if the user has pre-existing tmux sessions.
Instead use the new-session -e option to explicitly pass in the variables
we want to propagate.
Signed-off-by: David Gibson
---
test/lib/term | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/test/lib/term b/test/lib/term
index c9f5be3..42b0020 100755
--- a/test/lib/term
+++ b/test/lib/term
@@ -544,18 +544,19 @@ pause_continue() {
run_term() {
export SHELL="/bin/sh"
tmux set-option -g default-shell "/bin/sh"
- tmux set-option -g update-environment "PCAP DEBUG"
+
+ TMUX="tmux new-session -s passt_test -ePCAP=$PCAP -eDEBUG=$DEBUG"
if [ ${CI} -eq 1 ]; then
printf '\e[8;50;240t'
- asciinema rec --overwrite ci.uncut -c 'tmux new-session -s passt_test ./ci from_term'
+ asciinema rec --overwrite ci.uncut -c "$TMUX ./ci from_term"
video_postprocess ci.uncut
elif [ ${DEMO} -eq 1 ]; then
printf '\e[8;40;130t'
- asciinema rec --overwrite demo.uncut -c 'tmux new-session -s passt_test ./run_demo from_term'
+ asciinema rec --overwrite demo.uncut -c "$TMUX ./run_demo from_term"
video_postprocess demo.uncut
else
- tmux new-session -s passt_test ./run from_term
+ $TMUX ./run from_term
fi
}
--
2.35.1