From afca5df335e22525b492a503cc90bedda6d2c2b8 Mon Sep 17 00:00:00 2001 From: Springcomp Date: Wed, 2 Apr 2025 07:28:07 +0000 Subject: [PATCH 1/4] Improved reliability of some tests --- test/UnitTestReadLine.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/UnitTestReadLine.cs b/test/UnitTestReadLine.cs index ad248096b..8531e92ac 100644 --- a/test/UnitTestReadLine.cs +++ b/test/UnitTestReadLine.cs @@ -562,6 +562,9 @@ private void TestSetup(TestConsole console, KeyMode keyMode, params KeyHandler[] .GetField("_console", BindingFlags.Instance | BindingFlags.NonPublic) .SetValue(instance, _console); + typeof(PSConsoleReadLine).GetMethod("Initialize", BindingFlags.Instance | BindingFlags.NonPublic) + .Invoke(instance, new object[] { /* Runspace */ null, /* EngineIntrinsics */ null, }); + _emptyLine ??= new string(' ', _console.BufferWidth); PSConsoleReadLine.ClearHistory(); From 5ea07b42ffdb4839ac2a091f9da98214a13b09d6 Mon Sep 17 00:00:00 2001 From: Springcomp Date: Thu, 17 Apr 2025 06:06:08 +0000 Subject: [PATCH 2/4] addressed PR feedback. --- PSReadLine/PSReadLine.sln | 114 ++++++++++++++++++++------------------ test/UnitTestReadLine.cs | 11 +++- 2 files changed, 69 insertions(+), 56 deletions(-) diff --git a/PSReadLine/PSReadLine.sln b/PSReadLine/PSReadLine.sln index 3ce7ce89f..49dac15c1 100644 --- a/PSReadLine/PSReadLine.sln +++ b/PSReadLine/PSReadLine.sln @@ -1,53 +1,61 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26730.12 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PSReadLine", "PSReadLine.csproj", "{615788CB-1B9A-4B34-97B3-4608686E59CA}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Polyfill", "..\Polyfill\Polyfill.csproj", "{DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MockPSConsole", "..\MockPSConsole\MockPSConsole.csproj", "{08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PSReadLine.Tests", "..\test\PSReadLine.Tests.csproj", "{8ED51D01-158C-4B29-824A-35B9B861E45A}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - CodeCoverage|Any CPU = CodeCoverage|Any CPU - Debug|Any CPU = Debug|Any CPU - Linux|Any CPU = Linux|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {615788CB-1B9A-4B34-97B3-4608686E59CA}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU - {615788CB-1B9A-4B34-97B3-4608686E59CA}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU - {615788CB-1B9A-4B34-97B3-4608686E59CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {615788CB-1B9A-4B34-97B3-4608686E59CA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {615788CB-1B9A-4B34-97B3-4608686E59CA}.Linux|Any CPU.ActiveCfg = Release|Any CPU - {615788CB-1B9A-4B34-97B3-4608686E59CA}.Linux|Any CPU.Build.0 = Release|Any CPU - {615788CB-1B9A-4B34-97B3-4608686E59CA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {615788CB-1B9A-4B34-97B3-4608686E59CA}.Release|Any CPU.Build.0 = Release|Any CPU - {08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU - {08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU - {08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}.Linux|Any CPU.ActiveCfg = Release|Any CPU - {08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}.Linux|Any CPU.Build.0 = Release|Any CPU - {08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}.Release|Any CPU.Build.0 = Release|Any CPU - {8ED51D01-158C-4B29-824A-35B9B861E45A}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU - {8ED51D01-158C-4B29-824A-35B9B861E45A}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU - {8ED51D01-158C-4B29-824A-35B9B861E45A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8ED51D01-158C-4B29-824A-35B9B861E45A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8ED51D01-158C-4B29-824A-35B9B861E45A}.Linux|Any CPU.ActiveCfg = Release|Any CPU - {8ED51D01-158C-4B29-824A-35B9B861E45A}.Linux|Any CPU.Build.0 = Release|Any CPU - {8ED51D01-158C-4B29-824A-35B9B861E45A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8ED51D01-158C-4B29-824A-35B9B861E45A}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {EA13C704-483F-4CE4-A3FB-8F79295F1071} - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.12.35707.178 d17.12 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PSReadLine", "PSReadLine.csproj", "{615788CB-1B9A-4B34-97B3-4608686E59CA}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Polyfill", "..\Polyfill\Polyfill.csproj", "{DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MockPSConsole", "..\MockPSConsole\MockPSConsole.csproj", "{08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PSReadLine.Tests", "..\test\PSReadLine.Tests.csproj", "{8ED51D01-158C-4B29-824A-35B9B861E45A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + CodeCoverage|Any CPU = CodeCoverage|Any CPU + Debug|Any CPU = Debug|Any CPU + Linux|Any CPU = Linux|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {615788CB-1B9A-4B34-97B3-4608686E59CA}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU + {615788CB-1B9A-4B34-97B3-4608686E59CA}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU + {615788CB-1B9A-4B34-97B3-4608686E59CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {615788CB-1B9A-4B34-97B3-4608686E59CA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {615788CB-1B9A-4B34-97B3-4608686E59CA}.Linux|Any CPU.ActiveCfg = Release|Any CPU + {615788CB-1B9A-4B34-97B3-4608686E59CA}.Linux|Any CPU.Build.0 = Release|Any CPU + {615788CB-1B9A-4B34-97B3-4608686E59CA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {615788CB-1B9A-4B34-97B3-4608686E59CA}.Release|Any CPU.Build.0 = Release|Any CPU + {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.CodeCoverage|Any CPU.ActiveCfg = Debug|Any CPU + {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.CodeCoverage|Any CPU.Build.0 = Debug|Any CPU + {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.Linux|Any CPU.ActiveCfg = Debug|Any CPU + {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.Linux|Any CPU.Build.0 = Debug|Any CPU + {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.Release|Any CPU.Build.0 = Release|Any CPU + {08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU + {08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU + {08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}.Linux|Any CPU.ActiveCfg = Release|Any CPU + {08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}.Linux|Any CPU.Build.0 = Release|Any CPU + {08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}.Release|Any CPU.Build.0 = Release|Any CPU + {8ED51D01-158C-4B29-824A-35B9B861E45A}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU + {8ED51D01-158C-4B29-824A-35B9B861E45A}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU + {8ED51D01-158C-4B29-824A-35B9B861E45A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8ED51D01-158C-4B29-824A-35B9B861E45A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8ED51D01-158C-4B29-824A-35B9B861E45A}.Linux|Any CPU.ActiveCfg = Release|Any CPU + {8ED51D01-158C-4B29-824A-35B9B861E45A}.Linux|Any CPU.Build.0 = Release|Any CPU + {8ED51D01-158C-4B29-824A-35B9B861E45A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8ED51D01-158C-4B29-824A-35B9B861E45A}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {EA13C704-483F-4CE4-A3FB-8F79295F1071} + EndGlobalSection +EndGlobal diff --git a/test/UnitTestReadLine.cs b/test/UnitTestReadLine.cs index 8531e92ac..a6c1572ce 100644 --- a/test/UnitTestReadLine.cs +++ b/test/UnitTestReadLine.cs @@ -537,6 +537,7 @@ private void TestMustDing(string expectedResult, object[] items) private string _emptyLine; private TestConsole _console; private MockedMethods _mockedMethods; + private bool _oneTimeInitCompleted; private static string MakeCombinedColor(ConsoleColor fg, ConsoleColor bg) => VTColorUtils.AsEscapeSequence(fg) + VTColorUtils.AsEscapeSequence(bg, isBackground: true); @@ -562,9 +563,6 @@ private void TestSetup(TestConsole console, KeyMode keyMode, params KeyHandler[] .GetField("_console", BindingFlags.Instance | BindingFlags.NonPublic) .SetValue(instance, _console); - typeof(PSConsoleReadLine).GetMethod("Initialize", BindingFlags.Instance | BindingFlags.NonPublic) - .Invoke(instance, new object[] { /* Runspace */ null, /* EngineIntrinsics */ null, }); - _emptyLine ??= new string(' ', _console.BufferWidth); PSConsoleReadLine.ClearHistory(); @@ -629,6 +627,13 @@ private void TestSetup(TestConsole console, KeyMode keyMode, params KeyHandler[] } var colorOptions = new SetPSReadLineOption {Colors = colors}; PSConsoleReadLine.SetOptions(colorOptions); + + if (!_oneTimeInitCompleted) + { + typeof(PSConsoleReadLine).GetMethod("Initialize", BindingFlags.Instance | BindingFlags.NonPublic) + .Invoke(instance, new object[] { /* Runspace */ null, /* EngineIntrinsics */ null, }); + _oneTimeInitCompleted = true; + } } } From 0226fb7044efea654b551f33ca4bfd8bac12d7a7 Mon Sep 17 00:00:00 2001 From: Dongbo Wang Date: Thu, 17 Apr 2025 10:39:14 -0700 Subject: [PATCH 3/4] Update PSReadLine/PSReadLine.sln --- PSReadLine/PSReadLine.sln | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PSReadLine/PSReadLine.sln b/PSReadLine/PSReadLine.sln index 49dac15c1..88de868bf 100644 --- a/PSReadLine/PSReadLine.sln +++ b/PSReadLine/PSReadLine.sln @@ -27,12 +27,12 @@ Global {615788CB-1B9A-4B34-97B3-4608686E59CA}.Linux|Any CPU.Build.0 = Release|Any CPU {615788CB-1B9A-4B34-97B3-4608686E59CA}.Release|Any CPU.ActiveCfg = Release|Any CPU {615788CB-1B9A-4B34-97B3-4608686E59CA}.Release|Any CPU.Build.0 = Release|Any CPU - {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.CodeCoverage|Any CPU.ActiveCfg = Debug|Any CPU - {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.CodeCoverage|Any CPU.Build.0 = Debug|Any CPU + {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU + {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.Linux|Any CPU.ActiveCfg = Debug|Any CPU - {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.Linux|Any CPU.Build.0 = Debug|Any CPU + {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.Linux|Any CPU.ActiveCfg = Release|Any CPU + {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.Linux|Any CPU.Build.0 = Release|Any CPU {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.Release|Any CPU.ActiveCfg = Release|Any CPU {DE521A7D-A3BE-4A07-BE75-5AB7D87E799D}.Release|Any CPU.Build.0 = Release|Any CPU {08218B1A-8B85-4722-9E3F-4D6C0BF58AD8}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU From a5f05dce117e972ca7b9efca041a26c160a1fee5 Mon Sep 17 00:00:00 2001 From: Dongbo Wang Date: Thu, 17 Apr 2025 10:47:12 -0700 Subject: [PATCH 4/4] Update PSReadLine/PSReadLine.sln --- PSReadLine/PSReadLine.sln | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PSReadLine/PSReadLine.sln b/PSReadLine/PSReadLine.sln index 88de868bf..866d96120 100644 --- a/PSReadLine/PSReadLine.sln +++ b/PSReadLine/PSReadLine.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.12.35707.178 d17.12 +# Visual Studio 15 +VisualStudioVersion = 15.0.26730.12 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PSReadLine", "PSReadLine.csproj", "{615788CB-1B9A-4B34-97B3-4608686E59CA}" EndProject