From 4e7cd02cc64ae63d43326af97aacae475af05002 Mon Sep 17 00:00:00 2001 From: BDisp Date: Tue, 16 Sep 2025 01:09:19 +0100 Subject: [PATCH] Fix error on Unix unit tests --- Terminal.Gui/Drivers/V2/UnixInput.cs | 36 ++++++++++++++++----------- Terminal.Gui/Drivers/V2/UnixOutput.cs | 9 ++++--- 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/Terminal.Gui/Drivers/V2/UnixInput.cs b/Terminal.Gui/Drivers/V2/UnixInput.cs index 7dc8023f9..793553e33 100644 --- a/Terminal.Gui/Drivers/V2/UnixInput.cs +++ b/Terminal.Gui/Drivers/V2/UnixInput.cs @@ -194,9 +194,12 @@ internal class UnixInput : ConsoleInput, IUnixInput } private void WriteRaw (string text) { - byte [] utf8 = Encoding.UTF8.GetBytes (text); - // Write to stdout (fd 1) - write (STDOUT_FILENO, utf8, utf8.Length); + if (!ConsoleDriver.RunningUnitTests) + { + byte [] utf8 = Encoding.UTF8.GetBytes (text); + // Write to stdout (fd 1) + write (STDOUT_FILENO, utf8, utf8.Length); + } } /// @@ -239,22 +242,25 @@ internal class UnixInput : ConsoleInput, IUnixInput { base.Dispose (); - // Disable mouse events first - WriteRaw (EscSeqUtils.CSI_DisableMouseEvents); + if (!ConsoleDriver.RunningUnitTests) + { + // Disable mouse events first + WriteRaw (EscSeqUtils.CSI_DisableMouseEvents); - // Drain any pending input already queued by the terminal - FlushConsoleInput (); + // Drain any pending input already queued by the terminal + FlushConsoleInput (); - // Flush kernel input buffer - tcflush (STDIN_FILENO, TCIFLUSH); + // Flush kernel input buffer + tcflush (STDIN_FILENO, TCIFLUSH); - //Disable alternative screen buffer. - WriteRaw (EscSeqUtils.CSI_RestoreCursorAndRestoreAltBufferWithBackscroll); + //Disable alternative screen buffer. + WriteRaw (EscSeqUtils.CSI_RestoreCursorAndRestoreAltBufferWithBackscroll); - //Set cursor key to cursor. - WriteRaw (EscSeqUtils.CSI_ShowCursor); + //Set cursor key to cursor. + WriteRaw (EscSeqUtils.CSI_ShowCursor); - // Restore terminal to original state - tcsetattr (STDIN_FILENO, TCSANOW, ref _original); + // Restore terminal to original state + tcsetattr (STDIN_FILENO, TCSANOW, ref _original); + } } } diff --git a/Terminal.Gui/Drivers/V2/UnixOutput.cs b/Terminal.Gui/Drivers/V2/UnixOutput.cs index cc0fffb0e..d38ed1de3 100644 --- a/Terminal.Gui/Drivers/V2/UnixOutput.cs +++ b/Terminal.Gui/Drivers/V2/UnixOutput.cs @@ -112,9 +112,12 @@ internal class UnixOutput : OutputBase, IConsoleOutput /// public void Write (ReadOnlySpan text) { - byte [] utf8 = Encoding.UTF8.GetBytes (text.ToArray ()); - // Write to stdout (fd 1) - write (STDOUT_FILENO, utf8, utf8.Length); + if (!ConsoleDriver.RunningUnitTests) + { + byte [] utf8 = Encoding.UTF8.GetBytes (text.ToArray ()); + // Write to stdout (fd 1) + write (STDOUT_FILENO, utf8, utf8.Length); + } } ///