From 88f5e65ee8332b2b3e3265883e979c76bad8d059 Mon Sep 17 00:00:00 2001 From: "Mengyuan Chen (from Dev Box)" Date: Tue, 11 Feb 2025 10:53:24 +0800 Subject: [PATCH] add fuzz tests framework in registrypreview --- PowerToys.sln | 15 +++++++++++++++ .../RegistryPreview.FuzzTests/FuzzTests.cs | 10 ++++++---- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/PowerToys.sln b/PowerToys.sln index 870999f12c3b..cdd4357681f4 100644 --- a/PowerToys.sln +++ b/PowerToys.sln @@ -636,6 +636,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZoomItModuleInterface", "sr EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZoomItSettingsInterop", "src\modules\ZoomIt\ZoomItSettingsInterop\ZoomItSettingsInterop.vcxproj", "{CA7D8106-30B9-4AEC-9D05-B69B31B8C461}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegistryPreview.FuzzTests", "src\modules\registrypreview\RegistryPreview.FuzzTests\RegistryPreview.FuzzTests.csproj", "{50A9F3DE-CF0B-4CF0-AFDE-3A3E245D7734}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM64 = Debug|ARM64 @@ -2834,6 +2836,18 @@ Global {CA7D8106-30B9-4AEC-9D05-B69B31B8C461}.Release|x64.Build.0 = Release|x64 {CA7D8106-30B9-4AEC-9D05-B69B31B8C461}.Release|x86.ActiveCfg = Release|x64 {CA7D8106-30B9-4AEC-9D05-B69B31B8C461}.Release|x86.Build.0 = Release|x64 + {50A9F3DE-CF0B-4CF0-AFDE-3A3E245D7734}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {50A9F3DE-CF0B-4CF0-AFDE-3A3E245D7734}.Debug|ARM64.Build.0 = Debug|ARM64 + {50A9F3DE-CF0B-4CF0-AFDE-3A3E245D7734}.Debug|x64.ActiveCfg = Debug|x64 + {50A9F3DE-CF0B-4CF0-AFDE-3A3E245D7734}.Debug|x64.Build.0 = Debug|x64 + {50A9F3DE-CF0B-4CF0-AFDE-3A3E245D7734}.Debug|x86.ActiveCfg = Debug|x64 + {50A9F3DE-CF0B-4CF0-AFDE-3A3E245D7734}.Debug|x86.Build.0 = Debug|x64 + {50A9F3DE-CF0B-4CF0-AFDE-3A3E245D7734}.Release|ARM64.ActiveCfg = Release|ARM64 + {50A9F3DE-CF0B-4CF0-AFDE-3A3E245D7734}.Release|ARM64.Build.0 = Release|ARM64 + {50A9F3DE-CF0B-4CF0-AFDE-3A3E245D7734}.Release|x64.ActiveCfg = Release|x64 + {50A9F3DE-CF0B-4CF0-AFDE-3A3E245D7734}.Release|x64.Build.0 = Release|x64 + {50A9F3DE-CF0B-4CF0-AFDE-3A3E245D7734}.Release|x86.ActiveCfg = Release|x64 + {50A9F3DE-CF0B-4CF0-AFDE-3A3E245D7734}.Release|x86.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -3069,6 +3083,7 @@ Global {0A84F764-3A88-44CD-AA96-41BDBD48627B} = {DD6E12FE-5509-4ABC-ACC2-3D6DC98A238C} {E4585179-2AC1-4D5F-A3FF-CFC5392F694C} = {DD6E12FE-5509-4ABC-ACC2-3D6DC98A238C} {CA7D8106-30B9-4AEC-9D05-B69B31B8C461} = {DD6E12FE-5509-4ABC-ACC2-3D6DC98A238C} + {50A9F3DE-CF0B-4CF0-AFDE-3A3E245D7734} = {929C1324-22E8-4412-A9A8-80E85F3985A5} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {C3A2F9D1-7930-4EF4-A6FC-7EE0A99821D0} diff --git a/src/modules/registrypreview/RegistryPreview.FuzzTests/FuzzTests.cs b/src/modules/registrypreview/RegistryPreview.FuzzTests/FuzzTests.cs index f81bb1cc33e0..8e50b667f6bb 100644 --- a/src/modules/registrypreview/RegistryPreview.FuzzTests/FuzzTests.cs +++ b/src/modules/registrypreview/RegistryPreview.FuzzTests/FuzzTests.cs @@ -1,17 +1,19 @@ // Copyright (c) Microsoft Corporation // The Microsoft Corporation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System; +using Microsoft.VisualStudio.TestTools.UnitTesting; + namespace RegistryPreview.FuzzTests { public class FuzzTests { - public static void FuzzTargetMethod(ReadOnlySpan input) + public static void FuzzParseRegistryFile(ReadOnlySpan input) { try { - // … use input parameter in code under test … - // - // TargetMethod(…); + var text = System.Text.Encoding.UTF8.GetString(input); + } catch (Exception ex) when (ex is ArgumentException) {