From e414fc3bdc2e1d058aae476306fa7316acac48f5 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Sat, 29 Aug 2020 16:34:20 -0400 Subject: [PATCH] viewers: Drop old style VNC socket handling In all modern local cases we will be using openFD to get a direct file descriptor from the VM, so this code should never be triggered nowadays Signed-off-by: Cole Robinson --- .../uitests/data/live/uitests-vnc-socket.xml | 15 +++++++++ tests/uitests/test_livetests.py | 20 ++++++++++++ virtManager/details/viewers.py | 31 ++----------------- 3 files changed, 37 insertions(+), 29 deletions(-) create mode 100644 tests/uitests/data/live/uitests-vnc-socket.xml diff --git a/tests/uitests/data/live/uitests-vnc-socket.xml b/tests/uitests/data/live/uitests-vnc-socket.xml new file mode 100644 index 000000000..f8c41264c --- /dev/null +++ b/tests/uitests/data/live/uitests-vnc-socket.xml @@ -0,0 +1,15 @@ + + uitests-vnc-socket + 65536 + 65536 + 1 + + hvm + + + + + + + + diff --git a/tests/uitests/test_livetests.py b/tests/uitests/test_livetests.py index f513e1468..8aa78b87a 100644 --- a/tests/uitests/test_livetests.py +++ b/tests/uitests/test_livetests.py @@ -184,6 +184,26 @@ class Console(uiutils.UITestCase): return self._checkPassword() + @_vm_wrapper("uitests-vnc-socket") + def testConsoleVNCSocket(self, dom): + ignore = dom + win = self.app.topwin + con = win.find("console-gfx-viewport") + uiutils.check(lambda: con.showing) + + def _click_textconsole_menu(msg): + vmenu = win.find("^View$", "menu") + vmenu.click() + tmenu = win.find("Text Consoles", "menu") + tmenu.point() + tmenu.find(msg, "radio menu item").click() + + # A bit of an extra test, make sure selecting Graphical Console works + _click_textconsole_menu("Text Console 1") + uiutils.check(lambda: not con.showing) + _click_textconsole_menu("Graphical Console") + uiutils.check(lambda: con.showing) + @_vm_wrapper("uitests-lxc-serial", uri="lxc:///") def testConsoleLXCSerial(self): """ diff --git a/virtManager/details/viewers.py b/virtManager/details/viewers.py index 8e1002a00..6d75ce4ed 100644 --- a/virtManager/details/viewers.py +++ b/virtManager/details/viewers.py @@ -5,8 +5,6 @@ # This work is licensed under the GNU GPLv2 or later. # See the COPYING file in the top-level directory. -import socket - from gi.repository import Gdk from gi.repository import GObject @@ -284,7 +282,6 @@ class VNCViewer(Viewer): def __init__(self, *args, **kwargs): Viewer.__init__(self, *args, **kwargs) self._display = None - self._sockfd = None self._desktop_resolution = None @@ -365,9 +362,6 @@ class VNCViewer(Viewer): def close(self): self._display.close() - if self._sockfd: - self._sockfd.close() - self._sockfd = None def _is_open(self): return self._display.is_open() @@ -443,29 +437,8 @@ class VNCViewer(Viewer): def _open_host(self): host, port, ignore = self._ginfo.get_conn_host() - - if not self._ginfo.gsocket: - log.debug("VNC connecting to host=%s port=%s", host, port) - self._display.open_host(host, port) - return - - log.debug("VNC connecting to socket=%s", self._ginfo.gsocket) - try: - sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) - sock.connect(self._ginfo.gsocket) - self._sockfd = sock - except Exception as e: - raise RuntimeError( - _("Error opening socket path '%(path)s': %(error)s") % { - "path": self._ginfo.gsocket, - "error": e, - }) - - fd = self._sockfd.fileno() - if fd < 0: - raise RuntimeError((_("Error opening socket path '%s'") % - self._ginfo.gsocket) + " fd=%s" % fd) - self._open_fd(fd) + log.debug("VNC connecting to host=%s port=%s", host, port) + self._display.open_host(host, port) def _open_fd(self, fd): self._display.open_fd(fd)