osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/27036 )
Change subject: net: run.sh: support tmux as terminal
......................................................................
net: run.sh: support tmux as terminal
Create one tmux session, with each Osmocom program in one window, if
tmux is chosen as "terminal". This allows using osmo-dev's run.sh over
ssh without X forwarding. Also the existing supported terminals
automatically scroll to the bottom as soon as there is new output,
making it hard to read logs.
Change-Id: Iaef08fb3cb3c6f58cd8490a631e177a03af9c974
---
M net/config_2g3g
M net/templates/run.sh
2 files changed, 22 insertions(+), 7 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/36/27036/1
diff --git a/net/config_2g3g b/net/config_2g3g
index ab6c2a2..95d8290 100644
--- a/net/config_2g3g
+++ b/net/config_2g3g
@@ -1,5 +1,5 @@
# Terminal for launching Osmocom programs
-# Supported: auto, urxvt, xterm
+# Supported: auto, urxvt, xterm, tmux
TERMINAL="auto"
ETH_DEV=eth0
diff --git a/net/templates/run.sh b/net/templates/run.sh
index 19e7e9b..a611926 100755
--- a/net/templates/run.sh
+++ b/net/templates/run.sh
@@ -1,5 +1,13 @@
#!/usr/bin/env bash
+# tmux: start this script inside a new session
+tmux_session="CN"
+if [ "${TERMINAL}" = "tmux" ] && [ "$1" != "inside-tmux" ]; then
+ echo "Starting tmux session '$tmux_session'"
+ unset TMUX
+ exec tmux new-session -s "$tmux_session" -n "RUN" "$0" "inside-tmux"
+fi
+
if ! ../fill_config.py --check-stale; then
echo
echo "WARNING: STALE CONFIGS - your net configs are older than the templates they should be based on!"
@@ -46,7 +54,7 @@
find_term() {
# Find a terminal program and write to the global "terminal" variable
- local programs="urxvt xterm"
+ local programs="urxvt xterm tmux"
if [ -n "${TERMINAL}" ] && [ "${TERMINAL}" != "auto" ]; then
case " $programs " in
@@ -122,12 +130,19 @@
EOF
chmod +x "$wrapper"
- $terminal \
- -title "CN:$title" \
- -e sh -c "$wrapper" \
- &
+ case "$terminal" in
+ tmux)
+ tmux new-window -d -n "$title" "$wrapper &; echo \$! > $pidfile_term; fg; wait"
+ ;;
+ *)
+ $terminal \
+ -title "CN:$title" \
+ -e sh -c "$wrapper" \
+ &
- echo "$!" > "$pidfile_term"
+ echo "$!" > "$pidfile_term"
+ ;;
+ esac
}
kill_pids() {
--
To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/27036
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-dev
Gerrit-Branch: master
Gerrit-Change-Id: Iaef08fb3cb3c6f58cd8490a631e177a03af9c974
Gerrit-Change-Number: 27036
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: newchange
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/27037 )
Change subject: net: run.sh: tweak quit logic
......................................................................
net: run.sh: tweak quit logic
In some cases, the shell doesn't wait for the read to complete and just
keeps on printing "q Enter to close" in an infinite loop, making it
impossible to read the logs above. This happens with all terminals. I'm
not sure about the exact cause, work around it by only printing the
message once and sleeping inside the while true loop.
Change-Id: Iebb799493f76fd57f24b15c998ded2bd8e284e6b
---
M net/templates/run.sh
1 file changed, 3 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/37/27037/1
diff --git a/net/templates/run.sh b/net/templates/run.sh
index a611926..3690b39 100755
--- a/net/templates/run.sh
+++ b/net/templates/run.sh
@@ -120,12 +120,14 @@
echo
+echo '---'
+echo 'q Enter / ^C to close'
while true; do
- echo 'q Enter to close'
read q_to_close
if [ "x\$q_to_close" = xq ]; then
break
fi
+ sleep 0.1
done
EOF
chmod +x "$wrapper"
--
To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/27037
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-dev
Gerrit-Branch: master
Gerrit-Change-Id: Iebb799493f76fd57f24b15c998ded2bd8e284e6b
Gerrit-Change-Number: 27037
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: newchange
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/27013 )
Change subject: tests/logging: merge both logging_test_{stream,wqueue}.err
......................................................................
tests/logging: merge both logging_test_{stream,wqueue}.err
Change-Id: I0ff0a6e0d22575047cc00dd822bc94d696171076
---
M tests/Makefile.am
R tests/logging/logging_test.err
D tests/logging/logging_test_wqueue.err
M tests/testsuite.at
4 files changed, 5 insertions(+), 21 deletions(-)
Approvals:
laforge: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 3375c45..f54ce18 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -363,9 +363,7 @@
gb/gprs_ns2_test.ok \
gprs/gprs_test.ok kasumi/kasumi_test.ok \
msgfile/msgfile_test.ok msgfile/msgconfig.cfg \
- logging/logging_test.ok \
- logging/logging_test_stream.err \
- logging/logging_test_wqueue.err \
+ logging/logging_test.ok logging/logging_test.err \
logging/logging_vty_test.vty \
fr/fr_test.ok loggingrb/logging_test.ok \
loggingrb/logging_test.err strrb/strrb_test.ok \
@@ -503,12 +501,9 @@
>$(srcdir)/gsm48/rest_octets_test.ok
gprs/gprs_test \
>$(srcdir)/gprs/gprs_test.ok
- logging/logging_test wqueue \
+ logging/logging_test \
>$(srcdir)/logging/logging_test.ok \
- 2>$(srcdir)/logging/logging_test_wqueue.err
- logging/logging_test stream \
- >$(srcdir)/logging/logging_test.ok \
- 2>$(srcdir)/logging/logging_test_stream.err
+ 2>$(srcdir)/logging/logging_test.err
codec/codec_test \
>$(srcdir)/codec/codec_test.ok
codec/codec_ecu_fr_test \
diff --git a/tests/logging/logging_test_stream.err b/tests/logging/logging_test.err
similarity index 100%
rename from tests/logging/logging_test_stream.err
rename to tests/logging/logging_test.err
diff --git a/tests/logging/logging_test_wqueue.err b/tests/logging/logging_test_wqueue.err
deleted file mode 100644
index 01ab878..0000000
--- a/tests/logging/logging_test_wqueue.err
+++ /dev/null
@@ -1,11 +0,0 @@
-DRLL You should see this
-DCC You should see this
-DRLL You should see this
-DLGLOBAL You should see this on DLGLOBAL (a)
-DLGLOBAL You should see this on DLGLOBAL (b)
-DLGLOBAL You should see this on DLGLOBAL (c)
-DLGLOBAL You should see this on DLGLOBAL (d)
-DLGLOBAL You should see this on DLGLOBAL (e)
-DLGLOBAL You should see this (DLGLOBAL on DEBUG)
-DLGLOBAL logging_test.c:137 A message with source info printed first
-DLGLOBAL A message with source info printed last (logging_test.c:139)
diff --git a/tests/testsuite.at b/tests/testsuite.at
index 5da08e5..ca133bb 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -171,14 +171,14 @@
AT_SETUP([logging_stream])
AT_KEYWORDS([logging_stream])
cat $abs_srcdir/logging/logging_test.ok > expout
-cat $abs_srcdir/logging/logging_test_stream.err > experr
+cat $abs_srcdir/logging/logging_test.err > experr
AT_CHECK([$abs_top_builddir/tests/logging/logging_test stream], [0], [expout], [experr])
AT_CLEANUP
AT_SETUP([logging_wqueue])
AT_KEYWORDS([logging_wqueue])
cat $abs_srcdir/logging/logging_test.ok > expout
-cat $abs_srcdir/logging/logging_test_wqueue.err > experr
+cat $abs_srcdir/logging/logging_test.err > experr
AT_CHECK([$abs_top_builddir/tests/logging/logging_test wqueue], [0], [expout], [experr])
AT_CLEANUP
3 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/27013
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I0ff0a6e0d22575047cc00dd822bc94d696171076
Gerrit-Change-Number: 27013
Gerrit-PatchSet: 5
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: merged
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/27012 )
Change subject: logging: fix printing of '\0' when filename printed last
......................................................................
logging: fix printing of '\0' when filename printed last
As was demonstrated in I54bf5e5c036efb1908232fe3d8e8e2989715fbb3,
when the logging is configured to print the filename *after* the
logging message, each logging line contains an artifact - '\0'.
The problem is that the 'len' variable is not updated. Fix this.
Change-Id: I5c920a0d5c1cf45bcdd327b39e33d63346b4f51c
Fixes: I393907b3c9e0cc1145e102328adad0a83ee13a9f
---
M src/logging.c
M tests/logging/logging_test_wqueue.err
2 files changed, 2 insertions(+), 0 deletions(-)
Approvals:
laforge: Looks good to me, but someone else must approve
pespin: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/src/logging.c b/src/logging.c
index 5336e53..1a0abc2 100644
--- a/src/logging.c
+++ b/src/logging.c
@@ -586,6 +586,7 @@
break;
case LOG_FILENAME_PATH:
offset--;
+ len--;
ret = snprintf(buf + offset, rem, " (%s:%d)\n", file, line);
if (ret < 0)
goto err;
@@ -593,6 +594,7 @@
break;
case LOG_FILENAME_BASENAME:
offset--;
+ len--;
ret = snprintf(buf + offset, rem, " (%s:%d)\n", const_basename(file), line);
if (ret < 0)
goto err;
diff --git a/tests/logging/logging_test_wqueue.err b/tests/logging/logging_test_wqueue.err
index 3e2008b..01ab878 100644
--- a/tests/logging/logging_test_wqueue.err
+++ b/tests/logging/logging_test_wqueue.err
Binary files differ
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/27012
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I5c920a0d5c1cf45bcdd327b39e33d63346b4f51c
Gerrit-Change-Number: 27012
Gerrit-PatchSet: 5
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged