diff --git a/scripts/build/TestPlatform.Dependencies.props b/scripts/build/TestPlatform.Dependencies.props index c6a29db2c7..a675de6daa 100644 --- a/scripts/build/TestPlatform.Dependencies.props +++ b/scripts/build/TestPlatform.Dependencies.props @@ -27,7 +27,6 @@ 3.11.0 3.8.0 - 4.4.13 6.7.0 + + + + netstandard2.0 + latest + + + + + + \ No newline at end of file diff --git a/test/TestAssets/NonDll.TestAdapter/TestAdapter.cs b/test/TestAssets/NonDll.TestAdapter/TestAdapter.cs new file mode 100644 index 0000000000..b1811d25e4 --- /dev/null +++ b/test/TestAssets/NonDll.TestAdapter/TestAdapter.cs @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; + +using Microsoft.VisualStudio.TestPlatform.ObjectModel; +using Microsoft.VisualStudio.TestPlatform.ObjectModel.Adapter; +using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging; + +namespace NonDll.TestAdapter; +[FileExtension(".js")] +[DefaultExecutorUri(Uri)] +[ExtensionUri(Uri)] +public class TestAdapter : ITestExecutor, ITestDiscoverer +{ + public const string Uri = "executor://nondll.testadapter"; + + public void DiscoverTests(IEnumerable sources, IDiscoveryContext discoveryContext, + IMessageLogger logger, ITestCaseDiscoverySink discoverySink) + { + var count = 1; + foreach (var source in sources) + { + TestCase testCase = new() + { + Source = source, + CodeFilePath = source, + DisplayName = $"Test{count++}", + ExecutorUri = new Uri(Uri), + }; + discoverySink.SendTestCase(testCase); + } + } + + public void Cancel() + { + } + + public void RunTests(IEnumerable tests, IRunContext runContext, IFrameworkHandle frameworkHandle) + { + foreach (var test in tests) + { + TestResult testResult = new(test) + { + Outcome = TestOutcome.Passed, + }; + frameworkHandle.RecordResult(testResult); + } + } + + public void RunTests(IEnumerable sources, IRunContext runContext, IFrameworkHandle frameworkHandle) + { + var count = 1; + foreach (var source in sources) + { + TestCase testCase = new() + { + Source = source, + CodeFilePath = source, + DisplayName = $"Test{count++}", + ExecutorUri = new Uri(Uri), + }; + TestResult testResult = new(testCase) + { + Outcome = TestOutcome.Passed, + }; + frameworkHandle.RecordResult(testResult); + } + } +} diff --git a/test/TestAssets/TestAssets.sln b/test/TestAssets/TestAssets.sln index 37527a5c4a..3db3824c34 100644 --- a/test/TestAssets/TestAssets.sln +++ b/test/TestAssets/TestAssets.sln @@ -130,6 +130,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SerializeTestRunTestProject EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MultiHostTestExecutionProject", "MultiHostTestExecutionProject\MultiHostTestExecutionProject.csproj", "{CE6673DA-B50F-46DF-99A3-8A7C54DE9B61}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NonDll.TestAdapter", "NonDll.TestAdapter\NonDll.TestAdapter.csproj", "{429552A4-4C18-4355-94C5-80DC88C48405}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -372,6 +374,10 @@ Global {CE6673DA-B50F-46DF-99A3-8A7C54DE9B61}.Debug|Any CPU.Build.0 = Debug|Any CPU {CE6673DA-B50F-46DF-99A3-8A7C54DE9B61}.Release|Any CPU.ActiveCfg = Release|Any CPU {CE6673DA-B50F-46DF-99A3-8A7C54DE9B61}.Release|Any CPU.Build.0 = Release|Any CPU + {429552A4-4C18-4355-94C5-80DC88C48405}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {429552A4-4C18-4355-94C5-80DC88C48405}.Debug|Any CPU.Build.0 = Debug|Any CPU + {429552A4-4C18-4355-94C5-80DC88C48405}.Release|Any CPU.ActiveCfg = Release|Any CPU + {429552A4-4C18-4355-94C5-80DC88C48405}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE