dsdb/pytest/ldap: use idiomatic 'e' for exceptions
[samba.git] / selftest / in_screen
index 927d83109bde5447269c33a03b43c673991e9689..5aba08d4750c440db2c573996b45c7e0d8f8bccb 100755 (executable)
@@ -39,6 +39,7 @@ printenv |
   sed "s/\(^[^=]*=\)\(.*\)/export \1'\2'/g" > $basedir/$SERVERNAME.vars
 
 cat <<EOF > $basedir/$SERVERNAME.launch
+cd $PWD
  echo \$\$ > $basedir/$SERVERNAME.pid
  . $basedir/$SERVERNAME.vars
  echo "\$(date) starting $SERVERNAME" >> $basedir/$SERVERNAME.log
@@ -68,7 +69,21 @@ cleanup() {
 rm -f $basedir/$SERVERNAME.status $basedir/$SERVERNAME.log
 echo $$ > $basedir/$SERVERNAME.parent.pid
 trap cleanup SIGINT SIGTERM SIGPIPE
-screen -r -X screen -t test:$SERVERNAME bash $basedir/$SERVERNAME.launch
+
+if [[ "$TMUX" ]]; then
+    TMUX_CMD=tmux
+    if [[ $TMUX = *tmate* ]]; then
+        TMUX_CMD=tmate
+    fi
+
+    $TMUX_CMD new-window -n test:$SERVERNAME "bash $basedir/$SERVERNAME.launch"
+
+    # tmux seems to lag a bit for new sessions. Don't create them too
+    # quickly one after another
+    sleep .1
+else
+    screen -r -X screen -t test:$SERVERNAME bash $basedir/$SERVERNAME.launch
+fi
 echo "$(date) waiting in $$" >> $basedir/$SERVERNAME.log
 read stdin_var
 echo "$(date) EOF on stdin" >> $basedir/$SERVERNAME.log