summaryrefslogtreecommitdiff
path: root/.gitlab-ci
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2020-05-09 21:53:24 +0200
committerMarge Bot <eric+marge@anholt.net>2021-09-17 17:54:39 +0000
commit736c159f54e4dabf562db2ef6820311a637b6016 (patch)
treebe5a927b124386f9059e222ebce8c0de12422215 /.gitlab-ci
parentbdf991ff67bae83522abbb75a0565194ff5d31b0 (diff)
ci/bare-metal: add telnet based serial
Makes it possible to use e.g. a ser2net server in the lan. Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com> Acked-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12852>
Diffstat (limited to '.gitlab-ci')
-rwxr-xr-x.gitlab-ci/bare-metal/telnet-buffer.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/.gitlab-ci/bare-metal/telnet-buffer.py b/.gitlab-ci/bare-metal/telnet-buffer.py
new file mode 100755
index 00000000000..c0fa2f875d5
--- /dev/null
+++ b/.gitlab-ci/bare-metal/telnet-buffer.py
@@ -0,0 +1,41 @@
+#!/usr/bin/python3
+
+# Copyright © 2020 Christian Gmeiner
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+#
+# Tiny script to read bytes from telnet, and write the output to stdout, with a
+# buffer in between so we don't lose serial output from its buffer.
+#
+
+import sys
+import telnetlib
+
+host=sys.argv[1]
+port=sys.argv[2]
+
+tn = telnetlib.Telnet(host, port, 1000000)
+
+while True:
+ bytes = tn.read_some()
+ sys.stdout.buffer.write(bytes)
+ sys.stdout.flush()
+
+tn.close()