diff --git a/TestPlatform.sln b/TestPlatform.sln
index 00291f3d61..bf32ea8665 100644
--- a/TestPlatform.sln
+++ b/TestPlatform.sln
@@ -104,6 +104,7 @@ EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Microsoft.TestPlatform.ObjectModel.PlatformTests", "test\Performance\Microsoft.TestPlatform.ObjectModel.PlatformTests\Microsoft.TestPlatform.ObjectModel.PlatformTests.xproj", "{A4025AA7-FE2C-47B4-AB22-5FA32D0CA234}"
EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "PerfTestProject", "test\TestAssets\PerfTestProject\PerfTestProject.xproj", "{96B93E28-A33D-48E5-8793-73F686D3B999}"
+Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "testhost.UnitTests", "test\testhost.UnitTests\testhost.UnitTests.xproj", "{09599F77-A1F2-4366-BB8A-B4B90E05BCBC}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -259,6 +260,10 @@ Global
{96B93E28-A33D-48E5-8793-73F686D3B999}.Debug|Any CPU.Build.0 = Debug|Any CPU
{96B93E28-A33D-48E5-8793-73F686D3B999}.Release|Any CPU.ActiveCfg = Release|Any CPU
{96B93E28-A33D-48E5-8793-73F686D3B999}.Release|Any CPU.Build.0 = Release|Any CPU
+ {09599F77-A1F2-4366-BB8A-B4B90E05BCBC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {09599F77-A1F2-4366-BB8A-B4B90E05BCBC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {09599F77-A1F2-4366-BB8A-B4B90E05BCBC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {09599F77-A1F2-4366-BB8A-B4B90E05BCBC}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -306,5 +311,6 @@ Global
{03FC3BAA-417B-460B-B9EF-AB9A4D2A974A} = {D8EF073C-279A-4279-912D-E9D4B0635E17}
{A4025AA7-FE2C-47B4-AB22-5FA32D0CA234} = {44DABCFB-7AA0-4682-B7F7-067E0ABA1D14}
{96B93E28-A33D-48E5-8793-73F686D3B999} = {50D7D355-08F6-4DFD-AEAA-9BCE41C94C18}
+ {09599F77-A1F2-4366-BB8A-B4B90E05BCBC} = {463031A2-7F16-4E38-9944-1F5161D04933}
EndGlobalSection
EndGlobal
diff --git a/dogfood/UnitTestProject/project.json b/dogfood/UnitTestProject/project.json
index 9ad20011b9..7a95a808d5 100644
--- a/dogfood/UnitTestProject/project.json
+++ b/dogfood/UnitTestProject/project.json
@@ -2,7 +2,7 @@
"version": "1.0.0-*",
"dependencies": {
- "MSTest.TestFramework": "1.0.0-preview"
+ "MSTest.TestFramework": "1.0.4-preview"
},
"frameworks": {
diff --git a/scripts/build.ps1 b/scripts/build.ps1
index ec195787e1..c779d378b7 100644
--- a/scripts/build.ps1
+++ b/scripts/build.ps1
@@ -265,10 +265,11 @@ function Create-NugetPackages
$tpSrcDir = Join-Path $env:TP_ROOT_DIR "src"
# Copy over the nuspecs to the staging directory
- $nuspecFiles = @("TestPlatform.TranslationLayer.nuspec", "TestPlatform.ObjectModel.nuspec", "TestPlatform.TestHost.nuspec", "TestPlatform.nuspec", "TestPlatform.CLI.nuspec", "TestPlatform.Build.nuspec")
+ $nuspecFiles = @("TestPlatform.TranslationLayer.nuspec", "TestPlatform.ObjectModel.nuspec", "TestPlatform.TestHost.nuspec", "TestPlatform.nuspec", "TestPlatform.CLI.nuspec", "TestPlatform.Build.nuspec", "Microsoft.Net.Test.Sdk.nuspec")
+ $targetFiles = @("Microsoft.Net.Test.Sdk.targets")
# Nuget pack analysis emits warnings if binaries are packaged as content. It is intentional for the below packages.
$skipAnalysis = @("TestPlatform.CLI.nuspec")
- foreach ($file in $nuspecFiles) {
+ foreach ($file in $nuspecFiles + $targetFiles) {
Copy-Item $tpSrcDir\$file $stagingDir -Force
}
diff --git a/src/Microsoft.NET.Test.Sdk.nuspec b/src/Microsoft.NET.Test.Sdk.nuspec
new file mode 100644
index 0000000000..8817c3c0a9
--- /dev/null
+++ b/src/Microsoft.NET.Test.Sdk.nuspec
@@ -0,0 +1,20 @@
+
+
+
+ Microsoft.NET.Test.Sdk
+ 1.0.0-preview
+ The MSbuild targets and properties for building the .Net core test projects.
+ Microsoft
+ Microsoft
+ false
+ The MSbuild targets and properties for building the .Net core test projects.
+ Copyright 2015
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.NET.Test.Sdk.targets b/src/Microsoft.NET.Test.Sdk.targets
new file mode 100644
index 0000000000..87a842b4db
--- /dev/null
+++ b/src/Microsoft.NET.Test.Sdk.targets
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+ $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
+ $(IntermediateOutputPath)$(MSBuildProjectName).Program$(DefaultLanguageSourceExtension)
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Client/DesignMode/DesignModeClient.cs b/src/Microsoft.TestPlatform.Client/DesignMode/DesignModeClient.cs
index ef55f62e78..8f4183bee3 100644
--- a/src/Microsoft.TestPlatform.Client/DesignMode/DesignModeClient.cs
+++ b/src/Microsoft.TestPlatform.Client/DesignMode/DesignModeClient.cs
@@ -7,13 +7,11 @@ namespace Microsoft.VisualStudio.TestPlatform.Client.DesignMode
using System.Threading;
using System.Threading.Tasks;
+ using Microsoft.VisualStudio.TestPlatform.Client.RequestHelper;
+ using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;
using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Interfaces;
using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel;
- using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;
- using Microsoft.VisualStudio.TestPlatform.Client.RequestHelper;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.Interfaces;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
- using System.Diagnostics;
///
/// The design mode client.
@@ -47,6 +45,9 @@ public DesignModeClient()
///
/// The communication manager.
///
+ ///
+ /// The data Serializer.
+ ///
internal DesignModeClient(ICommunicationManager communicationManager, IDataSerializer dataSerializer)
{
this.communicationManager = communicationManager;
@@ -69,16 +70,21 @@ public static void Initialize()
///
/// Creates a client and waits for server to accept connection asynchronously
///
- /// port number to connect
+ ///
+ /// Port number to connect
+ ///
+ ///
+ /// The test Request Manager.
+ ///
public void ConnectToClientAndProcessRequests(int port, ITestRequestManager testRequestManager)
{
EqtTrace.Info("Trying to connect to server on port : {0}", port);
this.communicationManager.SetupClientAsync(port);
- this.communicationManager.SendMessage(MessageType.SessionConnected);
// Wait for the connection to the server and listen for requests.
if (this.communicationManager.WaitForServerConnection(ClientListenTimeOut))
{
+ this.communicationManager.SendMessage(MessageType.SessionConnected);
this.ProcessRequests(testRequestManager);
}
else
@@ -99,7 +105,9 @@ public void HandleParentProcessExit()
///
/// Process Requests from the IDE
///
- ///
+ ///
+ /// The test Request Manager.
+ ///
private void ProcessRequests(ITestRequestManager testRequestManager)
{
var isSessionEnd = false;
@@ -202,7 +210,9 @@ private void ProcessRequests(ITestRequestManager testRequestManager)
///
/// Send a custom host launch message to IDE
///
- /// Payload required to launch a custom host
+ ///
+ /// The test Process Start Info.
+ ///
public int LaunchCustomHost(TestProcessStartInfo testProcessStartInfo)
{
lock (ackLockObject)
diff --git a/src/Microsoft.TestPlatform.Client/Execution/TestRunRequest.cs b/src/Microsoft.TestPlatform.Client/Execution/TestRunRequest.cs
index 4e3e92b0ef..b14aba6285 100644
--- a/src/Microsoft.TestPlatform.Client/Execution/TestRunRequest.cs
+++ b/src/Microsoft.TestPlatform.Client/Execution/TestRunRequest.cs
@@ -13,7 +13,7 @@ namespace Microsoft.VisualStudio.TestPlatform.Client.Execution
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
using Microsoft.VisualStudio.TestPlatform.Utilities;
- using Resources = Microsoft.VisualStudio.TestPlatform.Client.Resources;
+ using ClientResources = Microsoft.VisualStudio.TestPlatform.Client.Resources.Resources;
public class TestRunRequest : ITestRunRequest, ITestRunEventsHandler
{
@@ -48,7 +48,7 @@ public int ExecuteAsync()
if (this.State != TestRunState.Pending)
{
- throw new InvalidOperationException(Resources.InvalidStateForExecution);
+ throw new InvalidOperationException(ClientResources.InvalidStateForExecution);
}
EqtTrace.Info("TestRunRequest.ExecuteAsync: Starting run with settings:{0}", this.testRunCriteria);
@@ -100,7 +100,7 @@ public bool WaitForCompletion(int timeout)
|| this.State == TestRunState.Aborted))
{
// If run is already terminated, then we should not throw an exception.
- throw new InvalidOperationException(Resources.WaitForCompletionOperationIsNotAllowedWhenNoTestRunIsActive);
+ throw new InvalidOperationException(ClientResources.WaitForCompletionOperationIsNotAllowedWhenNoTestRunIsActive);
}
// This method is not synchronized as it can lead to dead-lock
diff --git a/src/Microsoft.TestPlatform.Client/Resources.Designer.cs b/src/Microsoft.TestPlatform.Client/Resources/Resources.Designer.cs
similarity index 93%
rename from src/Microsoft.TestPlatform.Client/Resources.Designer.cs
rename to src/Microsoft.TestPlatform.Client/Resources/Resources.Designer.cs
index f4a53e025a..34493b4626 100644
--- a/src/Microsoft.TestPlatform.Client/Resources.Designer.cs
+++ b/src/Microsoft.TestPlatform.Client/Resources/Resources.Designer.cs
@@ -1,4 +1,4 @@
-//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace Microsoft.VisualStudio.TestPlatform.Client {
+namespace Microsoft.VisualStudio.TestPlatform.Client.Resources {
using System;
using System.Reflection;
@@ -38,7 +38,7 @@ internal Resources() {
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.Client.Resources", typeof(Resources).GetTypeInfo().Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.Client.Resources.Resources", typeof(Resources).GetTypeInfo().Assembly);
resourceMan = temp;
}
return resourceMan;
diff --git a/src/Microsoft.TestPlatform.Client/Resources.resx b/src/Microsoft.TestPlatform.Client/Resources/Resources.resx
similarity index 100%
rename from src/Microsoft.TestPlatform.Client/Resources.resx
rename to src/Microsoft.TestPlatform.Client/Resources/Resources.resx
diff --git a/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.cs.xlf b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.cs.xlf
new file mode 100644
index 0000000000..d04e78879d
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.cs.xlf
@@ -0,0 +1,17 @@
+
+
+
+
+
+ The test run could not be executed because the initial state was invalid.
+ The test run could not be executed because the initial state was invalid.
+
+
+
+ Wait for completion operation is not allowed when there is no active test run.
+ Wait for completion operation is not allowed when there is no active test run.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.de.xlf b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.de.xlf
new file mode 100644
index 0000000000..499162759f
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.de.xlf
@@ -0,0 +1,17 @@
+
+
+
+
+
+ The test run could not be executed because the initial state was invalid.
+ The test run could not be executed because the initial state was invalid.
+
+
+
+ Wait for completion operation is not allowed when there is no active test run.
+ Wait for completion operation is not allowed when there is no active test run.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.es.xlf b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.es.xlf
new file mode 100644
index 0000000000..d5b50f8278
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.es.xlf
@@ -0,0 +1,17 @@
+
+
+
+
+
+ The test run could not be executed because the initial state was invalid.
+ The test run could not be executed because the initial state was invalid.
+
+
+
+ Wait for completion operation is not allowed when there is no active test run.
+ Wait for completion operation is not allowed when there is no active test run.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.fr.xlf b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.fr.xlf
new file mode 100644
index 0000000000..605666ca79
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.fr.xlf
@@ -0,0 +1,17 @@
+
+
+
+
+
+ The test run could not be executed because the initial state was invalid.
+ The test run could not be executed because the initial state was invalid.
+
+
+
+ Wait for completion operation is not allowed when there is no active test run.
+ Wait for completion operation is not allowed when there is no active test run.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.it.xlf b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.it.xlf
new file mode 100644
index 0000000000..ec1d98950c
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.it.xlf
@@ -0,0 +1,17 @@
+
+
+
+
+
+ The test run could not be executed because the initial state was invalid.
+ The test run could not be executed because the initial state was invalid.
+
+
+
+ Wait for completion operation is not allowed when there is no active test run.
+ Wait for completion operation is not allowed when there is no active test run.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.ja.xlf b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.ja.xlf
new file mode 100644
index 0000000000..458f62285c
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.ja.xlf
@@ -0,0 +1,17 @@
+
+
+
+
+
+ The test run could not be executed because the initial state was invalid.
+ The test run could not be executed because the initial state was invalid.
+
+
+
+ Wait for completion operation is not allowed when there is no active test run.
+ Wait for completion operation is not allowed when there is no active test run.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.ko.xlf b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.ko.xlf
new file mode 100644
index 0000000000..a01458d86b
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.ko.xlf
@@ -0,0 +1,17 @@
+
+
+
+
+
+ The test run could not be executed because the initial state was invalid.
+ The test run could not be executed because the initial state was invalid.
+
+
+
+ Wait for completion operation is not allowed when there is no active test run.
+ Wait for completion operation is not allowed when there is no active test run.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.pl.xlf b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.pl.xlf
new file mode 100644
index 0000000000..56a4238785
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.pl.xlf
@@ -0,0 +1,17 @@
+
+
+
+
+
+ The test run could not be executed because the initial state was invalid.
+ The test run could not be executed because the initial state was invalid.
+
+
+
+ Wait for completion operation is not allowed when there is no active test run.
+ Wait for completion operation is not allowed when there is no active test run.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.pt-BR.xlf b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.pt-BR.xlf
new file mode 100644
index 0000000000..b86ed4d5f4
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.pt-BR.xlf
@@ -0,0 +1,17 @@
+
+
+
+
+
+ The test run could not be executed because the initial state was invalid.
+ The test run could not be executed because the initial state was invalid.
+
+
+
+ Wait for completion operation is not allowed when there is no active test run.
+ Wait for completion operation is not allowed when there is no active test run.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.ru.xlf b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.ru.xlf
new file mode 100644
index 0000000000..d433d1be53
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.ru.xlf
@@ -0,0 +1,17 @@
+
+
+
+
+
+ The test run could not be executed because the initial state was invalid.
+ The test run could not be executed because the initial state was invalid.
+
+
+
+ Wait for completion operation is not allowed when there is no active test run.
+ Wait for completion operation is not allowed when there is no active test run.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.tr.xlf b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.tr.xlf
new file mode 100644
index 0000000000..0008b20fa6
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.tr.xlf
@@ -0,0 +1,17 @@
+
+
+
+
+
+ The test run could not be executed because the initial state was invalid.
+ The test run could not be executed because the initial state was invalid.
+
+
+
+ Wait for completion operation is not allowed when there is no active test run.
+ Wait for completion operation is not allowed when there is no active test run.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.xlf b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.xlf
new file mode 100644
index 0000000000..e020021cf6
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.xlf
@@ -0,0 +1,15 @@
+
+
+
+
+
+ The test run could not be executed because the initial state was invalid.
+
+
+
+ Wait for completion operation is not allowed when there is no active test run.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.zh-Hans.xlf b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.zh-Hans.xlf
new file mode 100644
index 0000000000..4d6d84d4dc
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.zh-Hans.xlf
@@ -0,0 +1,17 @@
+
+
+
+
+
+ The test run could not be executed because the initial state was invalid.
+ The test run could not be executed because the initial state was invalid.
+
+
+
+ Wait for completion operation is not allowed when there is no active test run.
+ Wait for completion operation is not allowed when there is no active test run.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.zh-Hant.xlf b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.zh-Hant.xlf
new file mode 100644
index 0000000000..975d46faac
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Client/Resources/xlf/Resources.zh-Hant.xlf
@@ -0,0 +1,17 @@
+
+
+
+
+
+ The test run could not be executed because the initial state was invalid.
+ The test run could not be executed because the initial state was invalid.
+
+
+
+ Wait for completion operation is not allowed when there is no active test run.
+ Wait for completion operation is not allowed when there is no active test run.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Client/TestPlatform.cs b/src/Microsoft.TestPlatform.Client/TestPlatform.cs
index 57292c5762..a720c93ba3 100644
--- a/src/Microsoft.TestPlatform.Client/TestPlatform.cs
+++ b/src/Microsoft.TestPlatform.Client/TestPlatform.cs
@@ -54,7 +54,7 @@ public IDiscoveryRequest CreateDiscoveryRequest(DiscoveryCriteria discoveryCrite
}
var runconfiguration = XmlRunSettingsUtilities.GetRunConfigurationNode(discoveryCriteria.RunSettings);
- var testHostManager = this.TestEngine.GetDefaultTestHostManager(runconfiguration.TargetPlatform, runconfiguration.TargetFrameworkVersion);
+ var testHostManager = this.TestEngine.GetDefaultTestHostManager(runconfiguration);
var discoveryManager = this.TestEngine.GetDiscoveryManager(testHostManager, discoveryCriteria);
discoveryManager.Initialize();
@@ -76,7 +76,7 @@ public ITestRunRequest CreateTestRunRequest(TestRunCriteria testRunCriteria)
}
var runConfiguration = XmlRunSettingsUtilities.GetRunConfigurationNode(testRunCriteria.TestRunSettings);
- var testHostManager = this.TestEngine.GetDefaultTestHostManager(runConfiguration.TargetPlatform, runConfiguration.TargetFrameworkVersion);
+ var testHostManager = this.TestEngine.GetDefaultTestHostManager(runConfiguration);
if (testRunCriteria.TestHostLauncher != null)
{
diff --git a/src/Microsoft.TestPlatform.Client/project.json b/src/Microsoft.TestPlatform.Client/project.json
index edfc63a97d..45490589d4 100644
--- a/src/Microsoft.TestPlatform.Client/project.json
+++ b/src/Microsoft.TestPlatform.Client/project.json
@@ -4,7 +4,8 @@
"outputName": "Microsoft.VisualStudio.TestPlatform.Client",
"delaySign": true,
"keyFile": "../../scripts/key.snk",
- "warningsAsErrors": true
+ "warningsAsErrors": true,
+ "embed": [ "Resources/*.resx" ]
},
"dependencies": {
diff --git a/src/Microsoft.TestPlatform.Common/ExtensionFramework/TestExtensionManager.cs b/src/Microsoft.TestPlatform.Common/ExtensionFramework/TestExtensionManager.cs
index 93e7f12b41..89300136f5 100644
--- a/src/Microsoft.TestPlatform.Common/ExtensionFramework/TestExtensionManager.cs
+++ b/src/Microsoft.TestPlatform.Common/ExtensionFramework/TestExtensionManager.cs
@@ -10,7 +10,7 @@ namespace Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
- using CommonResources = Microsoft.VisualStudio.TestPlatform.Common.Resources;
+ using CommonResources = Microsoft.VisualStudio.TestPlatform.Common.Resources.Resources;
///
/// Generic base class for managing extensions and looking them up by their URI.
diff --git a/src/Microsoft.TestPlatform.Common/Filtering/Condition.cs b/src/Microsoft.TestPlatform.Common/Filtering/Condition.cs
index c815dc75f4..1a440b80b2 100644
--- a/src/Microsoft.TestPlatform.Common/Filtering/Condition.cs
+++ b/src/Microsoft.TestPlatform.Common/Filtering/Condition.cs
@@ -10,7 +10,7 @@ namespace Microsoft.VisualStudio.TestPlatform.Common.Filtering
using System.Text.RegularExpressions;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
- using Microsoft.VisualStudio.TestPlatform.Utilities;
+ using CommonResources = Microsoft.VisualStudio.TestPlatform.Common.Resources.Resources;
internal enum Operation
{
@@ -158,14 +158,14 @@ internal static Condition Parse(string conditionString)
string[] parts = Regex.Split(conditionString, propertyNameValueSeperatorString);
if (parts.Length != 3)
{
- throw new FormatException(string.Format(CultureInfo.CurrentCulture, Common.Resources.TestCaseFilterFormatException, string.Format(CultureInfo.CurrentCulture, Common.Resources.InvalidCondition, conditionString)));
+ throw new FormatException(string.Format(CultureInfo.CurrentCulture, CommonResources.TestCaseFilterFormatException, string.Format(CultureInfo.CurrentCulture, CommonResources.InvalidCondition, conditionString)));
}
for (int index = 0; index < 3; index++)
{
if (string.IsNullOrWhiteSpace(parts[index]))
{
- throw new FormatException(string.Format(CultureInfo.CurrentCulture, Common.Resources.TestCaseFilterFormatException, string.Format(CultureInfo.CurrentCulture, Common.Resources.InvalidCondition, conditionString)));
+ throw new FormatException(string.Format(CultureInfo.CurrentCulture, CommonResources.TestCaseFilterFormatException, string.Format(CultureInfo.CurrentCulture, CommonResources.InvalidCondition, conditionString)));
}
parts[index] = parts[index].Trim();
}
@@ -235,7 +235,7 @@ private static Operation GetOperator(string operationString)
case "~":
return Operation.Contains;
}
- throw new FormatException(string.Format(CultureInfo.CurrentCulture, Common.Resources.TestCaseFilterFormatException, string.Format(CultureInfo.CurrentCulture, Common.Resources.InvalidOperator, operationString)));
+ throw new FormatException(string.Format(CultureInfo.CurrentCulture, CommonResources.TestCaseFilterFormatException, string.Format(CultureInfo.CurrentCulture, CommonResources.InvalidOperator, operationString)));
}
///
diff --git a/src/Microsoft.TestPlatform.Common/Filtering/FilterExpression.cs b/src/Microsoft.TestPlatform.Common/Filtering/FilterExpression.cs
index 2da06fabff..3377ca1678 100644
--- a/src/Microsoft.TestPlatform.Common/Filtering/FilterExpression.cs
+++ b/src/Microsoft.TestPlatform.Common/Filtering/FilterExpression.cs
@@ -10,7 +10,7 @@ namespace Microsoft.VisualStudio.TestPlatform.Common.Filtering
using System.Text.RegularExpressions;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
- using Microsoft.VisualStudio.TestPlatform.Utilities;
+ using CommonResources = Microsoft.VisualStudio.TestPlatform.Common.Resources.Resources;
///
/// Represents an expression tree.
@@ -121,7 +121,7 @@ private static void ProcessOperator(Stack filterStack, Operato
{
if (filterStack.Count < 2)
{
- throw new FormatException(string.Format(CultureInfo.CurrentCulture, Common.Resources.TestCaseFilterFormatException, Common.Resources.MissingOperand));
+ throw new FormatException(string.Format(CultureInfo.CurrentCulture, CommonResources.TestCaseFilterFormatException, CommonResources.MissingOperand));
}
var filterRight = filterStack.Pop();
@@ -133,7 +133,7 @@ private static void ProcessOperator(Stack filterStack, Operato
{
if (filterStack.Count < 2)
{
- throw new FormatException(string.Format(CultureInfo.CurrentCulture, Common.Resources.TestCaseFilterFormatException, Common.Resources.MissingOperand));
+ throw new FormatException(string.Format(CultureInfo.CurrentCulture, CommonResources.TestCaseFilterFormatException, CommonResources.MissingOperand));
}
var filterRight = filterStack.Pop();
@@ -143,12 +143,12 @@ private static void ProcessOperator(Stack filterStack, Operato
}
else if (op == Operator.OpenBrace)
{
- throw new FormatException(string.Format(CultureInfo.CurrentCulture, Common.Resources.TestCaseFilterFormatException, Common.Resources.MissingCloseParenthesis));
+ throw new FormatException(string.Format(CultureInfo.CurrentCulture, CommonResources.TestCaseFilterFormatException, CommonResources.MissingCloseParenthesis));
}
else
{
Debug.Assert(false, "ProcessOperator called for Unexpected operator.");
- throw new FormatException(string.Format(CultureInfo.CurrentCulture, Common.Resources.TestCaseFilterFormatException, string.Empty));
+ throw new FormatException(string.Format(CultureInfo.CurrentCulture, CommonResources.TestCaseFilterFormatException, string.Empty));
}
}
@@ -205,7 +205,7 @@ internal static FilterExpression Parse(string filterString)
var invalidInput = Regex.Match(filterString, @"\(\s*\)");
if (invalidInput.Success)
{
- throw new FormatException(string.Format(CultureInfo.CurrentCulture, Common.Resources.TestCaseFilterFormatException, Common.Resources.EmptyParenthesis));
+ throw new FormatException(string.Format(CultureInfo.CurrentCulture, CommonResources.TestCaseFilterFormatException, CommonResources.EmptyParenthesis));
}
var tokens = Regex.Split(filterString, filterExpressionSeperatorString);
@@ -260,7 +260,7 @@ internal static FilterExpression Parse(string filterString)
// If stack is empty at any time, than matching OpenBrace is missing from the expression.
if (operatorStack.Count == 0)
{
- throw new FormatException(string.Format(CultureInfo.CurrentCulture, Common.Resources.TestCaseFilterFormatException, Common.Resources.MissingOpenParenthesis));
+ throw new FormatException(string.Format(CultureInfo.CurrentCulture, CommonResources.TestCaseFilterFormatException, CommonResources.MissingOpenParenthesis));
}
Operator temp = operatorStack.Pop();
@@ -269,7 +269,7 @@ internal static FilterExpression Parse(string filterString)
ProcessOperator(filterStack, temp);
if (operatorStack.Count == 0)
{
- throw new FormatException(string.Format(CultureInfo.CurrentCulture, Common.Resources.TestCaseFilterFormatException, Common.Resources.MissingOpenParenthesis));
+ throw new FormatException(string.Format(CultureInfo.CurrentCulture, CommonResources.TestCaseFilterFormatException, CommonResources.MissingOpenParenthesis));
}
temp = operatorStack.Pop();
}
@@ -292,7 +292,7 @@ internal static FilterExpression Parse(string filterString)
if (filterStack.Count != 1)
{
- throw new FormatException(string.Format(CultureInfo.CurrentCulture, Common.Resources.TestCaseFilterFormatException, Common.Resources.MissingOperator));
+ throw new FormatException(string.Format(CultureInfo.CurrentCulture, CommonResources.TestCaseFilterFormatException, CommonResources.MissingOperator));
}
return filterStack.Pop();
diff --git a/src/Microsoft.TestPlatform.Common/Interfaces/Engine/ClientProtocol/ITestEngine.cs b/src/Microsoft.TestPlatform.Common/Interfaces/Engine/ClientProtocol/ITestEngine.cs
index 4fab2d95f2..24728d4e4c 100644
--- a/src/Microsoft.TestPlatform.Common/Interfaces/Engine/ClientProtocol/ITestEngine.cs
+++ b/src/Microsoft.TestPlatform.Common/Interfaces/Engine/ClientProtocol/ITestEngine.cs
@@ -36,9 +36,8 @@ public interface ITestEngine
/// Fetches the Test Host manager for this engine. This manager would provide extensibility
/// features that this engine supports.
///
- /// Architecture of the test run.
- /// Runtime framework for this run.
+ /// RunConfiguration information which contains info like Architecture, Framework for the test run.
/// Launcher for the test host process
- ITestHostManager GetDefaultTestHostManager(Architecture architecture, Framework framework);
+ ITestHostManager GetDefaultTestHostManager(RunConfiguration runConfiguration);
}
}
diff --git a/src/Microsoft.TestPlatform.Common/Logging/TestLoggerManager.cs b/src/Microsoft.TestPlatform.Common/Logging/TestLoggerManager.cs
index 7429e7d92a..a2f911e5c9 100644
--- a/src/Microsoft.TestPlatform.Common/Logging/TestLoggerManager.cs
+++ b/src/Microsoft.TestPlatform.Common/Logging/TestLoggerManager.cs
@@ -2,19 +2,20 @@
namespace Microsoft.VisualStudio.TestPlatform.Common.Logging
{
- using Microsoft.VisualStudio.TestPlatform.Common.Interfaces;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel.Utilities;
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
- using System.IO;
using System.Linq;
+
+ using Microsoft.VisualStudio.TestPlatform.Common.Interfaces;
using Microsoft.VisualStudio.TestPlatform.Common.Utilities;
- using CommonResources = Microsoft.VisualStudio.TestPlatform.Common.Resources;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Utilities;
+
+ using CommonResources = Microsoft.VisualStudio.TestPlatform.Common.Resources.Resources;
///
/// Responsible for managing logger extensions and broadcasting results
diff --git a/src/Microsoft.TestPlatform.Common/Logging/TestSessionMessageLogger.cs b/src/Microsoft.TestPlatform.Common/Logging/TestSessionMessageLogger.cs
index 4507aedfe2..afe36ce62c 100644
--- a/src/Microsoft.TestPlatform.Common/Logging/TestSessionMessageLogger.cs
+++ b/src/Microsoft.TestPlatform.Common/Logging/TestSessionMessageLogger.cs
@@ -7,6 +7,8 @@ namespace Microsoft.VisualStudio.TestPlatform.Common.Logging
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
using Microsoft.VisualStudio.TestPlatform.Utilities;
+
+ using ObjectModelCommonResources = Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources.CommonResources;
///
/// The test session message logger.
@@ -61,7 +63,7 @@ public void SendMessage(TestMessageLevel testMessageLevel, string message)
{
if (string.IsNullOrWhiteSpace(message))
{
- throw new ArgumentException(CommonResources.CannotBeNullOrEmpty, "message");
+ throw new ArgumentException(ObjectModelCommonResources.CannotBeNullOrEmpty, "message");
}
if (this.TreatTestAdapterErrorsAsWarnings
diff --git a/src/Microsoft.TestPlatform.Common/Resources.Designer.cs b/src/Microsoft.TestPlatform.Common/Resources/Resources.Designer.cs
similarity index 97%
rename from src/Microsoft.TestPlatform.Common/Resources.Designer.cs
rename to src/Microsoft.TestPlatform.Common/Resources/Resources.Designer.cs
index 120051e1c6..8f44995489 100644
--- a/src/Microsoft.TestPlatform.Common/Resources.Designer.cs
+++ b/src/Microsoft.TestPlatform.Common/Resources/Resources.Designer.cs
@@ -1,4 +1,4 @@
-//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace Microsoft.VisualStudio.TestPlatform.Common {
+namespace Microsoft.VisualStudio.TestPlatform.Common.Resources {
using System;
using System.Reflection;
@@ -38,7 +38,7 @@ internal Resources() {
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.Common.Resources", typeof(Resources).GetTypeInfo().Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.Common.Resources.Resources", typeof(Resources).GetTypeInfo().Assembly);
resourceMan = temp;
}
return resourceMan;
diff --git a/src/Microsoft.TestPlatform.Common/Resources.resx b/src/Microsoft.TestPlatform.Common/Resources/Resources.resx
similarity index 100%
rename from src/Microsoft.TestPlatform.Common/Resources.resx
rename to src/Microsoft.TestPlatform.Common/Resources/Resources.resx
diff --git a/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.cs.xlf b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.cs.xlf
new file mode 100644
index 0000000000..d78530ab99
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.cs.xlf
@@ -0,0 +1,112 @@
+
+
+
+
+
+ Diagnostic data adapter message: {0}
+ Diagnostic data adapter message: {0}
+
+
+
+ Diagnostic data adapter ('{0}') message: {1}.
+ Diagnostic data adapter ('{0}') message: {1}.
+
+
+
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+
+
+
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+
+
+
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+
+
+
+ Error: Empty parenthesis ( )
+ Error: Empty parenthesis ( )
+
+
+
+ Error: Invalid Condition '{0}'
+ Error: Invalid Condition '{0}'
+
+
+
+ Test Extension has an invalid URI '{0}': {1}
+ Test Extension has an invalid URI '{0}': {1}
+
+
+
+ Error: Invalid operator '{0}'
+ Error: Invalid operator '{0}'
+
+
+
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Error: Missing ')'
+ Error: Missing ')'
+
+
+
+ Error: Missing '('
+ Error: Missing '('
+
+
+
+ Error: Missing operand
+ Error: Missing operand
+
+
+
+ Missing Operator '|' or '&'
+ Missing Operator '|' or '&'
+
+
+
+ The Run Settings have already been loaded.
+ The Run Settings have already been loaded.
+
+
+
+ An error occurred while loading the run settings. Error: {0}
+ An error occurred while loading the run settings. Error: {0}
+
+
+
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+
+
+
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+
+
+
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+
+
+
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.de.xlf b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.de.xlf
new file mode 100644
index 0000000000..d513c75b27
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.de.xlf
@@ -0,0 +1,112 @@
+
+
+
+
+
+ Diagnostic data adapter message: {0}
+ Diagnostic data adapter message: {0}
+
+
+
+ Diagnostic data adapter ('{0}') message: {1}.
+ Diagnostic data adapter ('{0}') message: {1}.
+
+
+
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+
+
+
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+
+
+
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+
+
+
+ Error: Empty parenthesis ( )
+ Error: Empty parenthesis ( )
+
+
+
+ Error: Invalid Condition '{0}'
+ Error: Invalid Condition '{0}'
+
+
+
+ Test Extension has an invalid URI '{0}': {1}
+ Test Extension has an invalid URI '{0}': {1}
+
+
+
+ Error: Invalid operator '{0}'
+ Error: Invalid operator '{0}'
+
+
+
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Error: Missing ')'
+ Error: Missing ')'
+
+
+
+ Error: Missing '('
+ Error: Missing '('
+
+
+
+ Error: Missing operand
+ Error: Missing operand
+
+
+
+ Missing Operator '|' or '&'
+ Missing Operator '|' or '&'
+
+
+
+ The Run Settings have already been loaded.
+ The Run Settings have already been loaded.
+
+
+
+ An error occurred while loading the run settings. Error: {0}
+ An error occurred while loading the run settings. Error: {0}
+
+
+
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+
+
+
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+
+
+
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+
+
+
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.es.xlf b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.es.xlf
new file mode 100644
index 0000000000..79ff8a76cb
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.es.xlf
@@ -0,0 +1,112 @@
+
+
+
+
+
+ Diagnostic data adapter message: {0}
+ Diagnostic data adapter message: {0}
+
+
+
+ Diagnostic data adapter ('{0}') message: {1}.
+ Diagnostic data adapter ('{0}') message: {1}.
+
+
+
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+
+
+
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+
+
+
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+
+
+
+ Error: Empty parenthesis ( )
+ Error: Empty parenthesis ( )
+
+
+
+ Error: Invalid Condition '{0}'
+ Error: Invalid Condition '{0}'
+
+
+
+ Test Extension has an invalid URI '{0}': {1}
+ Test Extension has an invalid URI '{0}': {1}
+
+
+
+ Error: Invalid operator '{0}'
+ Error: Invalid operator '{0}'
+
+
+
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Error: Missing ')'
+ Error: Missing ')'
+
+
+
+ Error: Missing '('
+ Error: Missing '('
+
+
+
+ Error: Missing operand
+ Error: Missing operand
+
+
+
+ Missing Operator '|' or '&'
+ Missing Operator '|' or '&'
+
+
+
+ The Run Settings have already been loaded.
+ The Run Settings have already been loaded.
+
+
+
+ An error occurred while loading the run settings. Error: {0}
+ An error occurred while loading the run settings. Error: {0}
+
+
+
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+
+
+
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+
+
+
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+
+
+
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.fr.xlf b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.fr.xlf
new file mode 100644
index 0000000000..7b5db35c61
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.fr.xlf
@@ -0,0 +1,112 @@
+
+
+
+
+
+ Diagnostic data adapter message: {0}
+ Diagnostic data adapter message: {0}
+
+
+
+ Diagnostic data adapter ('{0}') message: {1}.
+ Diagnostic data adapter ('{0}') message: {1}.
+
+
+
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+
+
+
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+
+
+
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+
+
+
+ Error: Empty parenthesis ( )
+ Error: Empty parenthesis ( )
+
+
+
+ Error: Invalid Condition '{0}'
+ Error: Invalid Condition '{0}'
+
+
+
+ Test Extension has an invalid URI '{0}': {1}
+ Test Extension has an invalid URI '{0}': {1}
+
+
+
+ Error: Invalid operator '{0}'
+ Error: Invalid operator '{0}'
+
+
+
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Error: Missing ')'
+ Error: Missing ')'
+
+
+
+ Error: Missing '('
+ Error: Missing '('
+
+
+
+ Error: Missing operand
+ Error: Missing operand
+
+
+
+ Missing Operator '|' or '&'
+ Missing Operator '|' or '&'
+
+
+
+ The Run Settings have already been loaded.
+ The Run Settings have already been loaded.
+
+
+
+ An error occurred while loading the run settings. Error: {0}
+ An error occurred while loading the run settings. Error: {0}
+
+
+
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+
+
+
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+
+
+
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+
+
+
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.it.xlf b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.it.xlf
new file mode 100644
index 0000000000..888ea04744
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.it.xlf
@@ -0,0 +1,112 @@
+
+
+
+
+
+ Diagnostic data adapter message: {0}
+ Diagnostic data adapter message: {0}
+
+
+
+ Diagnostic data adapter ('{0}') message: {1}.
+ Diagnostic data adapter ('{0}') message: {1}.
+
+
+
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+
+
+
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+
+
+
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+
+
+
+ Error: Empty parenthesis ( )
+ Error: Empty parenthesis ( )
+
+
+
+ Error: Invalid Condition '{0}'
+ Error: Invalid Condition '{0}'
+
+
+
+ Test Extension has an invalid URI '{0}': {1}
+ Test Extension has an invalid URI '{0}': {1}
+
+
+
+ Error: Invalid operator '{0}'
+ Error: Invalid operator '{0}'
+
+
+
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Error: Missing ')'
+ Error: Missing ')'
+
+
+
+ Error: Missing '('
+ Error: Missing '('
+
+
+
+ Error: Missing operand
+ Error: Missing operand
+
+
+
+ Missing Operator '|' or '&'
+ Missing Operator '|' or '&'
+
+
+
+ The Run Settings have already been loaded.
+ The Run Settings have already been loaded.
+
+
+
+ An error occurred while loading the run settings. Error: {0}
+ An error occurred while loading the run settings. Error: {0}
+
+
+
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+
+
+
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+
+
+
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+
+
+
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.ja.xlf b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.ja.xlf
new file mode 100644
index 0000000000..f062aca1a7
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.ja.xlf
@@ -0,0 +1,112 @@
+
+
+
+
+
+ Diagnostic data adapter message: {0}
+ Diagnostic data adapter message: {0}
+
+
+
+ Diagnostic data adapter ('{0}') message: {1}.
+ Diagnostic data adapter ('{0}') message: {1}.
+
+
+
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+
+
+
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+
+
+
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+
+
+
+ Error: Empty parenthesis ( )
+ Error: Empty parenthesis ( )
+
+
+
+ Error: Invalid Condition '{0}'
+ Error: Invalid Condition '{0}'
+
+
+
+ Test Extension has an invalid URI '{0}': {1}
+ Test Extension has an invalid URI '{0}': {1}
+
+
+
+ Error: Invalid operator '{0}'
+ Error: Invalid operator '{0}'
+
+
+
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Error: Missing ')'
+ Error: Missing ')'
+
+
+
+ Error: Missing '('
+ Error: Missing '('
+
+
+
+ Error: Missing operand
+ Error: Missing operand
+
+
+
+ Missing Operator '|' or '&'
+ Missing Operator '|' or '&'
+
+
+
+ The Run Settings have already been loaded.
+ The Run Settings have already been loaded.
+
+
+
+ An error occurred while loading the run settings. Error: {0}
+ An error occurred while loading the run settings. Error: {0}
+
+
+
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+
+
+
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+
+
+
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+
+
+
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.ko.xlf b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.ko.xlf
new file mode 100644
index 0000000000..982aa3a7d6
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.ko.xlf
@@ -0,0 +1,112 @@
+
+
+
+
+
+ Diagnostic data adapter message: {0}
+ Diagnostic data adapter message: {0}
+
+
+
+ Diagnostic data adapter ('{0}') message: {1}.
+ Diagnostic data adapter ('{0}') message: {1}.
+
+
+
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+
+
+
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+
+
+
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+
+
+
+ Error: Empty parenthesis ( )
+ Error: Empty parenthesis ( )
+
+
+
+ Error: Invalid Condition '{0}'
+ Error: Invalid Condition '{0}'
+
+
+
+ Test Extension has an invalid URI '{0}': {1}
+ Test Extension has an invalid URI '{0}': {1}
+
+
+
+ Error: Invalid operator '{0}'
+ Error: Invalid operator '{0}'
+
+
+
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Error: Missing ')'
+ Error: Missing ')'
+
+
+
+ Error: Missing '('
+ Error: Missing '('
+
+
+
+ Error: Missing operand
+ Error: Missing operand
+
+
+
+ Missing Operator '|' or '&'
+ Missing Operator '|' or '&'
+
+
+
+ The Run Settings have already been loaded.
+ The Run Settings have already been loaded.
+
+
+
+ An error occurred while loading the run settings. Error: {0}
+ An error occurred while loading the run settings. Error: {0}
+
+
+
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+
+
+
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+
+
+
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+
+
+
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.pl.xlf b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.pl.xlf
new file mode 100644
index 0000000000..8136b809f3
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.pl.xlf
@@ -0,0 +1,112 @@
+
+
+
+
+
+ Diagnostic data adapter message: {0}
+ Diagnostic data adapter message: {0}
+
+
+
+ Diagnostic data adapter ('{0}') message: {1}.
+ Diagnostic data adapter ('{0}') message: {1}.
+
+
+
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+
+
+
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+
+
+
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+
+
+
+ Error: Empty parenthesis ( )
+ Error: Empty parenthesis ( )
+
+
+
+ Error: Invalid Condition '{0}'
+ Error: Invalid Condition '{0}'
+
+
+
+ Test Extension has an invalid URI '{0}': {1}
+ Test Extension has an invalid URI '{0}': {1}
+
+
+
+ Error: Invalid operator '{0}'
+ Error: Invalid operator '{0}'
+
+
+
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Error: Missing ')'
+ Error: Missing ')'
+
+
+
+ Error: Missing '('
+ Error: Missing '('
+
+
+
+ Error: Missing operand
+ Error: Missing operand
+
+
+
+ Missing Operator '|' or '&'
+ Missing Operator '|' or '&'
+
+
+
+ The Run Settings have already been loaded.
+ The Run Settings have already been loaded.
+
+
+
+ An error occurred while loading the run settings. Error: {0}
+ An error occurred while loading the run settings. Error: {0}
+
+
+
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+
+
+
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+
+
+
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+
+
+
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.pt-BR.xlf b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.pt-BR.xlf
new file mode 100644
index 0000000000..1cd25f2d21
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.pt-BR.xlf
@@ -0,0 +1,112 @@
+
+
+
+
+
+ Diagnostic data adapter message: {0}
+ Diagnostic data adapter message: {0}
+
+
+
+ Diagnostic data adapter ('{0}') message: {1}.
+ Diagnostic data adapter ('{0}') message: {1}.
+
+
+
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+
+
+
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+
+
+
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+
+
+
+ Error: Empty parenthesis ( )
+ Error: Empty parenthesis ( )
+
+
+
+ Error: Invalid Condition '{0}'
+ Error: Invalid Condition '{0}'
+
+
+
+ Test Extension has an invalid URI '{0}': {1}
+ Test Extension has an invalid URI '{0}': {1}
+
+
+
+ Error: Invalid operator '{0}'
+ Error: Invalid operator '{0}'
+
+
+
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Error: Missing ')'
+ Error: Missing ')'
+
+
+
+ Error: Missing '('
+ Error: Missing '('
+
+
+
+ Error: Missing operand
+ Error: Missing operand
+
+
+
+ Missing Operator '|' or '&'
+ Missing Operator '|' or '&'
+
+
+
+ The Run Settings have already been loaded.
+ The Run Settings have already been loaded.
+
+
+
+ An error occurred while loading the run settings. Error: {0}
+ An error occurred while loading the run settings. Error: {0}
+
+
+
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+
+
+
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+
+
+
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+
+
+
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.ru.xlf b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.ru.xlf
new file mode 100644
index 0000000000..0304b052ef
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.ru.xlf
@@ -0,0 +1,112 @@
+
+
+
+
+
+ Diagnostic data adapter message: {0}
+ Diagnostic data adapter message: {0}
+
+
+
+ Diagnostic data adapter ('{0}') message: {1}.
+ Diagnostic data adapter ('{0}') message: {1}.
+
+
+
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+
+
+
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+
+
+
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+
+
+
+ Error: Empty parenthesis ( )
+ Error: Empty parenthesis ( )
+
+
+
+ Error: Invalid Condition '{0}'
+ Error: Invalid Condition '{0}'
+
+
+
+ Test Extension has an invalid URI '{0}': {1}
+ Test Extension has an invalid URI '{0}': {1}
+
+
+
+ Error: Invalid operator '{0}'
+ Error: Invalid operator '{0}'
+
+
+
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Error: Missing ')'
+ Error: Missing ')'
+
+
+
+ Error: Missing '('
+ Error: Missing '('
+
+
+
+ Error: Missing operand
+ Error: Missing operand
+
+
+
+ Missing Operator '|' or '&'
+ Missing Operator '|' or '&'
+
+
+
+ The Run Settings have already been loaded.
+ The Run Settings have already been loaded.
+
+
+
+ An error occurred while loading the run settings. Error: {0}
+ An error occurred while loading the run settings. Error: {0}
+
+
+
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+
+
+
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+
+
+
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+
+
+
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.tr.xlf b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.tr.xlf
new file mode 100644
index 0000000000..f22bc802b6
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.tr.xlf
@@ -0,0 +1,112 @@
+
+
+
+
+
+ Diagnostic data adapter message: {0}
+ Diagnostic data adapter message: {0}
+
+
+
+ Diagnostic data adapter ('{0}') message: {1}.
+ Diagnostic data adapter ('{0}') message: {1}.
+
+
+
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+
+
+
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+
+
+
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+
+
+
+ Error: Empty parenthesis ( )
+ Error: Empty parenthesis ( )
+
+
+
+ Error: Invalid Condition '{0}'
+ Error: Invalid Condition '{0}'
+
+
+
+ Test Extension has an invalid URI '{0}': {1}
+ Test Extension has an invalid URI '{0}': {1}
+
+
+
+ Error: Invalid operator '{0}'
+ Error: Invalid operator '{0}'
+
+
+
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Error: Missing ')'
+ Error: Missing ')'
+
+
+
+ Error: Missing '('
+ Error: Missing '('
+
+
+
+ Error: Missing operand
+ Error: Missing operand
+
+
+
+ Missing Operator '|' or '&'
+ Missing Operator '|' or '&'
+
+
+
+ The Run Settings have already been loaded.
+ The Run Settings have already been loaded.
+
+
+
+ An error occurred while loading the run settings. Error: {0}
+ An error occurred while loading the run settings. Error: {0}
+
+
+
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+
+
+
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+
+
+
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+
+
+
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.xlf b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.xlf
new file mode 100644
index 0000000000..bc50f7fa3d
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.xlf
@@ -0,0 +1,91 @@
+
+
+
+
+
+ Diagnostic data adapter message: {0}
+
+
+
+ Diagnostic data adapter ('{0}') message: {1}.
+
+
+
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+
+
+
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+
+
+
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+
+
+
+ Error: Empty parenthesis ( )
+
+
+
+ Error: Invalid Condition '{0}'
+
+
+
+ Test Extension has an invalid URI '{0}': {1}
+
+
+
+ Error: Invalid operator '{0}'
+
+
+
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Error: Missing ')'
+
+
+
+ Error: Missing '('
+
+
+
+ Error: Missing operand
+
+
+
+ Missing Operator '|' or '&'
+
+
+
+ The Run Settings have already been loaded.
+
+
+
+ An error occurred while loading the run settings. Error: {0}
+
+
+
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+
+
+
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+
+
+
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+
+
+
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.zh-Hans.xlf b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.zh-Hans.xlf
new file mode 100644
index 0000000000..71102fa624
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.zh-Hans.xlf
@@ -0,0 +1,112 @@
+
+
+
+
+
+ Diagnostic data adapter message: {0}
+ Diagnostic data adapter message: {0}
+
+
+
+ Diagnostic data adapter ('{0}') message: {1}.
+ Diagnostic data adapter ('{0}') message: {1}.
+
+
+
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+
+
+
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+
+
+
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+
+
+
+ Error: Empty parenthesis ( )
+ Error: Empty parenthesis ( )
+
+
+
+ Error: Invalid Condition '{0}'
+ Error: Invalid Condition '{0}'
+
+
+
+ Test Extension has an invalid URI '{0}': {1}
+ Test Extension has an invalid URI '{0}': {1}
+
+
+
+ Error: Invalid operator '{0}'
+ Error: Invalid operator '{0}'
+
+
+
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Error: Missing ')'
+ Error: Missing ')'
+
+
+
+ Error: Missing '('
+ Error: Missing '('
+
+
+
+ Error: Missing operand
+ Error: Missing operand
+
+
+
+ Missing Operator '|' or '&'
+ Missing Operator '|' or '&'
+
+
+
+ The Run Settings have already been loaded.
+ The Run Settings have already been loaded.
+
+
+
+ An error occurred while loading the run settings. Error: {0}
+ An error occurred while loading the run settings. Error: {0}
+
+
+
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+
+
+
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+
+
+
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+
+
+
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.zh-Hant.xlf b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.zh-Hant.xlf
new file mode 100644
index 0000000000..57487d48e7
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Common/Resources/xlf/Resources.zh-Hant.xlf
@@ -0,0 +1,112 @@
+
+
+
+
+
+ Diagnostic data adapter message: {0}
+ Diagnostic data adapter message: {0}
+
+
+
+ Diagnostic data adapter ('{0}') message: {1}.
+ Diagnostic data adapter ('{0}') message: {1}.
+
+
+
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+ Duplicate test extension URI '{0}'. Ignoring the duplicate extension.
+
+
+
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+ Duplicate settings provider named '{0}'. Ignoring the duplicate provider.
+
+
+
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+ Duplicated run settings section named '{0}' found. Ignoring the duplicate settings.
+
+
+
+ Error: Empty parenthesis ( )
+ Error: Empty parenthesis ( )
+
+
+
+ Error: Invalid Condition '{0}'
+ Error: Invalid Condition '{0}'
+
+
+
+ Test Extension has an invalid URI '{0}': {1}
+ Test Extension has an invalid URI '{0}': {1}
+
+
+
+ Error: Invalid operator '{0}'
+ Error: Invalid operator '{0}'
+
+
+
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+ Exception occurred while initializing logger with URI '{0}'. The logger will not be used. Exception: {1}
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Error: Missing ')'
+ Error: Missing ')'
+
+
+
+ Error: Missing '('
+ Error: Missing '('
+
+
+
+ Error: Missing operand
+ Error: Missing operand
+
+
+
+ Missing Operator '|' or '&'
+ Missing Operator '|' or '&'
+
+
+
+ The Run Settings have already been loaded.
+ The Run Settings have already been loaded.
+
+
+
+ An error occurred while loading the run settings. Error: {0}
+ An error occurred while loading the run settings. Error: {0}
+
+
+
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+ Invalid settings node specified. The name property of the settings node must be non-empty.
+
+
+
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+ An error occurred while initializing the settings provider named '{0}'. Error: {1}
+
+
+
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+ Settings Provider named '{0}' was not found. The settings can not be loaded.
+
+
+
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+ Incorrect format for TestCaseFilter {0}. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Common/RunSettings.cs b/src/Microsoft.TestPlatform.Common/RunSettings.cs
index 4258e71c4e..ec2f78de22 100644
--- a/src/Microsoft.TestPlatform.Common/RunSettings.cs
+++ b/src/Microsoft.TestPlatform.Common/RunSettings.cs
@@ -18,6 +18,9 @@ namespace Microsoft.VisualStudio.TestPlatform.Common
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Utilities;
+ using CommonResources = Microsoft.VisualStudio.TestPlatform.Common.Resources.Resources;
+ using ObjectModelCommonResources = Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources.CommonResources;
+
///
/// Used for loading settings for a run.
///
@@ -66,7 +69,7 @@ public ISettingsProvider GetSettings(string settingsName)
{
if (StringUtilities.IsNullOrWhiteSpace(settingsName))
{
- throw new ArgumentException(CommonResources.CannotBeNullOrEmpty, "settingsName");
+ throw new ArgumentException(ObjectModelCommonResources.CannotBeNullOrEmpty, "settingsName");
}
// Try and lookup the settings provider.
@@ -91,7 +94,7 @@ public void LoadSettingsXml(string settings)
{
if (StringUtilities.IsNullOrWhiteSpace(settings))
{
- throw new ArgumentException(CommonResources.CannotBeNullOrEmpty, settings);
+ throw new ArgumentException(ObjectModelCommonResources.CannotBeNullOrEmpty, settings);
}
using (var stringReader = new StringReader(settings))
@@ -140,7 +143,7 @@ private void ValidateAndSaveSettings(XmlReader reader)
throw new SettingsException(
string.Format(
CultureInfo.CurrentCulture,
- Resources.RunSettingsParseError,
+ CommonResources.RunSettingsParseError,
e.Message),
e);
}
@@ -155,7 +158,7 @@ private void ReadRunSettings(XmlReader reader)
// If settings have already been loaded, throw.
if (this.isSettingsLoaded)
{
- throw new InvalidOperationException(Resources.RunSettingsAlreadyLoaded);
+ throw new InvalidOperationException(CommonResources.RunSettingsAlreadyLoaded);
}
this.isSettingsLoaded = true;
@@ -185,7 +188,7 @@ private void ReadRunSettings(XmlReader reader)
throw new SettingsException(
string.Format(
CultureInfo.CurrentCulture,
- Resources.RunSettingsParseError,
+ CommonResources.RunSettingsParseError,
e.Message),
e);
}
@@ -207,7 +210,7 @@ private void LoadSection(XmlReader reader, SettingsProviderExtensionManager sett
{
TestSessionMessageLogger.Instance.SendMessage(
TestMessageLevel.Error,
- string.Format(CultureInfo.CurrentCulture, Resources.DuplicateSettingsProvided, reader.Name));
+ string.Format(CultureInfo.CurrentCulture, CommonResources.DuplicateSettingsProvided, reader.Name));
return;
}
@@ -228,7 +231,7 @@ private void LoadSection(XmlReader reader, SettingsProviderExtensionManager sett
provider = CreateLazyThrower(
string.Format(
CultureInfo.CurrentCulture,
- Resources.SettingsProviderInitializationError,
+ CommonResources.SettingsProviderInitializationError,
provider.Metadata.SettingsName,
e.Message),
provider.Metadata,
@@ -242,7 +245,7 @@ private void LoadSection(XmlReader reader, SettingsProviderExtensionManager sett
var message = string.Format(
CultureInfo.CurrentCulture,
- Resources.SettingsProviderNotFound,
+ CommonResources.SettingsProviderNotFound,
metadata.SettingsName);
provider = CreateLazyThrower(message, metadata);
diff --git a/src/Microsoft.TestPlatform.Common/SettingsProvider/SettingsProviderExtensionManager.cs b/src/Microsoft.TestPlatform.Common/SettingsProvider/SettingsProviderExtensionManager.cs
index 1ddbb171df..b019c182d4 100644
--- a/src/Microsoft.TestPlatform.Common/SettingsProvider/SettingsProviderExtensionManager.cs
+++ b/src/Microsoft.TestPlatform.Common/SettingsProvider/SettingsProviderExtensionManager.cs
@@ -16,6 +16,9 @@ namespace Microsoft.VisualStudio.TestPlatform.Common.SettingsProvider
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
using Microsoft.VisualStudio.TestPlatform.Utilities;
+ using CommonResources = Microsoft.VisualStudio.TestPlatform.Common.Resources.Resources;
+ using ObjectModelCommonResources = Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources.CommonResources;
+
///
/// Manages the settings provider extensions.
///
@@ -181,7 +184,7 @@ internal LazyExtension GetSett
{
if (string.IsNullOrWhiteSpace(settingsName))
{
- throw new ArgumentException(CommonResources.CannotBeNullOrEmpty, "settingsName");
+ throw new ArgumentException(ObjectModelCommonResources.CannotBeNullOrEmpty, "settingsName");
}
LazyExtension settingsProvider;
@@ -208,7 +211,7 @@ private void PopulateMap()
TestMessageLevel.Error,
string.Format(
CultureInfo.CurrentUICulture,
- Common.Resources.DuplicateSettingsName,
+ CommonResources.DuplicateSettingsName,
settingsProvider.Metadata.SettingsName));
}
else
diff --git a/src/Microsoft.TestPlatform.Common/project.json b/src/Microsoft.TestPlatform.Common/project.json
index cb924495c3..32e51fc756 100644
--- a/src/Microsoft.TestPlatform.Common/project.json
+++ b/src/Microsoft.TestPlatform.Common/project.json
@@ -4,7 +4,8 @@
"outputName": "Microsoft.VisualStudio.TestPlatform.Common",
"delaySign": true,
"keyFile": "../../scripts/key.snk",
- "warningsAsErrors": true
+ "warningsAsErrors": true,
+ "embed": [ "Resources/*.resx" ]
},
"dependencies": {
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Messages/MessageType.cs b/src/Microsoft.TestPlatform.CommunicationUtilities/Messages/MessageType.cs
index a07b853e9b..4d699c0876 100644
--- a/src/Microsoft.TestPlatform.CommunicationUtilities/Messages/MessageType.cs
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Messages/MessageType.cs
@@ -160,6 +160,5 @@ public static class MessageType
public const string AfterTestRunEndResult = "DataCollection.AfterTestRunEndResult";
#endregion
-
}
}
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Resources.Designer.cs b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/Resources.Designer.cs
similarity index 97%
rename from src/Microsoft.TestPlatform.CommunicationUtilities/Resources.Designer.cs
rename to src/Microsoft.TestPlatform.CommunicationUtilities/Resources/Resources.Designer.cs
index da33c7aa8a..cdb89d1fb2 100644
--- a/src/Microsoft.TestPlatform.CommunicationUtilities/Resources.Designer.cs
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/Resources.Designer.cs
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace Microsoft.VisualStudio.TestPlatform.CommunicationUtilities {
+namespace Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Resources {
using System;
using System.Reflection;
@@ -38,7 +38,7 @@ internal Resources() {
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.CommunicationUtilities.Resources", typeof(Resources).GetTypeInfo().Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.CommunicationUtilities.Resources.Resources", typeof(Resources).GetTypeInfo().Assembly);
resourceMan = temp;
}
return resourceMan;
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Resources.resx b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/Resources.resx
similarity index 100%
rename from src/Microsoft.TestPlatform.CommunicationUtilities/Resources.resx
rename to src/Microsoft.TestPlatform.CommunicationUtilities/Resources/Resources.resx
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.cs.xlf b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.cs.xlf
new file mode 100644
index 0000000000..8e558642a2
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.cs.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Test Run was aborted.
+ The active Test Run was aborted.
+
+
+
+ An existing connection was forcibly closed by the remote host.
+ An existing connection was forcibly closed by the remote host.
+
+
+
+ The active Test Discovery was aborted.
+ The active Test Discovery was aborted.
+
+
+
+ Unable to communicate with test execution process.
+ Unable to communicate with test execution process.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.de.xlf b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.de.xlf
new file mode 100644
index 0000000000..02f10d4d69
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.de.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Test Run was aborted.
+ The active Test Run was aborted.
+
+
+
+ An existing connection was forcibly closed by the remote host.
+ An existing connection was forcibly closed by the remote host.
+
+
+
+ The active Test Discovery was aborted.
+ The active Test Discovery was aborted.
+
+
+
+ Unable to communicate with test execution process.
+ Unable to communicate with test execution process.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.es.xlf b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.es.xlf
new file mode 100644
index 0000000000..c04bdf92a5
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.es.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Test Run was aborted.
+ The active Test Run was aborted.
+
+
+
+ An existing connection was forcibly closed by the remote host.
+ An existing connection was forcibly closed by the remote host.
+
+
+
+ The active Test Discovery was aborted.
+ The active Test Discovery was aborted.
+
+
+
+ Unable to communicate with test execution process.
+ Unable to communicate with test execution process.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.fr.xlf b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.fr.xlf
new file mode 100644
index 0000000000..f4a14529d8
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.fr.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Test Run was aborted.
+ The active Test Run was aborted.
+
+
+
+ An existing connection was forcibly closed by the remote host.
+ An existing connection was forcibly closed by the remote host.
+
+
+
+ The active Test Discovery was aborted.
+ The active Test Discovery was aborted.
+
+
+
+ Unable to communicate with test execution process.
+ Unable to communicate with test execution process.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.it.xlf b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.it.xlf
new file mode 100644
index 0000000000..cb9d91fbc2
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.it.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Test Run was aborted.
+ The active Test Run was aborted.
+
+
+
+ An existing connection was forcibly closed by the remote host.
+ An existing connection was forcibly closed by the remote host.
+
+
+
+ The active Test Discovery was aborted.
+ The active Test Discovery was aborted.
+
+
+
+ Unable to communicate with test execution process.
+ Unable to communicate with test execution process.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.ja.xlf b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.ja.xlf
new file mode 100644
index 0000000000..756921912e
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.ja.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Test Run was aborted.
+ The active Test Run was aborted.
+
+
+
+ An existing connection was forcibly closed by the remote host.
+ An existing connection was forcibly closed by the remote host.
+
+
+
+ The active Test Discovery was aborted.
+ The active Test Discovery was aborted.
+
+
+
+ Unable to communicate with test execution process.
+ Unable to communicate with test execution process.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.ko.xlf b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.ko.xlf
new file mode 100644
index 0000000000..f8ceabd64f
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.ko.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Test Run was aborted.
+ The active Test Run was aborted.
+
+
+
+ An existing connection was forcibly closed by the remote host.
+ An existing connection was forcibly closed by the remote host.
+
+
+
+ The active Test Discovery was aborted.
+ The active Test Discovery was aborted.
+
+
+
+ Unable to communicate with test execution process.
+ Unable to communicate with test execution process.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.pl.xlf b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.pl.xlf
new file mode 100644
index 0000000000..d387ea8c95
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.pl.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Test Run was aborted.
+ The active Test Run was aborted.
+
+
+
+ An existing connection was forcibly closed by the remote host.
+ An existing connection was forcibly closed by the remote host.
+
+
+
+ The active Test Discovery was aborted.
+ The active Test Discovery was aborted.
+
+
+
+ Unable to communicate with test execution process.
+ Unable to communicate with test execution process.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.pt-BR.xlf b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.pt-BR.xlf
new file mode 100644
index 0000000000..61bde08185
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.pt-BR.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Test Run was aborted.
+ The active Test Run was aborted.
+
+
+
+ An existing connection was forcibly closed by the remote host.
+ An existing connection was forcibly closed by the remote host.
+
+
+
+ The active Test Discovery was aborted.
+ The active Test Discovery was aborted.
+
+
+
+ Unable to communicate with test execution process.
+ Unable to communicate with test execution process.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.ru.xlf b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.ru.xlf
new file mode 100644
index 0000000000..8dc9f28a72
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.ru.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Test Run was aborted.
+ The active Test Run was aborted.
+
+
+
+ An existing connection was forcibly closed by the remote host.
+ An existing connection was forcibly closed by the remote host.
+
+
+
+ The active Test Discovery was aborted.
+ The active Test Discovery was aborted.
+
+
+
+ Unable to communicate with test execution process.
+ Unable to communicate with test execution process.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.tr.xlf b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.tr.xlf
new file mode 100644
index 0000000000..7fbf81930b
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.tr.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Test Run was aborted.
+ The active Test Run was aborted.
+
+
+
+ An existing connection was forcibly closed by the remote host.
+ An existing connection was forcibly closed by the remote host.
+
+
+
+ The active Test Discovery was aborted.
+ The active Test Discovery was aborted.
+
+
+
+ Unable to communicate with test execution process.
+ Unable to communicate with test execution process.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.xlf b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.xlf
new file mode 100644
index 0000000000..4224f724a0
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.xlf
@@ -0,0 +1,23 @@
+
+
+
+
+
+ The active Test Run was aborted.
+
+
+
+ An existing connection was forcibly closed by the remote host.
+
+
+
+ The active Test Discovery was aborted.
+
+
+
+ Unable to communicate with test execution process.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.zh-Hans.xlf b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.zh-Hans.xlf
new file mode 100644
index 0000000000..3282762901
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.zh-Hans.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Test Run was aborted.
+ The active Test Run was aborted.
+
+
+
+ An existing connection was forcibly closed by the remote host.
+ An existing connection was forcibly closed by the remote host.
+
+
+
+ The active Test Discovery was aborted.
+ The active Test Discovery was aborted.
+
+
+
+ Unable to communicate with test execution process.
+ Unable to communicate with test execution process.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.zh-Hant.xlf b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.zh-Hant.xlf
new file mode 100644
index 0000000000..141d5083c9
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Resources/xlf/Resources.zh-Hant.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Test Run was aborted.
+ The active Test Run was aborted.
+
+
+
+ An existing connection was forcibly closed by the remote host.
+ An existing connection was forcibly closed by the remote host.
+
+
+
+ The active Test Discovery was aborted.
+ The active Test Discovery was aborted.
+
+
+
+ Unable to communicate with test execution process.
+ Unable to communicate with test execution process.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/SocketCommunicationManager.cs b/src/Microsoft.TestPlatform.CommunicationUtilities/SocketCommunicationManager.cs
index 4ce6135b01..6a51caad6d 100644
--- a/src/Microsoft.TestPlatform.CommunicationUtilities/SocketCommunicationManager.cs
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/SocketCommunicationManager.cs
@@ -64,12 +64,17 @@ public class SocketCommunicationManager : ICommunicationManager
///
private NetworkStream stream;
+ private Socket socket;
+
///
- /// The server stream read timeout constant.
+ /// The server stream read timeout constant (in microseconds).
///
- private const int StreamReadTimeout = 1000;
+ private const int StreamReadTimeout = 1000 * 1000;
- public SocketCommunicationManager(): this(JsonDataSerializer.Instance)
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public SocketCommunicationManager() : this(JsonDataSerializer.Instance)
{
}
@@ -107,6 +112,7 @@ public async Task AcceptClientAsync()
this.clientConnectedEvent.Reset();
var client = await this.tcpListener.AcceptTcpClientAsync();
+ this.socket = client.Client;
this.stream = client.GetStream();
this.binaryReader = new BinaryReader(this.stream);
this.binaryWriter = new BinaryWriter(this.stream);
@@ -150,6 +156,7 @@ public async Task SetupClientAsync(int portNumber)
this.clientConnectionAcceptedEvent.Reset();
EqtTrace.Info("Trying to connect to server on port : {0}", portNumber);
this.tcpClient = new TcpClient();
+ this.socket = this.tcpClient.Client;
await this.tcpClient.ConnectAsync(IPAddress.Loopback, portNumber);
this.stream = this.tcpClient.GetStream();
this.binaryReader = new BinaryReader(this.stream);
@@ -292,13 +299,15 @@ private string TryReceiveRawMessage(CancellationToken cancellationToken)
bool success = false;
// Set read timeout to avoid blocking receive raw message
- this.stream.ReadTimeout = StreamReadTimeout;
while (!cancellationToken.IsCancellationRequested && !success)
{
try
{
- str = this.ReceiveRawMessage();
- success = true;
+ if (this.socket.Poll(StreamReadTimeout, SelectMode.SelectRead))
+ {
+ str = this.ReceiveRawMessage();
+ success = true;
+ }
}
catch (IOException ioException)
{
@@ -327,7 +336,6 @@ private string TryReceiveRawMessage(CancellationToken cancellationToken)
}
}
- this.stream.ReadTimeout = -1;
return str;
}
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/TestRequestSender.cs b/src/Microsoft.TestPlatform.CommunicationUtilities/TestRequestSender.cs
index 746e53e67e..8ae430deca 100644
--- a/src/Microsoft.TestPlatform.CommunicationUtilities/TestRequestSender.cs
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/TestRequestSender.cs
@@ -1,4 +1,5 @@
// Copyright (c) Microsoft. All rights reserved.
+
namespace Microsoft.VisualStudio.TestPlatform.CommunicationUtilities
{
using System;
@@ -13,6 +14,8 @@ namespace Microsoft.VisualStudio.TestPlatform.CommunicationUtilities
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
+ using CommonResources = Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Resources.Resources;
+
///
/// Utility class that facilitates the IPC comunication. Acts as server.
///
@@ -276,10 +279,10 @@ private void OnTestRunAbort(ITestRunEventsHandler testRunEventsHandler, Exceptio
EqtTrace.Error("Server: TestExecution: Aborting test run because {0}", exception);
// log console message to vstest console
- testRunEventsHandler.HandleLogMessage(TestMessageLevel.Error, Resources.AbortedTestRun);
+ testRunEventsHandler.HandleLogMessage(TestMessageLevel.Error, CommonResources.AbortedTestRun);
// log console message to vstest console wrapper
- var testMessagePayload = new TestMessagePayload { MessageLevel = TestMessageLevel.Error, Message = Resources.AbortedTestRun };
+ var testMessagePayload = new TestMessagePayload { MessageLevel = TestMessageLevel.Error, Message = CommonResources.AbortedTestRun };
var rawMessage = this.dataSerializer.SerializePayload(MessageType.TestMessage, testMessagePayload);
testRunEventsHandler.HandleRawMessage(rawMessage);
@@ -298,10 +301,10 @@ private void OnTestRunAbort(ITestRunEventsHandler testRunEventsHandler, Exceptio
private void OnDiscoveryAbort(ITestDiscoveryEventsHandler eventHandler)
{
// Log to vstest console
- eventHandler.HandleLogMessage(TestMessageLevel.Error, Resources.AbortedTestDiscovery);
+ eventHandler.HandleLogMessage(TestMessageLevel.Error, CommonResources.AbortedTestDiscovery);
// Log to vs ide test output
- var testMessagePayload = new TestMessagePayload { MessageLevel = TestMessageLevel.Error, Message = Resources.AbortedTestDiscovery };
+ var testMessagePayload = new TestMessagePayload { MessageLevel = TestMessageLevel.Error, Message = CommonResources.AbortedTestDiscovery };
var rawMessage = this.dataSerializer.SerializePayload(MessageType.TestMessage, testMessagePayload);
eventHandler.HandleRawMessage(rawMessage);
@@ -349,7 +352,7 @@ private string TryReceiveRawMessage()
if (message == null)
{
EqtTrace.Error("Unable to receive message from testhost");
- throw new IOException(Resources.UnableToCommunicateToTestHost);
+ throw new IOException(CommonResources.UnableToCommunicateToTestHost);
}
return message;
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/project.json b/src/Microsoft.TestPlatform.CommunicationUtilities/project.json
index 6fadf142bd..27ca258bf6 100644
--- a/src/Microsoft.TestPlatform.CommunicationUtilities/project.json
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/project.json
@@ -3,7 +3,8 @@
"buildOptions": {
"delaySign": true,
"keyFile": "../../scripts/key.snk",
- "warningsAsErrors": true
+ "warningsAsErrors": true,
+ "embed": [ "Resources/*.resx" ]
},
"dependencies": {
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Output/OutputUtilities.cs b/src/Microsoft.TestPlatform.CoreUtilities/Output/OutputUtilities.cs
index f049232d49..551982cbd2 100644
--- a/src/Microsoft.TestPlatform.CoreUtilities/Output/OutputUtilities.cs
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Output/OutputUtilities.cs
@@ -7,6 +7,7 @@ namespace Microsoft.VisualStudio.TestPlatform.Utilities
using System.Globalization;
using Microsoft.VisualStudio.TestPlatform.CoreUtilities;
+ using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Resources;
///
/// Utility Methods for sending output to IOutput.
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Resources.Designer.cs b/src/Microsoft.TestPlatform.CoreUtilities/Resources/Resources.Designer.cs
similarity index 97%
rename from src/Microsoft.TestPlatform.CoreUtilities/Resources.Designer.cs
rename to src/Microsoft.TestPlatform.CoreUtilities/Resources/Resources.Designer.cs
index a950fd8033..6a0a66e2a9 100644
--- a/src/Microsoft.TestPlatform.CoreUtilities/Resources.Designer.cs
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Resources/Resources.Designer.cs
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace Microsoft.VisualStudio.TestPlatform.CoreUtilities {
+namespace Microsoft.VisualStudio.TestPlatform.CoreUtilities.Resources {
using System;
using System.Reflection;
@@ -38,7 +38,7 @@ internal Resources() {
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.CoreUtilities.Resources", typeof(Resources).GetTypeInfo().Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.CoreUtilities.Resources.Resources", typeof(Resources).GetTypeInfo().Assembly);
resourceMan = temp;
}
return resourceMan;
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Resources.resx b/src/Microsoft.TestPlatform.CoreUtilities/Resources/Resources.resx
similarity index 100%
rename from src/Microsoft.TestPlatform.CoreUtilities/Resources.resx
rename to src/Microsoft.TestPlatform.CoreUtilities/Resources/Resources.resx
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.cs.xlf b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.cs.xlf
new file mode 100644
index 0000000000..08c6f348c8
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.cs.xlf
@@ -0,0 +1,82 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ The specified argument cannot be empty.
+ The specified argument cannot be empty.
+
+
+
+ The specified argument cannot be negative.
+ The specified argument cannot be negative.
+
+
+
+ The specified argument must have the following type: {0}.
+ The specified argument must have the following type: {0}.
+
+
+
+ The specified argument has the following property, which cannot be an empty string: {0}.
+ The specified argument has the following property, which cannot be an empty string: {0}.
+
+
+
+ The specified argument has the following property, which cannot be negative: {0}.
+ The specified argument has the following property, which cannot be negative: {0}.
+
+
+
+ The specified argument has the following property, which cannot be null: {0}.
+ The specified argument has the following property, which cannot be null: {0}.
+
+
+
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+
+
+
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+
+
+
+ The {0} queue has already been disposed.
+ The {0} queue has already been disposed.
+
+
+
+ The {0} queue cannot be disposed while paused.
+ The {0} queue cannot be disposed while paused.
+
+
+
+ Error getting process name.
+ Error getting process name.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.de.xlf b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.de.xlf
new file mode 100644
index 0000000000..4c51e7909d
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.de.xlf
@@ -0,0 +1,82 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ The specified argument cannot be empty.
+ The specified argument cannot be empty.
+
+
+
+ The specified argument cannot be negative.
+ The specified argument cannot be negative.
+
+
+
+ The specified argument must have the following type: {0}.
+ The specified argument must have the following type: {0}.
+
+
+
+ The specified argument has the following property, which cannot be an empty string: {0}.
+ The specified argument has the following property, which cannot be an empty string: {0}.
+
+
+
+ The specified argument has the following property, which cannot be negative: {0}.
+ The specified argument has the following property, which cannot be negative: {0}.
+
+
+
+ The specified argument has the following property, which cannot be null: {0}.
+ The specified argument has the following property, which cannot be null: {0}.
+
+
+
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+
+
+
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+
+
+
+ The {0} queue has already been disposed.
+ The {0} queue has already been disposed.
+
+
+
+ The {0} queue cannot be disposed while paused.
+ The {0} queue cannot be disposed while paused.
+
+
+
+ Error getting process name.
+ Error getting process name.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.es.xlf b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.es.xlf
new file mode 100644
index 0000000000..e66db20420
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.es.xlf
@@ -0,0 +1,82 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ The specified argument cannot be empty.
+ The specified argument cannot be empty.
+
+
+
+ The specified argument cannot be negative.
+ The specified argument cannot be negative.
+
+
+
+ The specified argument must have the following type: {0}.
+ The specified argument must have the following type: {0}.
+
+
+
+ The specified argument has the following property, which cannot be an empty string: {0}.
+ The specified argument has the following property, which cannot be an empty string: {0}.
+
+
+
+ The specified argument has the following property, which cannot be negative: {0}.
+ The specified argument has the following property, which cannot be negative: {0}.
+
+
+
+ The specified argument has the following property, which cannot be null: {0}.
+ The specified argument has the following property, which cannot be null: {0}.
+
+
+
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+
+
+
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+
+
+
+ The {0} queue has already been disposed.
+ The {0} queue has already been disposed.
+
+
+
+ The {0} queue cannot be disposed while paused.
+ The {0} queue cannot be disposed while paused.
+
+
+
+ Error getting process name.
+ Error getting process name.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.fr.xlf b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.fr.xlf
new file mode 100644
index 0000000000..f3200948ab
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.fr.xlf
@@ -0,0 +1,82 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ The specified argument cannot be empty.
+ The specified argument cannot be empty.
+
+
+
+ The specified argument cannot be negative.
+ The specified argument cannot be negative.
+
+
+
+ The specified argument must have the following type: {0}.
+ The specified argument must have the following type: {0}.
+
+
+
+ The specified argument has the following property, which cannot be an empty string: {0}.
+ The specified argument has the following property, which cannot be an empty string: {0}.
+
+
+
+ The specified argument has the following property, which cannot be negative: {0}.
+ The specified argument has the following property, which cannot be negative: {0}.
+
+
+
+ The specified argument has the following property, which cannot be null: {0}.
+ The specified argument has the following property, which cannot be null: {0}.
+
+
+
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+
+
+
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+
+
+
+ The {0} queue has already been disposed.
+ The {0} queue has already been disposed.
+
+
+
+ The {0} queue cannot be disposed while paused.
+ The {0} queue cannot be disposed while paused.
+
+
+
+ Error getting process name.
+ Error getting process name.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.it.xlf b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.it.xlf
new file mode 100644
index 0000000000..2760041262
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.it.xlf
@@ -0,0 +1,82 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ The specified argument cannot be empty.
+ The specified argument cannot be empty.
+
+
+
+ The specified argument cannot be negative.
+ The specified argument cannot be negative.
+
+
+
+ The specified argument must have the following type: {0}.
+ The specified argument must have the following type: {0}.
+
+
+
+ The specified argument has the following property, which cannot be an empty string: {0}.
+ The specified argument has the following property, which cannot be an empty string: {0}.
+
+
+
+ The specified argument has the following property, which cannot be negative: {0}.
+ The specified argument has the following property, which cannot be negative: {0}.
+
+
+
+ The specified argument has the following property, which cannot be null: {0}.
+ The specified argument has the following property, which cannot be null: {0}.
+
+
+
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+
+
+
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+
+
+
+ The {0} queue has already been disposed.
+ The {0} queue has already been disposed.
+
+
+
+ The {0} queue cannot be disposed while paused.
+ The {0} queue cannot be disposed while paused.
+
+
+
+ Error getting process name.
+ Error getting process name.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.ja.xlf b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.ja.xlf
new file mode 100644
index 0000000000..f16b81afa0
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.ja.xlf
@@ -0,0 +1,82 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ The specified argument cannot be empty.
+ The specified argument cannot be empty.
+
+
+
+ The specified argument cannot be negative.
+ The specified argument cannot be negative.
+
+
+
+ The specified argument must have the following type: {0}.
+ The specified argument must have the following type: {0}.
+
+
+
+ The specified argument has the following property, which cannot be an empty string: {0}.
+ The specified argument has the following property, which cannot be an empty string: {0}.
+
+
+
+ The specified argument has the following property, which cannot be negative: {0}.
+ The specified argument has the following property, which cannot be negative: {0}.
+
+
+
+ The specified argument has the following property, which cannot be null: {0}.
+ The specified argument has the following property, which cannot be null: {0}.
+
+
+
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+
+
+
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+
+
+
+ The {0} queue has already been disposed.
+ The {0} queue has already been disposed.
+
+
+
+ The {0} queue cannot be disposed while paused.
+ The {0} queue cannot be disposed while paused.
+
+
+
+ Error getting process name.
+ Error getting process name.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.ko.xlf b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.ko.xlf
new file mode 100644
index 0000000000..419277813c
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.ko.xlf
@@ -0,0 +1,82 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ The specified argument cannot be empty.
+ The specified argument cannot be empty.
+
+
+
+ The specified argument cannot be negative.
+ The specified argument cannot be negative.
+
+
+
+ The specified argument must have the following type: {0}.
+ The specified argument must have the following type: {0}.
+
+
+
+ The specified argument has the following property, which cannot be an empty string: {0}.
+ The specified argument has the following property, which cannot be an empty string: {0}.
+
+
+
+ The specified argument has the following property, which cannot be negative: {0}.
+ The specified argument has the following property, which cannot be negative: {0}.
+
+
+
+ The specified argument has the following property, which cannot be null: {0}.
+ The specified argument has the following property, which cannot be null: {0}.
+
+
+
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+
+
+
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+
+
+
+ The {0} queue has already been disposed.
+ The {0} queue has already been disposed.
+
+
+
+ The {0} queue cannot be disposed while paused.
+ The {0} queue cannot be disposed while paused.
+
+
+
+ Error getting process name.
+ Error getting process name.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.pl.xlf b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.pl.xlf
new file mode 100644
index 0000000000..9c8c535ad8
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.pl.xlf
@@ -0,0 +1,82 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ The specified argument cannot be empty.
+ The specified argument cannot be empty.
+
+
+
+ The specified argument cannot be negative.
+ The specified argument cannot be negative.
+
+
+
+ The specified argument must have the following type: {0}.
+ The specified argument must have the following type: {0}.
+
+
+
+ The specified argument has the following property, which cannot be an empty string: {0}.
+ The specified argument has the following property, which cannot be an empty string: {0}.
+
+
+
+ The specified argument has the following property, which cannot be negative: {0}.
+ The specified argument has the following property, which cannot be negative: {0}.
+
+
+
+ The specified argument has the following property, which cannot be null: {0}.
+ The specified argument has the following property, which cannot be null: {0}.
+
+
+
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+
+
+
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+
+
+
+ The {0} queue has already been disposed.
+ The {0} queue has already been disposed.
+
+
+
+ The {0} queue cannot be disposed while paused.
+ The {0} queue cannot be disposed while paused.
+
+
+
+ Error getting process name.
+ Error getting process name.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.pt-BR.xlf b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.pt-BR.xlf
new file mode 100644
index 0000000000..9da60a566f
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.pt-BR.xlf
@@ -0,0 +1,82 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ The specified argument cannot be empty.
+ The specified argument cannot be empty.
+
+
+
+ The specified argument cannot be negative.
+ The specified argument cannot be negative.
+
+
+
+ The specified argument must have the following type: {0}.
+ The specified argument must have the following type: {0}.
+
+
+
+ The specified argument has the following property, which cannot be an empty string: {0}.
+ The specified argument has the following property, which cannot be an empty string: {0}.
+
+
+
+ The specified argument has the following property, which cannot be negative: {0}.
+ The specified argument has the following property, which cannot be negative: {0}.
+
+
+
+ The specified argument has the following property, which cannot be null: {0}.
+ The specified argument has the following property, which cannot be null: {0}.
+
+
+
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+
+
+
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+
+
+
+ The {0} queue has already been disposed.
+ The {0} queue has already been disposed.
+
+
+
+ The {0} queue cannot be disposed while paused.
+ The {0} queue cannot be disposed while paused.
+
+
+
+ Error getting process name.
+ Error getting process name.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.ru.xlf b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.ru.xlf
new file mode 100644
index 0000000000..0b5ca89a8c
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.ru.xlf
@@ -0,0 +1,82 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ The specified argument cannot be empty.
+ The specified argument cannot be empty.
+
+
+
+ The specified argument cannot be negative.
+ The specified argument cannot be negative.
+
+
+
+ The specified argument must have the following type: {0}.
+ The specified argument must have the following type: {0}.
+
+
+
+ The specified argument has the following property, which cannot be an empty string: {0}.
+ The specified argument has the following property, which cannot be an empty string: {0}.
+
+
+
+ The specified argument has the following property, which cannot be negative: {0}.
+ The specified argument has the following property, which cannot be negative: {0}.
+
+
+
+ The specified argument has the following property, which cannot be null: {0}.
+ The specified argument has the following property, which cannot be null: {0}.
+
+
+
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+
+
+
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+
+
+
+ The {0} queue has already been disposed.
+ The {0} queue has already been disposed.
+
+
+
+ The {0} queue cannot be disposed while paused.
+ The {0} queue cannot be disposed while paused.
+
+
+
+ Error getting process name.
+ Error getting process name.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.tr.xlf b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.tr.xlf
new file mode 100644
index 0000000000..8ba39ab4d4
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.tr.xlf
@@ -0,0 +1,82 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ The specified argument cannot be empty.
+ The specified argument cannot be empty.
+
+
+
+ The specified argument cannot be negative.
+ The specified argument cannot be negative.
+
+
+
+ The specified argument must have the following type: {0}.
+ The specified argument must have the following type: {0}.
+
+
+
+ The specified argument has the following property, which cannot be an empty string: {0}.
+ The specified argument has the following property, which cannot be an empty string: {0}.
+
+
+
+ The specified argument has the following property, which cannot be negative: {0}.
+ The specified argument has the following property, which cannot be negative: {0}.
+
+
+
+ The specified argument has the following property, which cannot be null: {0}.
+ The specified argument has the following property, which cannot be null: {0}.
+
+
+
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+
+
+
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+
+
+
+ The {0} queue has already been disposed.
+ The {0} queue has already been disposed.
+
+
+
+ The {0} queue cannot be disposed while paused.
+ The {0} queue cannot be disposed while paused.
+
+
+
+ Error getting process name.
+ Error getting process name.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.xlf b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.xlf
new file mode 100644
index 0000000000..b9df068fc5
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.xlf
@@ -0,0 +1,67 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+
+
+
+ Error: {0}
+
+
+
+ Information: {0}
+
+
+
+ Warning: {0}
+
+
+
+ The specified argument cannot be empty.
+
+
+
+ The specified argument cannot be negative.
+
+
+
+ The specified argument must have the following type: {0}.
+
+
+
+ The specified argument has the following property, which cannot be an empty string: {0}.
+
+
+
+ The specified argument has the following property, which cannot be negative: {0}.
+
+
+
+ The specified argument has the following property, which cannot be null: {0}.
+
+
+
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+
+
+
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+
+
+
+ The {0} queue has already been disposed.
+
+
+
+ The {0} queue cannot be disposed while paused.
+
+
+
+ Error getting process name.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.zh-Hans.xlf b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.zh-Hans.xlf
new file mode 100644
index 0000000000..e16608966e
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.zh-Hans.xlf
@@ -0,0 +1,82 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ The specified argument cannot be empty.
+ The specified argument cannot be empty.
+
+
+
+ The specified argument cannot be negative.
+ The specified argument cannot be negative.
+
+
+
+ The specified argument must have the following type: {0}.
+ The specified argument must have the following type: {0}.
+
+
+
+ The specified argument has the following property, which cannot be an empty string: {0}.
+ The specified argument has the following property, which cannot be an empty string: {0}.
+
+
+
+ The specified argument has the following property, which cannot be negative: {0}.
+ The specified argument has the following property, which cannot be negative: {0}.
+
+
+
+ The specified argument has the following property, which cannot be null: {0}.
+ The specified argument has the following property, which cannot be null: {0}.
+
+
+
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+
+
+
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+
+
+
+ The {0} queue has already been disposed.
+ The {0} queue has already been disposed.
+
+
+
+ The {0} queue cannot be disposed while paused.
+ The {0} queue cannot be disposed while paused.
+
+
+
+ Error getting process name.
+ Error getting process name.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.zh-Hant.xlf b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.zh-Hant.xlf
new file mode 100644
index 0000000000..45e147744d
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Resources/xlf/Resources.zh-Hant.xlf
@@ -0,0 +1,82 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ The specified argument cannot be empty.
+ The specified argument cannot be empty.
+
+
+
+ The specified argument cannot be negative.
+ The specified argument cannot be negative.
+
+
+
+ The specified argument must have the following type: {0}.
+ The specified argument must have the following type: {0}.
+
+
+
+ The specified argument has the following property, which cannot be an empty string: {0}.
+ The specified argument has the following property, which cannot be an empty string: {0}.
+
+
+
+ The specified argument has the following property, which cannot be negative: {0}.
+ The specified argument has the following property, which cannot be negative: {0}.
+
+
+
+ The specified argument has the following property, which cannot be null: {0}.
+ The specified argument has the following property, which cannot be null: {0}.
+
+
+
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+ The specified argument has the following property: {0}. This property must have the following type: {1}.
+
+
+
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+ Unhandled exception occurred while processing a job from the '{0}' queue: {1}
+
+
+
+ The {0} queue has already been disposed.
+ The {0} queue has already been disposed.
+
+
+
+ The {0} queue cannot be disposed while paused.
+ The {0} queue cannot be disposed while paused.
+
+
+
+ Error getting process name.
+ Error getting process name.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Tracing/EqtTrace.cs b/src/Microsoft.TestPlatform.CoreUtilities/Tracing/EqtTrace.cs
index 26c4cff0c7..7d25f5da5b 100644
--- a/src/Microsoft.TestPlatform.CoreUtilities/Tracing/EqtTrace.cs
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Tracing/EqtTrace.cs
@@ -12,6 +12,7 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel
using System.Threading;
using Microsoft.VisualStudio.TestPlatform.CoreUtilities;
+ using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Resources;
///
/// Wrapper class for tracing.
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Tracing/Interfaces/ITestPlatformEventSource.cs b/src/Microsoft.TestPlatform.CoreUtilities/Tracing/Interfaces/ITestPlatformEventSource.cs
index 5969fb608a..00ace806cd 100644
--- a/src/Microsoft.TestPlatform.CoreUtilities/Tracing/Interfaces/ITestPlatformEventSource.cs
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Tracing/Interfaces/ITestPlatformEventSource.cs
@@ -48,6 +48,16 @@ public interface ITestPlatformEventSource
///
void TestHostStop();
+ ///
+ /// The test host AppDomain Start.
+ ///
+ void TestHostAppDomainCreationStart();
+
+ ///
+ /// The test host AppDomain Stop.
+ ///
+ void TestHostAppDomainCreationStop();
+
///
/// The adapter search start.
///
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Tracing/RollingFileTraceListener.cs b/src/Microsoft.TestPlatform.CoreUtilities/Tracing/RollingFileTraceListener.cs
index 30ad736fba..0eff163ea3 100644
--- a/src/Microsoft.TestPlatform.CoreUtilities/Tracing/RollingFileTraceListener.cs
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Tracing/RollingFileTraceListener.cs
@@ -10,6 +10,7 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel
using System.Text;
using Microsoft.VisualStudio.TestPlatform.CoreUtilities;
+ using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Resources;
///
/// Performs logging to a file and rolls the output file when either time or size thresholds are
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Tracing/TestPlatformEventSource.cs b/src/Microsoft.TestPlatform.CoreUtilities/Tracing/TestPlatformEventSource.cs
index f5c252085e..fb25b6a3de 100644
--- a/src/Microsoft.TestPlatform.CoreUtilities/Tracing/TestPlatformEventSource.cs
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Tracing/TestPlatformEventSource.cs
@@ -79,6 +79,20 @@ public void TestHostStop()
this.WriteEvent(TestPlatformInstrumentationEvents.TestHostStopEventId);
}
+ ///
+ [Event(TestPlatformInstrumentationEvents.TestHostAppDomainCreationStartEventId)]
+ public void TestHostAppDomainCreationStart()
+ {
+ this.WriteEvent(TestPlatformInstrumentationEvents.TestHostAppDomainCreationStartEventId);
+ }
+
+ ///
+ [Event(TestPlatformInstrumentationEvents.TestHostAppDomainCreationStopEventId)]
+ public void TestHostAppDomainCreationStop()
+ {
+ this.WriteEvent(TestPlatformInstrumentationEvents.TestHostAppDomainCreationStopEventId);
+ }
+
///
[Event(TestPlatformInstrumentationEvents.AdapterSearchStartEventId)]
public void AdapterSearchStart()
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Tracing/TestPlatformInstrumentationEvents.cs b/src/Microsoft.TestPlatform.CoreUtilities/Tracing/TestPlatformInstrumentationEvents.cs
index 34d7b28cf7..7d3de28b54 100644
--- a/src/Microsoft.TestPlatform.CoreUtilities/Tracing/TestPlatformInstrumentationEvents.cs
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Tracing/TestPlatformInstrumentationEvents.cs
@@ -107,5 +107,15 @@ internal class TestPlatformInstrumentationEvents
/// The adapter discovery stop event id.
///
public const int AdapterDiscoveryStopEventId = 0x28;
+
+ ///
+ /// The test host appdomain start event id.
+ ///
+ public const int TestHostAppDomainCreationStartEventId = 0x30;
+
+ ///
+ /// The test host appdomain stop event id.
+ ///
+ public const int TestHostAppDomainCreationStopEventId = 0x31;
}
}
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Utilities/JobQueue.cs b/src/Microsoft.TestPlatform.CoreUtilities/Utilities/JobQueue.cs
index 1b46713abc..a103785f93 100644
--- a/src/Microsoft.TestPlatform.CoreUtilities/Utilities/JobQueue.cs
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Utilities/JobQueue.cs
@@ -15,6 +15,7 @@ namespace Microsoft.VisualStudio.TestPlatform.Utilities
using Microsoft.VisualStudio.TestPlatform.Common.Utilities;
using Microsoft.VisualStudio.TestPlatform.CoreUtilities;
+ using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Resources;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
///
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Utilities/MulticastDelegateUtilities.cs b/src/Microsoft.TestPlatform.CoreUtilities/Utilities/MulticastDelegateUtilities.cs
index fd473fe467..234f918fe4 100644
--- a/src/Microsoft.TestPlatform.CoreUtilities/Utilities/MulticastDelegateUtilities.cs
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Utilities/MulticastDelegateUtilities.cs
@@ -7,6 +7,7 @@ namespace Microsoft.VisualStudio.TestPlatform.Utilities
using System.Reflection;
using Microsoft.VisualStudio.TestPlatform.CoreUtilities;
+ using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Resources;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
///
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/ValidateArg.cs b/src/Microsoft.TestPlatform.CoreUtilities/ValidateArg.cs
index 603c8dadc7..aad87d6d51 100644
--- a/src/Microsoft.TestPlatform.CoreUtilities/ValidateArg.cs
+++ b/src/Microsoft.TestPlatform.CoreUtilities/ValidateArg.cs
@@ -13,6 +13,7 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel
using System.Reflection;
using Microsoft.VisualStudio.TestPlatform.CoreUtilities;
+ using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Resources;
///
/// Helper to validate parameters.
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/project.json b/src/Microsoft.TestPlatform.CoreUtilities/project.json
index 8b02a32f3b..c486cdfd64 100644
--- a/src/Microsoft.TestPlatform.CoreUtilities/project.json
+++ b/src/Microsoft.TestPlatform.CoreUtilities/project.json
@@ -7,7 +7,8 @@
"warningsAsErrors": true,
"additionalArguments": [ "/ruleset:../../scripts/stylecop.ruleset", "/additionalFile:../../scripts/stylecop.json" ],
"xmlDoc": true,
- "define": ["TRACE"]
+ "define": [ "TRACE" ],
+ "embed": [ "Resources/*.resx" ]
},
"dependencies": {
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Adapter/FrameworkHandle.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Adapter/FrameworkHandle.cs
index e38c9c2b72..3935405ba2 100644
--- a/src/Microsoft.TestPlatform.CrossPlatEngine/Adapter/FrameworkHandle.cs
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Adapter/FrameworkHandle.cs
@@ -4,13 +4,16 @@ namespace Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Adapter
{
using System;
using System.Collections.Generic;
+
using Execution;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Adapter;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ClientProtocol;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel;
+
+ using CrossPlatEngineResources = Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Resources.Resources;
///
/// Handle to the framework which is passed to the test executors.
@@ -92,7 +95,7 @@ public int LaunchProcessWithDebuggerAttached(string filePath, string workingDire
// If it is not a debug run, then throw an error
if (!this.testExecutionContext.IsDebug)
{
- throw new InvalidOperationException(CrossPlatEngine.Resources.LaunchDebugProcessNotAllowedForANonDebugRun);
+ throw new InvalidOperationException(CrossPlatEngineResources.LaunchDebugProcessNotAllowedForANonDebugRun);
}
var processInfo = new TestProcessStartInfo()
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Adapter/RunContext.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Adapter/RunContext.cs
index ac614b9964..e4eeb12e86 100644
--- a/src/Microsoft.TestPlatform.CrossPlatEngine/Adapter/RunContext.cs
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Adapter/RunContext.cs
@@ -12,6 +12,8 @@ namespace Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Adapter
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Adapter;
+ using CrossPlatEngineResources = Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Resources.Resources;
+
///
/// Provides user specified runSettings and framework provided context of the run.
///
@@ -78,9 +80,9 @@ public ITestCaseFilterExpression GetTestCaseFilter(IEnumerable supported
if (invalidProperties != null)
{
- var invalidPropertiesString = string.Join(CrossPlatEngine.Resources.StringSeperator, invalidProperties);
- var validPropertiesSttring = supportedProperties == null ? string.Empty : string.Join(CrossPlatEngine.Resources.StringSeperator, supportedProperties.ToArray());
- var errorMessage = string.Format(CultureInfo.CurrentCulture, CrossPlatEngine.Resources.UnsupportedPropertiesInTestCaseFilter, invalidPropertiesString, validPropertiesSttring);
+ var invalidPropertiesString = string.Join(CrossPlatEngineResources.StringSeperator, invalidProperties);
+ var validPropertiesSttring = supportedProperties == null ? string.Empty : string.Join(CrossPlatEngineResources.StringSeperator, supportedProperties.ToArray());
+ var errorMessage = string.Format(CultureInfo.CurrentCulture, CrossPlatEngineResources.UnsupportedPropertiesInTestCaseFilter, invalidPropertiesString, validPropertiesSttring);
throw new TestPlatformFormatException(errorMessage, this.FilterExpressionWrapper.FilterString);
}
}
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Client/ProxyOperationManager.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Client/ProxyOperationManager.cs
index 97d47c4e37..71afbf2806 100644
--- a/src/Microsoft.TestPlatform.CrossPlatEngine/Client/ProxyOperationManager.cs
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Client/ProxyOperationManager.cs
@@ -14,7 +14,7 @@ namespace Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine;
using Microsoft.VisualStudio.TestPlatform.Utilities;
- using Resources = Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Resources;
+ using CrossPlatEngineResources = Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Resources.Resources;
///
/// Base class for any operations that the client needs to drive through the engine.
@@ -80,7 +80,7 @@ public virtual void SetupChannel(IEnumerable sources)
var hostDebugEnabled = Environment.GetEnvironmentVariable("VSTEST_HOST_DEBUG");
if (!string.IsNullOrEmpty(hostDebugEnabled) && hostDebugEnabled.Equals("1", StringComparison.Ordinal))
{
- ConsoleOutput.Instance.WriteLine(Resources.HostDebuggerWarning, OutputLevel.Warning);
+ ConsoleOutput.Instance.WriteLine(CrossPlatEngineResources.HostDebuggerWarning, OutputLevel.Warning);
}
// Launch the test host and monitor exit.
@@ -93,7 +93,7 @@ public virtual void SetupChannel(IEnumerable sources)
// Wait for a timeout for the client to connect.
if (!this.RequestSender.WaitForRequestHandlerConnection(this.connectionTimeout))
{
- throw new TestPlatformException(string.Format(CultureInfo.CurrentUICulture, CrossPlatEngine.Resources.InitializationFailed));
+ throw new TestPlatformException(string.Format(CultureInfo.CurrentUICulture, CrossPlatEngineResources.InitializationFailed));
}
}
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Discovery/DiscovererEnumerator.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Discovery/DiscovererEnumerator.cs
index 85f83d94f8..ba4e8f1c1c 100644
--- a/src/Microsoft.TestPlatform.CrossPlatEngine/Discovery/DiscovererEnumerator.cs
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Discovery/DiscovererEnumerator.cs
@@ -12,12 +12,14 @@ namespace Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Discovery
using Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework;
using Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.Utilities;
using Microsoft.VisualStudio.TestPlatform.Common.Interfaces;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel.Adapter;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
using Microsoft.VisualStudio.TestPlatform.Common.Logging;
using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing;
using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing.Interfaces;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Adapter;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
+
+ using CrossPlatEngineResources = Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Resources.Resources;
///
/// Enumerates through all the discoverers.
@@ -103,7 +105,7 @@ private void LoadTestsFromAnExtension(string extensionAssembly, IEnumerable
/// Orchestrates discovery operations for the engine communicating with the test host process.
@@ -171,7 +172,7 @@ internal static IEnumerable GetValidSources(IEnumerable sources,
{
if (!File.Exists(source))
{
- var errorMessage = string.Format(CultureInfo.CurrentCulture, CrossPlatEngine.Resources.FileNotFound, source);
+ var errorMessage = string.Format(CultureInfo.CurrentCulture, CrossPlatEngineResources.FileNotFound, source);
logger.SendMessage(TestMessageLevel.Warning, errorMessage);
continue;
@@ -179,7 +180,7 @@ internal static IEnumerable GetValidSources(IEnumerable sources,
if (!verifiedSources.Add(source))
{
- var errorMessage = string.Format(CultureInfo.CurrentCulture, CrossPlatEngine.Resources.DuplicateSource, source);
+ var errorMessage = string.Format(CultureInfo.CurrentCulture, CrossPlatEngineResources.DuplicateSource, source);
logger.SendMessage(TestMessageLevel.Warning, errorMessage);
continue;
@@ -190,7 +191,7 @@ internal static IEnumerable GetValidSources(IEnumerable sources,
if (!verifiedSources.Any())
{
var sourcesString = string.Join(",", sources.ToArray());
- var errorMessage = string.Format(CultureInfo.CurrentCulture, CrossPlatEngine.Resources.NoValidSourceFoundForDiscovery, sourcesString);
+ var errorMessage = string.Format(CultureInfo.CurrentCulture, CrossPlatEngineResources.NoValidSourceFoundForDiscovery, sourcesString);
logger.SendMessage(TestMessageLevel.Warning, errorMessage);
EqtTrace.Warning("TestDiscoveryManager: None of the source {0} is valid. ", sourcesString);
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Execution/BaseRunTests.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Execution/BaseRunTests.cs
index 893215107b..c394f5d53d 100644
--- a/src/Microsoft.TestPlatform.CrossPlatEngine/Execution/BaseRunTests.cs
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Execution/BaseRunTests.cs
@@ -3,6 +3,7 @@
namespace Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution
{
using System;
+ using System.Linq;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
@@ -10,22 +11,23 @@ namespace Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution
using System.Globalization;
using System.Threading.Tasks;
- using Microsoft.VisualStudio.TestPlatform.Common.Interfaces;
using Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework;
using Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.Utilities;
+ using Microsoft.VisualStudio.TestPlatform.Common.Interfaces;
using Microsoft.VisualStudio.TestPlatform.Common.Utilities;
+ using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing.Interfaces;
using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Adapter;
+ using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.DataCollection;
+ using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.EventHandlers;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ClientProtocol;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Adapter;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ClientProtocol;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Utilities;
- using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing;
- using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing.Interfaces;
- using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.DataCollection;
- using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.EventHandlers;
+
+ using CrossPlatEngineResources = Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Resources.Resources;
///
/// The base run tests.
@@ -350,7 +352,7 @@ private bool RunTestInternalWithExecutors(IEnumerable> execut
TestMessageLevel.Error,
string.Format(
CultureInfo.CurrentCulture,
- CrossPlatEngine.Resources.ExceptionFromRunTests,
+ CrossPlatEngineResources.ExceptionFromRunTests,
executorUriExtensionTuple.Item1,
ExceptionUtilities.GetExceptionMessage(e)));
}
@@ -367,7 +369,7 @@ private bool RunTestInternalWithExecutors(IEnumerable> execut
var runtimeVersion = " ";
this.TestRunEventsHandler?.HandleLogMessage(
TestMessageLevel.Warning,
- string.Format(CultureInfo.CurrentUICulture, CrossPlatEngine.Resources.NoMatchingExecutor, executorUriExtensionTuple.Item1, runtimeVersion));
+ string.Format(CultureInfo.CurrentUICulture, CrossPlatEngineResources.NoMatchingExecutor, executorUriExtensionTuple.Item1, runtimeVersion));
}
}
@@ -436,7 +438,7 @@ private void RaiseTestRunComplete(
attachments,
elapsedTime);
- var testRunChangedEventArgs = new TestRunChangedEventArgs(runStats, lastChunk, null);
+ var testRunChangedEventArgs = new TestRunChangedEventArgs(runStats, lastChunk, Enumerable.Empty());
this.testRunEventsHandler.HandleTestRunComplete(
testRunCompleteEventArgs,
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Execution/RunTestsWithSources.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Execution/RunTestsWithSources.cs
index fdc08c4694..e9dd4ab556 100644
--- a/src/Microsoft.TestPlatform.CrossPlatEngine/Execution/RunTestsWithSources.cs
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Execution/RunTestsWithSources.cs
@@ -6,20 +6,21 @@ namespace Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
- using System.Threading.Tasks;
using Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.Utilities;
using Microsoft.VisualStudio.TestPlatform.Common.Filtering;
using Microsoft.VisualStudio.TestPlatform.Common.Interfaces;
- using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing.Interfaces;
+ using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing;
using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Adapter;
using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Discovery;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Adapter;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ClientProtocol;
- using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing;
- using ObjectModel.Logging;
+
using ObjectModel.Client;
+ using ObjectModel.Logging;
+
+ using CrossPlatEngineResources = Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Resources.Resources;
internal class RunTestsWithSources : BaseRunTests
{
@@ -65,7 +66,7 @@ protected override void BeforeRaisingTestRunComplete(bool exceptionsHitDuringRun
TestMessageLevel.Warning,
string.Format(
CultureInfo.CurrentUICulture,
- CrossPlatEngine.Resources.TestRunFailed_NoTestsAreAvailableInTheSources,
+ CrossPlatEngineResources.TestRunFailed_NoTestsAreAvailableInTheSources,
sourcesString));
}
}
@@ -138,7 +139,7 @@ private Dictionary, IEnumerable> GetExecutorVsSources
{
string errorMessage = string.Format(
CultureInfo.CurrentUICulture,
- CrossPlatEngine.Resources.IgnoringExecutorAsNoDefaultExecutorUriAttribute,
+ CrossPlatEngineResources.IgnoringExecutorAsNoDefaultExecutorUriAttribute,
discoverer.Value);
logger.SendMessage(TestMessageLevel.Warning, errorMessage);
continue;
@@ -154,7 +155,7 @@ private Dictionary, IEnumerable> GetExecutorVsSources
{
string errorMessage = string.Format(
CultureInfo.CurrentUICulture,
- CrossPlatEngine.Resources.DuplicateAdaptersFound,
+ CrossPlatEngineResources.DuplicateAdaptersFound,
executorUri,
discoverer.Value);
logger.SendMessage(TestMessageLevel.Warning, errorMessage);
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Hosting/DefaultTestHostManager.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Hosting/DefaultTestHostManager.cs
index 9e5b229da0..7a6200bed4 100644
--- a/src/Microsoft.TestPlatform.CrossPlatEngine/Hosting/DefaultTestHostManager.cs
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Hosting/DefaultTestHostManager.cs
@@ -40,8 +40,8 @@ public class DefaultTestHostManager : ITestHostManager
///
/// Platform architecture of the host process.
/// Runtime framework for the host process.
- public DefaultTestHostManager(Architecture architecture, Framework framework)
- : this(architecture, framework, new ProcessHelper())
+ public DefaultTestHostManager(Architecture architecture, Framework framework, bool shared)
+ : this(architecture, framework, new ProcessHelper(), shared)
{
}
@@ -51,16 +51,19 @@ public DefaultTestHostManager(Architecture architecture, Framework framework)
/// Platform architecture of the host process.
/// Runtime framework for the host process.
/// Process helper instance.
- internal DefaultTestHostManager(Architecture architecture, Framework framework, IProcessHelper processHelper)
+ /// Share the manager for multiple sources or not
+ internal DefaultTestHostManager(Architecture architecture, Framework framework, IProcessHelper processHelper, bool shared)
{
this.architecture = architecture;
this.framework = framework;
this.processHelper = processHelper;
this.testHostProcess = null;
+
+ this.Shared = shared;
}
///
- public bool Shared => true;
+ public bool Shared { get; private set; }
///
/// Gets the properties of the test executor launcher. These could be the targetID for emulator/phone specific scenarios.
@@ -116,6 +119,13 @@ public virtual TestProcessStartInfo GetTestHostProcessStartInfo(
var currentWorkingDirectory = Path.GetDirectoryName(typeof(DefaultTestHostManager).GetTypeInfo().Assembly.Location);
var argumentsString = " " + connectionInfo.ToCommandLineOptions();
+ if (!this.Shared)
+ {
+ // Not sharing the host which means we need to pass the test assembly path as argument
+ // so that the test host can create an appdomain on startup (Main method) and set appbase
+ argumentsString += " " + "--testsourcepath " + "\"" + sources.FirstOrDefault() + "\"";
+ }
+
var testhostProcessPath = Path.Combine(currentWorkingDirectory, testHostProcessName);
// For IDEs and other scenario, current directory should be the
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources.Designer.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/Resources.Designer.cs
similarity index 98%
rename from src/Microsoft.TestPlatform.CrossPlatEngine/Resources.Designer.cs
rename to src/Microsoft.TestPlatform.CrossPlatEngine/Resources/Resources.Designer.cs
index a4960aa874..4bea720aa8 100644
--- a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources.Designer.cs
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/Resources.Designer.cs
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace Microsoft.VisualStudio.TestPlatform.CrossPlatEngine {
+namespace Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Resources {
using System;
using System.Reflection;
@@ -38,7 +38,7 @@ internal Resources() {
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.CrossPlatEngine.Resources", typeof(Resources).GetTypeInfo().Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.CrossPlatEngine.Resources.Resources", typeof(Resources).GetTypeInfo().Assembly);
resourceMan = temp;
}
return resourceMan;
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources.resx b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/Resources.resx
similarity index 100%
rename from src/Microsoft.TestPlatform.CrossPlatEngine/Resources.resx
rename to src/Microsoft.TestPlatform.CrossPlatEngine/Resources/Resources.resx
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.cs.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.cs.xlf
new file mode 100644
index 0000000000..b611522923
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.cs.xlf
@@ -0,0 +1,87 @@
+
+
+
+
+
+ Exception occurred while instantiating discoverer : {0}
+ Exception occurred while instantiating discoverer : {0}
+
+
+
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ {0} is the unique identifier of test adapter. {1} is the name of the test adapter that shares a unique identifier with a previously loaded adapter.
+
+
+ Ignoring the specified duplicate source '{0}'.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+
+
+
+ An exception occurred while invoking executor '{0}': {1}
+ An exception occurred while invoking executor '{0}': {1}
+
+
+
+ Could not find file {0}.
+ Could not find file {0}.
+
+
+
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host, testhost are key words, it should not be localized
+
+
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+
+
+
+ Failed to initialize client proxy: could not connect to test process.
+ Failed to initialize client proxy: could not connect to test process.
+
+
+
+ This operation is not allowed in the context of a non-debug run.
+ This operation is not allowed in the context of a non-debug run.
+
+
+
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+
+
+
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ {0} - Executor uri String {1}- Version - .net Version Eg:-2.0.50727.00
+
+
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+
+
+
+ ,
+ ,
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.de.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.de.xlf
new file mode 100644
index 0000000000..94a675b797
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.de.xlf
@@ -0,0 +1,87 @@
+
+
+
+
+
+ Exception occurred while instantiating discoverer : {0}
+ Exception occurred while instantiating discoverer : {0}
+
+
+
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ {0} is the unique identifier of test adapter. {1} is the name of the test adapter that shares a unique identifier with a previously loaded adapter.
+
+
+ Ignoring the specified duplicate source '{0}'.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+
+
+
+ An exception occurred while invoking executor '{0}': {1}
+ An exception occurred while invoking executor '{0}': {1}
+
+
+
+ Could not find file {0}.
+ Could not find file {0}.
+
+
+
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host, testhost are key words, it should not be localized
+
+
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+
+
+
+ Failed to initialize client proxy: could not connect to test process.
+ Failed to initialize client proxy: could not connect to test process.
+
+
+
+ This operation is not allowed in the context of a non-debug run.
+ This operation is not allowed in the context of a non-debug run.
+
+
+
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+
+
+
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ {0} - Executor uri String {1}- Version - .net Version Eg:-2.0.50727.00
+
+
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+
+
+
+ ,
+ ,
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.es.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.es.xlf
new file mode 100644
index 0000000000..6a427ff6a5
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.es.xlf
@@ -0,0 +1,87 @@
+
+
+
+
+
+ Exception occurred while instantiating discoverer : {0}
+ Exception occurred while instantiating discoverer : {0}
+
+
+
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ {0} is the unique identifier of test adapter. {1} is the name of the test adapter that shares a unique identifier with a previously loaded adapter.
+
+
+ Ignoring the specified duplicate source '{0}'.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+
+
+
+ An exception occurred while invoking executor '{0}': {1}
+ An exception occurred while invoking executor '{0}': {1}
+
+
+
+ Could not find file {0}.
+ Could not find file {0}.
+
+
+
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host, testhost are key words, it should not be localized
+
+
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+
+
+
+ Failed to initialize client proxy: could not connect to test process.
+ Failed to initialize client proxy: could not connect to test process.
+
+
+
+ This operation is not allowed in the context of a non-debug run.
+ This operation is not allowed in the context of a non-debug run.
+
+
+
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+
+
+
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ {0} - Executor uri String {1}- Version - .net Version Eg:-2.0.50727.00
+
+
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+
+
+
+ ,
+ ,
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.fr.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.fr.xlf
new file mode 100644
index 0000000000..aa06f5efb3
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.fr.xlf
@@ -0,0 +1,87 @@
+
+
+
+
+
+ Exception occurred while instantiating discoverer : {0}
+ Exception occurred while instantiating discoverer : {0}
+
+
+
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ {0} is the unique identifier of test adapter. {1} is the name of the test adapter that shares a unique identifier with a previously loaded adapter.
+
+
+ Ignoring the specified duplicate source '{0}'.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+
+
+
+ An exception occurred while invoking executor '{0}': {1}
+ An exception occurred while invoking executor '{0}': {1}
+
+
+
+ Could not find file {0}.
+ Could not find file {0}.
+
+
+
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host, testhost are key words, it should not be localized
+
+
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+
+
+
+ Failed to initialize client proxy: could not connect to test process.
+ Failed to initialize client proxy: could not connect to test process.
+
+
+
+ This operation is not allowed in the context of a non-debug run.
+ This operation is not allowed in the context of a non-debug run.
+
+
+
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+
+
+
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ {0} - Executor uri String {1}- Version - .net Version Eg:-2.0.50727.00
+
+
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+
+
+
+ ,
+ ,
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.it.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.it.xlf
new file mode 100644
index 0000000000..2ba6d2a6aa
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.it.xlf
@@ -0,0 +1,87 @@
+
+
+
+
+
+ Exception occurred while instantiating discoverer : {0}
+ Exception occurred while instantiating discoverer : {0}
+
+
+
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ {0} is the unique identifier of test adapter. {1} is the name of the test adapter that shares a unique identifier with a previously loaded adapter.
+
+
+ Ignoring the specified duplicate source '{0}'.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+
+
+
+ An exception occurred while invoking executor '{0}': {1}
+ An exception occurred while invoking executor '{0}': {1}
+
+
+
+ Could not find file {0}.
+ Could not find file {0}.
+
+
+
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host, testhost are key words, it should not be localized
+
+
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+
+
+
+ Failed to initialize client proxy: could not connect to test process.
+ Failed to initialize client proxy: could not connect to test process.
+
+
+
+ This operation is not allowed in the context of a non-debug run.
+ This operation is not allowed in the context of a non-debug run.
+
+
+
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+
+
+
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ {0} - Executor uri String {1}- Version - .net Version Eg:-2.0.50727.00
+
+
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+
+
+
+ ,
+ ,
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ja.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ja.xlf
new file mode 100644
index 0000000000..1e517fece7
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ja.xlf
@@ -0,0 +1,87 @@
+
+
+
+
+
+ Exception occurred while instantiating discoverer : {0}
+ Exception occurred while instantiating discoverer : {0}
+
+
+
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ {0} is the unique identifier of test adapter. {1} is the name of the test adapter that shares a unique identifier with a previously loaded adapter.
+
+
+ Ignoring the specified duplicate source '{0}'.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+
+
+
+ An exception occurred while invoking executor '{0}': {1}
+ An exception occurred while invoking executor '{0}': {1}
+
+
+
+ Could not find file {0}.
+ Could not find file {0}.
+
+
+
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host, testhost are key words, it should not be localized
+
+
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+
+
+
+ Failed to initialize client proxy: could not connect to test process.
+ Failed to initialize client proxy: could not connect to test process.
+
+
+
+ This operation is not allowed in the context of a non-debug run.
+ This operation is not allowed in the context of a non-debug run.
+
+
+
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+
+
+
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ {0} - Executor uri String {1}- Version - .net Version Eg:-2.0.50727.00
+
+
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+
+
+
+ ,
+ ,
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ko.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ko.xlf
new file mode 100644
index 0000000000..c4f36a1a3a
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ko.xlf
@@ -0,0 +1,87 @@
+
+
+
+
+
+ Exception occurred while instantiating discoverer : {0}
+ Exception occurred while instantiating discoverer : {0}
+
+
+
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ {0} is the unique identifier of test adapter. {1} is the name of the test adapter that shares a unique identifier with a previously loaded adapter.
+
+
+ Ignoring the specified duplicate source '{0}'.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+
+
+
+ An exception occurred while invoking executor '{0}': {1}
+ An exception occurred while invoking executor '{0}': {1}
+
+
+
+ Could not find file {0}.
+ Could not find file {0}.
+
+
+
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host, testhost are key words, it should not be localized
+
+
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+
+
+
+ Failed to initialize client proxy: could not connect to test process.
+ Failed to initialize client proxy: could not connect to test process.
+
+
+
+ This operation is not allowed in the context of a non-debug run.
+ This operation is not allowed in the context of a non-debug run.
+
+
+
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+
+
+
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ {0} - Executor uri String {1}- Version - .net Version Eg:-2.0.50727.00
+
+
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+
+
+
+ ,
+ ,
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.pl.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.pl.xlf
new file mode 100644
index 0000000000..fb7ead24b0
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.pl.xlf
@@ -0,0 +1,87 @@
+
+
+
+
+
+ Exception occurred while instantiating discoverer : {0}
+ Exception occurred while instantiating discoverer : {0}
+
+
+
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ {0} is the unique identifier of test adapter. {1} is the name of the test adapter that shares a unique identifier with a previously loaded adapter.
+
+
+ Ignoring the specified duplicate source '{0}'.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+
+
+
+ An exception occurred while invoking executor '{0}': {1}
+ An exception occurred while invoking executor '{0}': {1}
+
+
+
+ Could not find file {0}.
+ Could not find file {0}.
+
+
+
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host, testhost are key words, it should not be localized
+
+
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+
+
+
+ Failed to initialize client proxy: could not connect to test process.
+ Failed to initialize client proxy: could not connect to test process.
+
+
+
+ This operation is not allowed in the context of a non-debug run.
+ This operation is not allowed in the context of a non-debug run.
+
+
+
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+
+
+
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ {0} - Executor uri String {1}- Version - .net Version Eg:-2.0.50727.00
+
+
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+
+
+
+ ,
+ ,
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.pt-BR.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.pt-BR.xlf
new file mode 100644
index 0000000000..12bb6c3da8
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.pt-BR.xlf
@@ -0,0 +1,87 @@
+
+
+
+
+
+ Exception occurred while instantiating discoverer : {0}
+ Exception occurred while instantiating discoverer : {0}
+
+
+
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ {0} is the unique identifier of test adapter. {1} is the name of the test adapter that shares a unique identifier with a previously loaded adapter.
+
+
+ Ignoring the specified duplicate source '{0}'.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+
+
+
+ An exception occurred while invoking executor '{0}': {1}
+ An exception occurred while invoking executor '{0}': {1}
+
+
+
+ Could not find file {0}.
+ Could not find file {0}.
+
+
+
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host, testhost are key words, it should not be localized
+
+
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+
+
+
+ Failed to initialize client proxy: could not connect to test process.
+ Failed to initialize client proxy: could not connect to test process.
+
+
+
+ This operation is not allowed in the context of a non-debug run.
+ This operation is not allowed in the context of a non-debug run.
+
+
+
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+
+
+
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ {0} - Executor uri String {1}- Version - .net Version Eg:-2.0.50727.00
+
+
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+
+
+
+ ,
+ ,
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ru.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ru.xlf
new file mode 100644
index 0000000000..e719a2db02
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ru.xlf
@@ -0,0 +1,87 @@
+
+
+
+
+
+ Exception occurred while instantiating discoverer : {0}
+ Exception occurred while instantiating discoverer : {0}
+
+
+
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ {0} is the unique identifier of test adapter. {1} is the name of the test adapter that shares a unique identifier with a previously loaded adapter.
+
+
+ Ignoring the specified duplicate source '{0}'.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+
+
+
+ An exception occurred while invoking executor '{0}': {1}
+ An exception occurred while invoking executor '{0}': {1}
+
+
+
+ Could not find file {0}.
+ Could not find file {0}.
+
+
+
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host, testhost are key words, it should not be localized
+
+
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+
+
+
+ Failed to initialize client proxy: could not connect to test process.
+ Failed to initialize client proxy: could not connect to test process.
+
+
+
+ This operation is not allowed in the context of a non-debug run.
+ This operation is not allowed in the context of a non-debug run.
+
+
+
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+
+
+
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ {0} - Executor uri String {1}- Version - .net Version Eg:-2.0.50727.00
+
+
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+
+
+
+ ,
+ ,
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.tr.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.tr.xlf
new file mode 100644
index 0000000000..c685e283f3
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.tr.xlf
@@ -0,0 +1,87 @@
+
+
+
+
+
+ Exception occurred while instantiating discoverer : {0}
+ Exception occurred while instantiating discoverer : {0}
+
+
+
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ {0} is the unique identifier of test adapter. {1} is the name of the test adapter that shares a unique identifier with a previously loaded adapter.
+
+
+ Ignoring the specified duplicate source '{0}'.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+
+
+
+ An exception occurred while invoking executor '{0}': {1}
+ An exception occurred while invoking executor '{0}': {1}
+
+
+
+ Could not find file {0}.
+ Could not find file {0}.
+
+
+
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host, testhost are key words, it should not be localized
+
+
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+
+
+
+ Failed to initialize client proxy: could not connect to test process.
+ Failed to initialize client proxy: could not connect to test process.
+
+
+
+ This operation is not allowed in the context of a non-debug run.
+ This operation is not allowed in the context of a non-debug run.
+
+
+
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+
+
+
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ {0} - Executor uri String {1}- Version - .net Version Eg:-2.0.50727.00
+
+
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+
+
+
+ ,
+ ,
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.xlf
new file mode 100644
index 0000000000..fca8d33c7f
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.xlf
@@ -0,0 +1,71 @@
+
+
+
+
+
+ Exception occurred while instantiating discoverer : {0}
+
+
+
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ {0} is the unique identifier of test adapter. {1} is the name of the test adapter that shares a unique identifier with a previously loaded adapter.
+
+
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+
+
+
+ An exception occurred while invoking executor '{0}': {1}
+
+
+
+ Could not find file {0}.
+
+
+
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host, testhost are key words, it should not be localized
+
+
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+
+
+
+ Failed to initialize client proxy: could not connect to test process.
+
+
+
+ This operation is not allowed in the context of a non-debug run.
+
+
+
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+
+
+
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ {0} - Executor uri String {1}- Version - .net Version Eg:-2.0.50727.00
+
+
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+
+
+
+ ,
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.zh-Hans.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.zh-Hans.xlf
new file mode 100644
index 0000000000..54759d4c7f
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.zh-Hans.xlf
@@ -0,0 +1,87 @@
+
+
+
+
+
+ Exception occurred while instantiating discoverer : {0}
+ Exception occurred while instantiating discoverer : {0}
+
+
+
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ {0} is the unique identifier of test adapter. {1} is the name of the test adapter that shares a unique identifier with a previously loaded adapter.
+
+
+ Ignoring the specified duplicate source '{0}'.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+
+
+
+ An exception occurred while invoking executor '{0}': {1}
+ An exception occurred while invoking executor '{0}': {1}
+
+
+
+ Could not find file {0}.
+ Could not find file {0}.
+
+
+
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host, testhost are key words, it should not be localized
+
+
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+
+
+
+ Failed to initialize client proxy: could not connect to test process.
+ Failed to initialize client proxy: could not connect to test process.
+
+
+
+ This operation is not allowed in the context of a non-debug run.
+ This operation is not allowed in the context of a non-debug run.
+
+
+
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+
+
+
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ {0} - Executor uri String {1}- Version - .net Version Eg:-2.0.50727.00
+
+
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+
+
+
+ ,
+ ,
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.zh-Hant.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.zh-Hant.xlf
new file mode 100644
index 0000000000..0595d91875
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.zh-Hant.xlf
@@ -0,0 +1,87 @@
+
+
+
+
+
+ Exception occurred while instantiating discoverer : {0}
+ Exception occurred while instantiating discoverer : {0}
+
+
+
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ Multiple test adapters with the same uri '{0}' were found. Ignoring adapter '{1}'. Please uninstall the conflicting adapter(s) to avoid this warning.
+ {0} is the unique identifier of test adapter. {1} is the name of the test adapter that shares a unique identifier with a previously loaded adapter.
+
+
+ Ignoring the specified duplicate source '{0}'.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+ An exception occurred while test discoverer '{0}' was loading tests. Exception: {1}
+
+
+
+ An exception occurred while invoking executor '{0}': {1}
+ An exception occurred while invoking executor '{0}': {1}
+
+
+
+ Could not find file {0}.
+ Could not find file {0}.
+
+
+
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host debugging is enabled. Please attach debugger to testhost process to continue.
+ Host, testhost are key words, it should not be localized
+
+
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+ Ignoring the test executor corresponding to test discoverer {0} because the discoverer does not have the DefaultExecutorUri attribute . You might need to re-install the test adapter add-in.
+
+
+
+ Failed to initialize client proxy: could not connect to test process.
+ Failed to initialize client proxy: could not connect to test process.
+
+
+
+ This operation is not allowed in the context of a non-debug run.
+ This operation is not allowed in the context of a non-debug run.
+
+
+
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+ No test discoverer is registered to perform discovery of test cases. Register a test discoverer and try again.
+
+
+
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ Could not find test executor with URI '{0}'. Make sure that the test executor is installed and supports .net runtime version {1}.
+ {0} - Executor uri String {1}- Version - .net Version Eg:-2.0.50727.00
+
+
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+ None of the specified source(s) '{0}' is valid. Fix the above errors/warnings and then try again.
+
+
+
+ ,
+ ,
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+ No tests matched the filter because it contains one or more properties that are not valid ({0}). Specify filter expression containing valid properties ({1}) and try again.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/TestEngine.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/TestEngine.cs
index e6b103a077..d2734f519b 100644
--- a/src/Microsoft.TestPlatform.CrossPlatEngine/TestEngine.cs
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/TestEngine.cs
@@ -99,8 +99,10 @@ public ITestExtensionManager GetExtensionManager()
/// The architecture we want the test host manager for.
/// Framework for the test session.
/// An instance of the test host manager.
- public ITestHostManager GetDefaultTestHostManager(Architecture architecture, Framework framework)
+ public ITestHostManager GetDefaultTestHostManager(RunConfiguration runConfiguration)
{
+ var framework = runConfiguration.TargetFrameworkVersion;
+
// This is expected to be called once every run so returning a new instance every time.
if (framework.Name.IndexOf("netstandard", StringComparison.OrdinalIgnoreCase) >= 0
|| framework.Name.IndexOf("netcoreapp", StringComparison.OrdinalIgnoreCase) >= 0)
@@ -108,7 +110,9 @@ public ITestHostManager GetDefaultTestHostManager(Architecture architecture, Fra
return new DotnetTestHostManager();
}
- return new DefaultTestHostManager(architecture, framework);
+ // Only share the manager if DisableAppDomain is "false"
+ // meaning AppDomain is enabled and we can reuse the host for multiple sources
+ return new DefaultTestHostManager(runConfiguration.TargetPlatform, framework, shared: !runConfiguration.DisableAppDomain);
}
#endregion
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/project.json b/src/Microsoft.TestPlatform.CrossPlatEngine/project.json
index 4aa47da095..3c0ed37d03 100644
--- a/src/Microsoft.TestPlatform.CrossPlatEngine/project.json
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/project.json
@@ -3,7 +3,8 @@
"buildOptions": {
"delaySign": true,
"keyFile": "../../scripts/key.snk",
- "warningsAsErrors": true
+ "warningsAsErrors": true,
+ "embed": [ "Resources/*.resx" ]
},
"dependencies": {
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/TestListCategory.cs b/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/TestListCategory.cs
index 30ebf5c507..f5ba8782de 100644
--- a/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/TestListCategory.cs
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/TestListCategory.cs
@@ -2,14 +2,13 @@
namespace Microsoft.TestPlatform.Extensions.TrxLogger.ObjectModel
{
- using System;
using System.Diagnostics;
- using System.Diagnostics.CodeAnalysis;
- using System.Globalization;
using Microsoft.TestPlatform.Extensions.TrxLogger.Utility;
using Microsoft.TestPlatform.Extensions.TrxLogger.XML;
+ using TrxLoggerResources = Microsoft.TestPlatform.Extensions.TrxLogger.Resources.TrxResource;
+
///
/// The test list category.
///
@@ -80,7 +79,7 @@ public static TestListCategory UncategorizedResults
if (uncategorizedResults == null)
{
uncategorizedResults = new TestListCategory(
- TrxResource.TS_UncategorizedResults, TestListCategoryId.Uncategorized, TestListCategoryId.Root);
+ TrxLoggerResources.TS_UncategorizedResults, TestListCategoryId.Uncategorized, TestListCategoryId.Root);
}
}
}
@@ -103,7 +102,7 @@ public static TestListCategory AllResults
if (allResults == null)
{
allResults = new TestListCategory(
- TrxResource.TS_AllResults, TestListCategoryId.AllItems, TestListCategoryId.Root);
+ TrxLoggerResources.TS_AllResults, TestListCategoryId.AllItems, TestListCategoryId.Root);
}
}
}
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/TestRun.cs b/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/TestRun.cs
index 4a3a46e0f5..05a195772d 100644
--- a/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/TestRun.cs
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/TestRun.cs
@@ -11,6 +11,8 @@ namespace Microsoft.TestPlatform.Extensions.TrxLogger.ObjectModel
using Microsoft.TestPlatform.Extensions.TrxLogger.Utility;
using Microsoft.TestPlatform.Extensions.TrxLogger.XML;
+ using TrxLoggerResources = Microsoft.TestPlatform.Extensions.TrxLogger.Resources.TrxResource;
+
///
/// Class having information about a test run.
///
@@ -172,13 +174,13 @@ internal string GetResultsDirectory()
if (this.RunConfiguration == null)
{
Debug.Fail("'RunConfiguration' is null");
- throw new Exception(String.Format(CultureInfo.CurrentCulture, TrxResource.Common_MissingRunConfigInRun));
+ throw new Exception(String.Format(CultureInfo.CurrentCulture, TrxLoggerResources.Common_MissingRunConfigInRun));
}
if (string.IsNullOrEmpty(this.RunConfiguration.RunDeploymentRootDirectory))
{
Debug.Fail("'RunConfiguration.RunDeploymentRootDirectory' is null or empty");
- throw new Exception(String.Format(CultureInfo.CurrentCulture, TrxResource.Common_MissingRunDeploymentRootInRunConfig));
+ throw new Exception(String.Format(CultureInfo.CurrentCulture, TrxLoggerResources.Common_MissingRunDeploymentRootInRunConfig));
}
return this.RunConfiguration.RunDeploymentInDirectory;
@@ -194,7 +196,7 @@ private static string FormatDateTimeForRunName(DateTime timeStamp)
private void Initialize()
{
this.id = Guid.NewGuid();
- this.name = String.Format(CultureInfo.CurrentCulture, TrxResource.Common_TestRunName, Environment.GetEnvironmentVariable("UserName"), Environment.MachineName, FormatDateTimeForRunName(DateTime.Now));
+ this.name = String.Format(CultureInfo.CurrentCulture, TrxLoggerResources.Common_TestRunName, Environment.GetEnvironmentVariable("UserName"), Environment.MachineName, FormatDateTimeForRunName(DateTime.Now));
this.runUser = WindowsIdentity.GetCurrent().Name;
this.created = DateTime.Now.ToUniversalTime();
this.queued = DateTime.Now.ToUniversalTime();
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/UnitTestElement.cs b/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/UnitTestElement.cs
index 3f82cf6101..b7245eb592 100644
--- a/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/UnitTestElement.cs
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/UnitTestElement.cs
@@ -9,6 +9,8 @@ namespace Microsoft.TestPlatform.Extensions.TrxLogger.ObjectModel
using Microsoft.TestPlatform.Extensions.TrxLogger.Utility;
using Microsoft.TestPlatform.Extensions.TrxLogger.XML;
+ using TrxLoggerResources = Microsoft.TestPlatform.Extensions.TrxLogger.Resources.TrxResource;
+
///
/// Class for all tests
///
@@ -272,8 +274,8 @@ public override string ToString()
return string.Format(
CultureInfo.InvariantCulture,
"'{0}' {1}",
- this.name != null ? this.name : TrxResource.Common_NullInMessages,
- this.id != null ? this.id.ToString() : TrxResource.Common_NullInMessages);
+ this.name != null ? this.name : TrxLoggerResources.Common_NullInMessages,
+ this.id != null ? this.id.ToString() : TrxLoggerResources.Common_NullInMessages);
}
///
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/UnitTestResult.cs b/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/UnitTestResult.cs
index f4ca34b50e..80d11fa66d 100644
--- a/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/UnitTestResult.cs
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/UnitTestResult.cs
@@ -13,6 +13,8 @@ namespace Microsoft.TestPlatform.Extensions.TrxLogger.ObjectModel
using Microsoft.TestPlatform.Extensions.TrxLogger.XML;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
+ using TrxLoggerResources = Microsoft.TestPlatform.Extensions.TrxLogger.Resources.TrxResource;
+
///
/// Class for unit test result.
///
@@ -288,7 +290,7 @@ public string TestResultsDirectory
if (this.testRun == null)
{
Debug.Fail("'m_testRun' is null");
- throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, TrxResource.Common_MissingRunInResult));
+ throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, TrxLoggerResources.Common_MissingRunInResult));
}
return this.testRun.GetResultFilesDirectory(this);
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/TrxResource.Designer.cs b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/TrxResource.Designer.cs
similarity index 98%
rename from src/Microsoft.TestPlatform.Extensions.TrxLogger/TrxResource.Designer.cs
rename to src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/TrxResource.Designer.cs
index 83a47f553c..d3ad2db7f1 100644
--- a/src/Microsoft.TestPlatform.Extensions.TrxLogger/TrxResource.Designer.cs
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/TrxResource.Designer.cs
@@ -1,4 +1,4 @@
-//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace Microsoft.TestPlatform.Extensions.TrxLogger {
+namespace Microsoft.TestPlatform.Extensions.TrxLogger.Resources {
using System;
using System.Reflection;
@@ -38,7 +38,7 @@ internal TrxResource() {
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.Extensions.TrxLogger.TrxResource", typeof(TrxResource).GetTypeInfo().Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.Extensions.TrxLogger.Resources.TrxResource", typeof(TrxResource).GetTypeInfo().Assembly);
resourceMan = temp;
}
return resourceMan;
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/TrxResource.resx b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/TrxResource.resx
similarity index 100%
rename from src/Microsoft.TestPlatform.Extensions.TrxLogger/TrxResource.resx
rename to src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/TrxResource.resx
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.cs.xlf b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.cs.xlf
new file mode 100644
index 0000000000..78a2f72168
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.cs.xlf
@@ -0,0 +1,159 @@
+
+
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ The parameter cannot be less than 0.
+ The parameter cannot be less than 0.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+
+
+
+ Test Settings are not specified.
+ Test Settings are not specified.
+
+
+
+ The active Test Settings do not define the Run Deployment Directory.
+ The active Test Settings do not define the Run Deployment Directory.
+
+
+
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+
+
+
+ The specified file/directory name '{0}' is not valid.
+ The specified file/directory name '{0}' is not valid.
+
+
+
+ {0}@{1} {2}
+ {0}@{1} {2}
+
+
+
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+
+
+
+ Test '{0}' was skipped in the test run.
+ Test '{0}' was skipped in the test run.
+
+
+
+ Results File: {0}
+ Results File: {0}
+
+
+
+ All Loaded Results
+ All Loaded Results
+
+
+
+ Results Not in a List
+ Results Not in a List
+
+
+
+ deployment item '{0}'
+ deployment item '{0}'
+
+
+
+ deployment item '{0}' (output directory '{1}')
+ deployment item '{0}' (output directory '{1}')
+
+
+
+ (null)
+ (null)
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.de.xlf b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.de.xlf
new file mode 100644
index 0000000000..b4fc996b55
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.de.xlf
@@ -0,0 +1,159 @@
+
+
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ The parameter cannot be less than 0.
+ The parameter cannot be less than 0.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+
+
+
+ Test Settings are not specified.
+ Test Settings are not specified.
+
+
+
+ The active Test Settings do not define the Run Deployment Directory.
+ The active Test Settings do not define the Run Deployment Directory.
+
+
+
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+
+
+
+ The specified file/directory name '{0}' is not valid.
+ The specified file/directory name '{0}' is not valid.
+
+
+
+ {0}@{1} {2}
+ {0}@{1} {2}
+
+
+
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+
+
+
+ Test '{0}' was skipped in the test run.
+ Test '{0}' was skipped in the test run.
+
+
+
+ Results File: {0}
+ Results File: {0}
+
+
+
+ All Loaded Results
+ All Loaded Results
+
+
+
+ Results Not in a List
+ Results Not in a List
+
+
+
+ deployment item '{0}'
+ deployment item '{0}'
+
+
+
+ deployment item '{0}' (output directory '{1}')
+ deployment item '{0}' (output directory '{1}')
+
+
+
+ (null)
+ (null)
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.es.xlf b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.es.xlf
new file mode 100644
index 0000000000..200265f448
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.es.xlf
@@ -0,0 +1,159 @@
+
+
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ The parameter cannot be less than 0.
+ The parameter cannot be less than 0.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+
+
+
+ Test Settings are not specified.
+ Test Settings are not specified.
+
+
+
+ The active Test Settings do not define the Run Deployment Directory.
+ The active Test Settings do not define the Run Deployment Directory.
+
+
+
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+
+
+
+ The specified file/directory name '{0}' is not valid.
+ The specified file/directory name '{0}' is not valid.
+
+
+
+ {0}@{1} {2}
+ {0}@{1} {2}
+
+
+
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+
+
+
+ Test '{0}' was skipped in the test run.
+ Test '{0}' was skipped in the test run.
+
+
+
+ Results File: {0}
+ Results File: {0}
+
+
+
+ All Loaded Results
+ All Loaded Results
+
+
+
+ Results Not in a List
+ Results Not in a List
+
+
+
+ deployment item '{0}'
+ deployment item '{0}'
+
+
+
+ deployment item '{0}' (output directory '{1}')
+ deployment item '{0}' (output directory '{1}')
+
+
+
+ (null)
+ (null)
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.fr.xlf b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.fr.xlf
new file mode 100644
index 0000000000..99d5c3c06c
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.fr.xlf
@@ -0,0 +1,159 @@
+
+
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ The parameter cannot be less than 0.
+ The parameter cannot be less than 0.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+
+
+
+ Test Settings are not specified.
+ Test Settings are not specified.
+
+
+
+ The active Test Settings do not define the Run Deployment Directory.
+ The active Test Settings do not define the Run Deployment Directory.
+
+
+
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+
+
+
+ The specified file/directory name '{0}' is not valid.
+ The specified file/directory name '{0}' is not valid.
+
+
+
+ {0}@{1} {2}
+ {0}@{1} {2}
+
+
+
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+
+
+
+ Test '{0}' was skipped in the test run.
+ Test '{0}' was skipped in the test run.
+
+
+
+ Results File: {0}
+ Results File: {0}
+
+
+
+ All Loaded Results
+ All Loaded Results
+
+
+
+ Results Not in a List
+ Results Not in a List
+
+
+
+ deployment item '{0}'
+ deployment item '{0}'
+
+
+
+ deployment item '{0}' (output directory '{1}')
+ deployment item '{0}' (output directory '{1}')
+
+
+
+ (null)
+ (null)
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.it.xlf b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.it.xlf
new file mode 100644
index 0000000000..ba7ab70a0d
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.it.xlf
@@ -0,0 +1,159 @@
+
+
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ The parameter cannot be less than 0.
+ The parameter cannot be less than 0.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+
+
+
+ Test Settings are not specified.
+ Test Settings are not specified.
+
+
+
+ The active Test Settings do not define the Run Deployment Directory.
+ The active Test Settings do not define the Run Deployment Directory.
+
+
+
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+
+
+
+ The specified file/directory name '{0}' is not valid.
+ The specified file/directory name '{0}' is not valid.
+
+
+
+ {0}@{1} {2}
+ {0}@{1} {2}
+
+
+
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+
+
+
+ Test '{0}' was skipped in the test run.
+ Test '{0}' was skipped in the test run.
+
+
+
+ Results File: {0}
+ Results File: {0}
+
+
+
+ All Loaded Results
+ All Loaded Results
+
+
+
+ Results Not in a List
+ Results Not in a List
+
+
+
+ deployment item '{0}'
+ deployment item '{0}'
+
+
+
+ deployment item '{0}' (output directory '{1}')
+ deployment item '{0}' (output directory '{1}')
+
+
+
+ (null)
+ (null)
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.ja.xlf b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.ja.xlf
new file mode 100644
index 0000000000..1e60f3b111
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.ja.xlf
@@ -0,0 +1,159 @@
+
+
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ The parameter cannot be less than 0.
+ The parameter cannot be less than 0.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+
+
+
+ Test Settings are not specified.
+ Test Settings are not specified.
+
+
+
+ The active Test Settings do not define the Run Deployment Directory.
+ The active Test Settings do not define the Run Deployment Directory.
+
+
+
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+
+
+
+ The specified file/directory name '{0}' is not valid.
+ The specified file/directory name '{0}' is not valid.
+
+
+
+ {0}@{1} {2}
+ {0}@{1} {2}
+
+
+
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+
+
+
+ Test '{0}' was skipped in the test run.
+ Test '{0}' was skipped in the test run.
+
+
+
+ Results File: {0}
+ Results File: {0}
+
+
+
+ All Loaded Results
+ All Loaded Results
+
+
+
+ Results Not in a List
+ Results Not in a List
+
+
+
+ deployment item '{0}'
+ deployment item '{0}'
+
+
+
+ deployment item '{0}' (output directory '{1}')
+ deployment item '{0}' (output directory '{1}')
+
+
+
+ (null)
+ (null)
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.ko.xlf b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.ko.xlf
new file mode 100644
index 0000000000..2035636d4d
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.ko.xlf
@@ -0,0 +1,159 @@
+
+
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ The parameter cannot be less than 0.
+ The parameter cannot be less than 0.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+
+
+
+ Test Settings are not specified.
+ Test Settings are not specified.
+
+
+
+ The active Test Settings do not define the Run Deployment Directory.
+ The active Test Settings do not define the Run Deployment Directory.
+
+
+
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+
+
+
+ The specified file/directory name '{0}' is not valid.
+ The specified file/directory name '{0}' is not valid.
+
+
+
+ {0}@{1} {2}
+ {0}@{1} {2}
+
+
+
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+
+
+
+ Test '{0}' was skipped in the test run.
+ Test '{0}' was skipped in the test run.
+
+
+
+ Results File: {0}
+ Results File: {0}
+
+
+
+ All Loaded Results
+ All Loaded Results
+
+
+
+ Results Not in a List
+ Results Not in a List
+
+
+
+ deployment item '{0}'
+ deployment item '{0}'
+
+
+
+ deployment item '{0}' (output directory '{1}')
+ deployment item '{0}' (output directory '{1}')
+
+
+
+ (null)
+ (null)
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.pl.xlf b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.pl.xlf
new file mode 100644
index 0000000000..2329f8e940
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.pl.xlf
@@ -0,0 +1,159 @@
+
+
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ The parameter cannot be less than 0.
+ The parameter cannot be less than 0.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+
+
+
+ Test Settings are not specified.
+ Test Settings are not specified.
+
+
+
+ The active Test Settings do not define the Run Deployment Directory.
+ The active Test Settings do not define the Run Deployment Directory.
+
+
+
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+
+
+
+ The specified file/directory name '{0}' is not valid.
+ The specified file/directory name '{0}' is not valid.
+
+
+
+ {0}@{1} {2}
+ {0}@{1} {2}
+
+
+
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+
+
+
+ Test '{0}' was skipped in the test run.
+ Test '{0}' was skipped in the test run.
+
+
+
+ Results File: {0}
+ Results File: {0}
+
+
+
+ All Loaded Results
+ All Loaded Results
+
+
+
+ Results Not in a List
+ Results Not in a List
+
+
+
+ deployment item '{0}'
+ deployment item '{0}'
+
+
+
+ deployment item '{0}' (output directory '{1}')
+ deployment item '{0}' (output directory '{1}')
+
+
+
+ (null)
+ (null)
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.pt-BR.xlf b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.pt-BR.xlf
new file mode 100644
index 0000000000..73d6b720e0
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.pt-BR.xlf
@@ -0,0 +1,159 @@
+
+
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ The parameter cannot be less than 0.
+ The parameter cannot be less than 0.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+
+
+
+ Test Settings are not specified.
+ Test Settings are not specified.
+
+
+
+ The active Test Settings do not define the Run Deployment Directory.
+ The active Test Settings do not define the Run Deployment Directory.
+
+
+
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+
+
+
+ The specified file/directory name '{0}' is not valid.
+ The specified file/directory name '{0}' is not valid.
+
+
+
+ {0}@{1} {2}
+ {0}@{1} {2}
+
+
+
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+
+
+
+ Test '{0}' was skipped in the test run.
+ Test '{0}' was skipped in the test run.
+
+
+
+ Results File: {0}
+ Results File: {0}
+
+
+
+ All Loaded Results
+ All Loaded Results
+
+
+
+ Results Not in a List
+ Results Not in a List
+
+
+
+ deployment item '{0}'
+ deployment item '{0}'
+
+
+
+ deployment item '{0}' (output directory '{1}')
+ deployment item '{0}' (output directory '{1}')
+
+
+
+ (null)
+ (null)
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.ru.xlf b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.ru.xlf
new file mode 100644
index 0000000000..c396e0492a
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.ru.xlf
@@ -0,0 +1,159 @@
+
+
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ The parameter cannot be less than 0.
+ The parameter cannot be less than 0.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+
+
+
+ Test Settings are not specified.
+ Test Settings are not specified.
+
+
+
+ The active Test Settings do not define the Run Deployment Directory.
+ The active Test Settings do not define the Run Deployment Directory.
+
+
+
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+
+
+
+ The specified file/directory name '{0}' is not valid.
+ The specified file/directory name '{0}' is not valid.
+
+
+
+ {0}@{1} {2}
+ {0}@{1} {2}
+
+
+
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+
+
+
+ Test '{0}' was skipped in the test run.
+ Test '{0}' was skipped in the test run.
+
+
+
+ Results File: {0}
+ Results File: {0}
+
+
+
+ All Loaded Results
+ All Loaded Results
+
+
+
+ Results Not in a List
+ Results Not in a List
+
+
+
+ deployment item '{0}'
+ deployment item '{0}'
+
+
+
+ deployment item '{0}' (output directory '{1}')
+ deployment item '{0}' (output directory '{1}')
+
+
+
+ (null)
+ (null)
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.tr.xlf b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.tr.xlf
new file mode 100644
index 0000000000..f65bdd82b3
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.tr.xlf
@@ -0,0 +1,159 @@
+
+
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ The parameter cannot be less than 0.
+ The parameter cannot be less than 0.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+
+
+
+ Test Settings are not specified.
+ Test Settings are not specified.
+
+
+
+ The active Test Settings do not define the Run Deployment Directory.
+ The active Test Settings do not define the Run Deployment Directory.
+
+
+
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+
+
+
+ The specified file/directory name '{0}' is not valid.
+ The specified file/directory name '{0}' is not valid.
+
+
+
+ {0}@{1} {2}
+ {0}@{1} {2}
+
+
+
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+
+
+
+ Test '{0}' was skipped in the test run.
+ Test '{0}' was skipped in the test run.
+
+
+
+ Results File: {0}
+ Results File: {0}
+
+
+
+ All Loaded Results
+ All Loaded Results
+
+
+
+ Results Not in a List
+ Results Not in a List
+
+
+
+ deployment item '{0}'
+ deployment item '{0}'
+
+
+
+ deployment item '{0}' (output directory '{1}')
+ deployment item '{0}' (output directory '{1}')
+
+
+
+ (null)
+ (null)
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.xlf b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.xlf
new file mode 100644
index 0000000000..fd51175349
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.xlf
@@ -0,0 +1,128 @@
+
+
+
+
+
+ Aborted
+
+
+
+ Completed
+
+
+
+ Disconnected
+
+
+
+ Error
+
+
+
+ Failed
+
+
+
+ Inconclusive
+
+
+
+ In Progress
+
+
+
+ Not Executed
+
+
+
+ Not Runnable
+
+
+
+ Passed
+
+
+
+ Passed (run aborted)
+
+
+
+ Pending
+
+
+
+ Timeout
+
+
+
+ Warning
+
+
+
+ The parameter cannot be less than 0.
+
+
+
+ The parameter cannot be null or empty.
+
+
+
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+
+
+
+ Test Settings are not specified.
+
+
+
+ The active Test Settings do not define the Run Deployment Directory.
+
+
+
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+
+
+
+ The specified file/directory name '{0}' is not valid.
+
+
+
+ {0}@{1} {2}
+
+
+
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+
+
+
+ Test '{0}' was skipped in the test run.
+
+
+
+ Results File: {0}
+
+
+
+ All Loaded Results
+
+
+
+ Results Not in a List
+
+
+
+ deployment item '{0}'
+
+
+
+ deployment item '{0}' (output directory '{1}')
+
+
+
+ (null)
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.zh-Hans.xlf b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.zh-Hans.xlf
new file mode 100644
index 0000000000..a7a53fe0c0
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.zh-Hans.xlf
@@ -0,0 +1,159 @@
+
+
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ The parameter cannot be less than 0.
+ The parameter cannot be less than 0.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+
+
+
+ Test Settings are not specified.
+ Test Settings are not specified.
+
+
+
+ The active Test Settings do not define the Run Deployment Directory.
+ The active Test Settings do not define the Run Deployment Directory.
+
+
+
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+
+
+
+ The specified file/directory name '{0}' is not valid.
+ The specified file/directory name '{0}' is not valid.
+
+
+
+ {0}@{1} {2}
+ {0}@{1} {2}
+
+
+
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+
+
+
+ Test '{0}' was skipped in the test run.
+ Test '{0}' was skipped in the test run.
+
+
+
+ Results File: {0}
+ Results File: {0}
+
+
+
+ All Loaded Results
+ All Loaded Results
+
+
+
+ Results Not in a List
+ Results Not in a List
+
+
+
+ deployment item '{0}'
+ deployment item '{0}'
+
+
+
+ deployment item '{0}' (output directory '{1}')
+ deployment item '{0}' (output directory '{1}')
+
+
+
+ (null)
+ (null)
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.zh-Hant.xlf b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.zh-Hant.xlf
new file mode 100644
index 0000000000..225a172c83
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Resources/xlf/TrxResource.zh-Hant.xlf
@@ -0,0 +1,159 @@
+
+
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ The parameter cannot be less than 0.
+ The parameter cannot be less than 0.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+ Cannot get free name for {0}(1),(2),... in directory {1}. Please clean up this directory.
+
+
+
+ Test Settings are not specified.
+ Test Settings are not specified.
+
+
+
+ The active Test Settings do not define the Run Deployment Directory.
+ The active Test Settings do not define the Run Deployment Directory.
+
+
+
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+ The result is not associated with a test run. Use a result that was obtained from an in-progress or completed test run.
+
+
+
+ The specified file/directory name '{0}' is not valid.
+ The specified file/directory name '{0}' is not valid.
+
+
+
+ {0}@{1} {2}
+ {0}@{1} {2}
+
+
+
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+ Failed to attach files from: {0}
+Error Details: {1}:{2}
+
+
+
+ Test '{0}' was skipped in the test run.
+ Test '{0}' was skipped in the test run.
+
+
+
+ Results File: {0}
+ Results File: {0}
+
+
+
+ All Loaded Results
+ All Loaded Results
+
+
+
+ Results Not in a List
+ Results Not in a List
+
+
+
+ deployment item '{0}'
+ deployment item '{0}'
+
+
+
+ deployment item '{0}' (output directory '{1}')
+ deployment item '{0}' (output directory '{1}')
+
+
+
+ (null)
+ (null)
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/TrxLogger.cs b/src/Microsoft.TestPlatform.Extensions.TrxLogger/TrxLogger.cs
index a03da6c595..5d275d7bf1 100644
--- a/src/Microsoft.TestPlatform.Extensions.TrxLogger/TrxLogger.cs
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/TrxLogger.cs
@@ -11,7 +11,6 @@ namespace Microsoft.VisualStudio.TestPlatform.Extensions.TrxLogger
using System.Text;
using System.Xml;
- using Microsoft.TestPlatform.Extensions.TrxLogger;
using Microsoft.TestPlatform.Extensions.TrxLogger.ObjectModel;
using Microsoft.TestPlatform.Extensions.TrxLogger.Utility;
using Microsoft.TestPlatform.Extensions.TrxLogger.XML;
@@ -21,6 +20,7 @@ namespace Microsoft.VisualStudio.TestPlatform.Extensions.TrxLogger
using ObjectModel.Logging;
using TrxLoggerObjectModel = Microsoft.TestPlatform.Extensions.TrxLogger.ObjectModel;
+ using TrxLoggerResources = Microsoft.TestPlatform.Extensions.TrxLogger.Resources.TrxResource;
///
/// Logger for Generating TRX
@@ -360,7 +360,7 @@ internal void TestRunCompleteHandler(object sender, TestRunCompleteEventArgs e)
{
FileStream fs = File.OpenWrite(trxFileName);
rootElement.OwnerDocument.Save(fs);
- String resultsFileMessage = String.Format(CultureInfo.CurrentCulture, TrxResource.TrxLoggerResultsFile, trxFileName);
+ String resultsFileMessage = String.Format(CultureInfo.CurrentCulture, TrxLoggerResources.TrxLoggerResultsFile, trxFileName);
Console.WriteLine(resultsFileMessage);
}
catch (System.UnauthorizedAccessException fileWriteException)
@@ -421,7 +421,7 @@ private void HandleSkippedTest(ObjectModel.TestResult rsTestResult)
ObjectModel.TestCase testCase = rsTestResult.TestCase;
string testCaseName = !string.IsNullOrEmpty(testCase.DisplayName) ? testCase.DisplayName : testCase.FullyQualifiedName;
- string message = String.Format(CultureInfo.CurrentCulture, TrxResource.MessageForSkippedTests, testCaseName);
+ string message = String.Format(CultureInfo.CurrentCulture, TrxLoggerResources.MessageForSkippedTests, testCaseName);
this.AddRunLevelInformationalMessage(message);
}
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Utility/Converter.cs b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Utility/Converter.cs
index 4ba252b7ac..62a972ab8d 100644
--- a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Utility/Converter.cs
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Utility/Converter.cs
@@ -13,9 +13,11 @@ namespace Microsoft.TestPlatform.Extensions.TrxLogger.Utility
using Microsoft.TestPlatform.Extensions.TrxLogger.ObjectModel;
using Microsoft.VisualStudio.TestPlatform.Extensions.TrxLogger;
- using TrxObjectModel = Microsoft.TestPlatform.Extensions.TrxLogger.ObjectModel;
using ObjectModel = Microsoft.VisualStudio.TestPlatform.ObjectModel;
+ using TrxLoggerResources = Microsoft.TestPlatform.Extensions.TrxLogger.Resources.TrxResource;
+ using TrxObjectModel = Microsoft.TestPlatform.Extensions.TrxLogger.ObjectModel;
+
///
/// The converter class.
///
@@ -223,7 +225,7 @@ internal static IList ToResultFiles(IEnumerable
/// Class to be used for parameter verification.
///
@@ -58,7 +60,7 @@ public static void StringNotNullOrEmpty(string parameter, string parameterName)
Debug.Assert(!string.IsNullOrEmpty(parameter), string.Format(CultureInfo.InvariantCulture, "'{0}' is null or empty", parameterName));
if (string.IsNullOrEmpty(parameter))
{
- throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, TrxResource.Common_CannotBeNullOrEmpty));
+ throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, TrxLoggerResources.Common_CannotBeNullOrEmpty));
}
}
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Utility/FilterHelper.cs b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Utility/FilterHelper.cs
index 267e752c19..b995817c1e 100644
--- a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Utility/FilterHelper.cs
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Utility/FilterHelper.cs
@@ -11,6 +11,8 @@ namespace Microsoft.TestPlatform.Extensions.TrxLogger.Utility
using System.Text;
using System.Text.RegularExpressions;
+ using TrxLoggerResources = Microsoft.TestPlatform.Extensions.TrxLogger.Resources.TrxResource;
+
///
/// Helper function to deal with file name.
///
@@ -80,7 +82,7 @@ public static string ReplaceInvalidFileNameChars(string fileName)
if (replaced.Length == 0)
{
Debug.Fail(string.Format(CultureInfo.InvariantCulture, "After replacing invalid chars in file '{0}' there's nothing left...", fileName));
- throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, TrxResource.Common_NothingLeftAfterReplaciingBadCharsInName, fileName));
+ throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, TrxLoggerResources.Common_NothingLeftAfterReplaciingBadCharsInName, fileName));
}
if (IsReservedFileName(replaced))
@@ -275,7 +277,7 @@ private static string GetNextIterationNameHelper(
}
while (iteration != uint.MaxValue);
- throw new Exception(string.Format(CultureInfo.CurrentCulture, TrxResource.Common_CannotGetNextIterationName, originalName, baseDirectoryName));
+ throw new Exception(string.Format(CultureInfo.CurrentCulture, TrxLoggerResources.Common_CannotGetNextIterationName, originalName, baseDirectoryName));
}
private abstract class IterationHelper
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/project.json b/src/Microsoft.TestPlatform.Extensions.TrxLogger/project.json
index 71743356d9..42372d3580 100644
--- a/src/Microsoft.TestPlatform.Extensions.TrxLogger/project.json
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/project.json
@@ -4,7 +4,8 @@
"outputName": "Microsoft.VisualStudio.TestPlatform.Extensions.TrxLogger",
"delaySign": true,
"keyFile": "../../scripts/key.snk",
- "warningsAsErrors": true
+ "warningsAsErrors": true,
+ "embed": [ "Resources/*.resx" ]
},
"dependencies": {
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Client/DiscoveryCriteria.cs b/src/Microsoft.TestPlatform.ObjectModel/Client/DiscoveryCriteria.cs
index 3b00162bb0..2a7b18a2e1 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Client/DiscoveryCriteria.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/Client/DiscoveryCriteria.cs
@@ -7,6 +7,8 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client
using System.Linq;
using System.Runtime.Serialization;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources;
+
///
/// Defines the discovery criterion.
///
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Client/Events/TestRunChangedEventArgs.cs b/src/Microsoft.TestPlatform.ObjectModel/Client/Events/TestRunChangedEventArgs.cs
index 6991f6cacb..7b240e4b06 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Client/Events/TestRunChangedEventArgs.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/Client/Events/TestRunChangedEventArgs.cs
@@ -5,6 +5,7 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
+ using System.Linq;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Client/TestRunCriteria.cs b/src/Microsoft.TestPlatform.ObjectModel/Client/TestRunCriteria.cs
index d9f0235f15..ecf1391f71 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Client/TestRunCriteria.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/Client/TestRunCriteria.cs
@@ -10,6 +10,7 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client
using System.Text;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.Interfaces;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources;
///
/// Defines the testRun criterion
diff --git a/src/Microsoft.TestPlatform.ObjectModel/DataCollector/Common/RequestId.cs b/src/Microsoft.TestPlatform.ObjectModel/DataCollector/Common/RequestId.cs
index fce76eb99e..981a838e98 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/DataCollector/Common/RequestId.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/DataCollector/Common/RequestId.cs
@@ -5,6 +5,8 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection
using System;
using System.Diagnostics.CodeAnalysis;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources;
+
///
/// Wrapper class for a request ID that can be used for messages or events for identification
/// purposes
diff --git a/src/Microsoft.TestPlatform.ObjectModel/DataCollector/DataCollectionRunSettings.cs b/src/Microsoft.TestPlatform.ObjectModel/DataCollector/DataCollectionRunSettings.cs
index a1a646c52c..e29fdb7118 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/DataCollector/DataCollectionRunSettings.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/DataCollector/DataCollectionRunSettings.cs
@@ -138,7 +138,7 @@ public static DataCollectionRunSettings CreateDataCollectionRunSettings(
throw new SettingsException(
string.Format(
CultureInfo.CurrentCulture,
- Resources.InvalidSettingsXmlAttribute,
+ Resources.Resources.InvalidSettingsXmlAttribute,
dataCollectorsName,
reader.Name));
}
@@ -162,7 +162,7 @@ public static DataCollectionRunSettings CreateDataCollectionRunSettings(
throw new SettingsException(
string.Format(
CultureInfo.CurrentCulture,
- Resources.InvalidSettingsXmlElement,
+ Resources.Resources.InvalidSettingsXmlElement,
dataCollectorsName,
reader.Name));
}
@@ -195,7 +195,7 @@ internal static List ReadListElementFromXml(XmlReader rea
throw new SettingsException(
string.Format(
CultureInfo.CurrentCulture,
- Resources.InvalidSettingsXmlAttribute,
+ Resources.Resources.InvalidSettingsXmlAttribute,
dataCollectorsName,
reader.Name));
}
@@ -214,7 +214,7 @@ internal static List ReadListElementFromXml(XmlReader rea
throw new SettingsException(
string.Format(
CultureInfo.CurrentCulture,
- Resources.InvalidSettingsXmlElement,
+ Resources.Resources.InvalidSettingsXmlElement,
dataCollectorsName,
reader.Name));
}
diff --git a/src/Microsoft.TestPlatform.ObjectModel/DataCollector/DataCollectorSettings.cs b/src/Microsoft.TestPlatform.ObjectModel/DataCollector/DataCollectorSettings.cs
index c475d1a144..371669c93a 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/DataCollector/DataCollectorSettings.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/DataCollector/DataCollectorSettings.cs
@@ -3,10 +3,7 @@
namespace Microsoft.VisualStudio.TestPlatform.ObjectModel
{
using System;
- using System.Collections.Generic;
using System.Globalization;
- using System.Linq;
- using System.Threading.Tasks;
using System.Xml;
///
@@ -159,7 +156,7 @@ internal static DataCollectorSettings FromXml(XmlReader reader)
throw new SettingsException(
String.Format(
CultureInfo.CurrentCulture,
- Resources.InvalidSettingsXmlAttribute,
+ Resources.Resources.InvalidSettingsXmlAttribute,
Constants.DataCollectionRunSettingsName,
reader.Name));
}
@@ -170,14 +167,14 @@ internal static DataCollectorSettings FromXml(XmlReader reader)
if (settings.Uri == null)
{
throw new SettingsException(
- String.Format(CultureInfo.CurrentCulture, Resources.MissingDataCollectorAttributes, "Uri"));
+ String.Format(CultureInfo.CurrentCulture, Resources.Resources.MissingDataCollectorAttributes, "Uri"));
}
if (settings.AssemblyQualifiedName == null)
{
throw new SettingsException(
String.Format(
CultureInfo.CurrentCulture,
- Resources.MissingDataCollectorAttributes,
+ Resources.Resources.MissingDataCollectorAttributes,
"AssemblyQualifiedName"));
}
@@ -199,7 +196,7 @@ internal static DataCollectorSettings FromXml(XmlReader reader)
throw new SettingsException(
String.Format(
CultureInfo.CurrentCulture,
- Resources.InvalidSettingsXmlElement,
+ Resources.Resources.InvalidSettingsXmlElement,
Constants.DataCollectionRunSettingsName,
reader.Name));
}
diff --git a/src/Microsoft.TestPlatform.ObjectModel/DataCollector/TransferInformation/FileTransferInformation.cs b/src/Microsoft.TestPlatform.ObjectModel/DataCollector/TransferInformation/FileTransferInformation.cs
index be6b8682a0..0ce024bf2f 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/DataCollector/TransferInformation/FileTransferInformation.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/DataCollector/TransferInformation/FileTransferInformation.cs
@@ -29,7 +29,7 @@ public FileTransferInformation(DataCollectionContext context, string path, bool
// Make sure the file exists.
if (!File.Exists(path))
{
- throw new FileNotFoundException(string.Format(Resources.Common_FileNotExist, new object[] { path }), path);
+ throw new FileNotFoundException(string.Format(Resources.Resources.Common_FileNotExist, new object[] { path }), path);
}
// Make sure the path we have is a full path (not relative).
diff --git a/src/Microsoft.TestPlatform.ObjectModel/DataCollector/TransferInformation/StreamTransferInformation.cs b/src/Microsoft.TestPlatform.ObjectModel/DataCollector/TransferInformation/StreamTransferInformation.cs
index 65d26f6b12..87ff7ac7ab 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/DataCollector/TransferInformation/StreamTransferInformation.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/DataCollector/TransferInformation/StreamTransferInformation.cs
@@ -29,26 +29,26 @@ public StreamTransferInformation(DataCollectionContext context, Stream stream, s
if ((fileName == null) ||
(fileName = fileName.Trim()).Length == 0)
{
- throw new ArgumentException(Resources.Common_CannotBeNullOrEmpty, "fileName");
+ throw new ArgumentException(Resources.Resources.Common_CannotBeNullOrEmpty, "fileName");
}
// Make sure the filename provided is not a reserved filename.
if (FileHelper.IsReservedFileName(fileName))
{
- throw new ArgumentException(string.Format(Resources.DataCollectionSink_ReservedFilenameUsed, new object[] { fileName }), "fileName");
+ throw new ArgumentException(string.Format(Resources.Resources.DataCollectionSink_ReservedFilenameUsed, new object[] { fileName }), "fileName");
}
// Make sure just the filename was provided.
string invalidCharacters;
if (!FileHelper.IsValidFileName(fileName, out invalidCharacters))
{
- throw new ArgumentException(string.Format(Resources.DataCollectionSink_InvalidFileNameCharacters, new object[] { fileName, invalidCharacters }), "fileName");
+ throw new ArgumentException(string.Format(Resources.Resources.DataCollectionSink_InvalidFileNameCharacters, new object[] { fileName, invalidCharacters }), "fileName");
}
// If we can not read the stream, throw.
if (!stream.CanRead)
{
- throw new InvalidOperationException(Resources.DataCollectionSink_CanNotReadStream);
+ throw new InvalidOperationException(Resources.Resources.DataCollectionSink_CanNotReadStream);
}
Stream = stream;
diff --git a/src/Microsoft.TestPlatform.ObjectModel/DefaultExecutorUriAttribute.cs b/src/Microsoft.TestPlatform.ObjectModel/DefaultExecutorUriAttribute.cs
index 9c2040a37c..c88515ae82 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/DefaultExecutorUriAttribute.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/DefaultExecutorUriAttribute.cs
@@ -4,6 +4,8 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel
{
using System;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources;
+
///
/// This attribute is applied on the discoverers to inform the framework about their default executor.
///
diff --git a/src/Microsoft.TestPlatform.ObjectModel/ExtensionUriAttribute.cs b/src/Microsoft.TestPlatform.ObjectModel/ExtensionUriAttribute.cs
index 9605eb552d..d203b54952 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/ExtensionUriAttribute.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/ExtensionUriAttribute.cs
@@ -4,6 +4,8 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel
{
using System;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources;
+
///
/// This attribute is applied to extensions so they can be uniquely identified.
/// It indicates the Uri which uniquely identifies the extension. If this attribute
diff --git a/src/Microsoft.TestPlatform.ObjectModel/FileExtensionAttribute.cs b/src/Microsoft.TestPlatform.ObjectModel/FileExtensionAttribute.cs
index 60b0de07bf..f360f179f6 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/FileExtensionAttribute.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/FileExtensionAttribute.cs
@@ -4,6 +4,8 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel
{
using System;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources;
+
///
/// This attribute is applied to ITestDiscoverers. It indicates
/// which file extensions the test discoverer knows how to process.
diff --git a/src/Microsoft.TestPlatform.ObjectModel/FriendlyNameAttribute.cs b/src/Microsoft.TestPlatform.ObjectModel/FriendlyNameAttribute.cs
index 782df7e060..699d73a26f 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/FriendlyNameAttribute.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/FriendlyNameAttribute.cs
@@ -4,6 +4,8 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel
{
using System;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources;
+
///
/// This attribute is applied to Loggers so they can be uniquely identified.
/// It indicates the Friendly Name which uniquely identifies the extension.
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Logging/Events/TestRunMessageEventArgs.cs b/src/Microsoft.TestPlatform.ObjectModel/Logging/Events/TestRunMessageEventArgs.cs
index ce7928c70d..323e004861 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Logging/Events/TestRunMessageEventArgs.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/Logging/Events/TestRunMessageEventArgs.cs
@@ -5,6 +5,8 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging
using System;
using System.Runtime.Serialization;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources;
+
///
/// Event arguments used for raising Test Run Message events.
///
diff --git a/src/Microsoft.TestPlatform.ObjectModel/CommonResources.Designer.cs b/src/Microsoft.TestPlatform.ObjectModel/Resources/CommonResources.Designer.cs
similarity index 93%
rename from src/Microsoft.TestPlatform.ObjectModel/CommonResources.Designer.cs
rename to src/Microsoft.TestPlatform.ObjectModel/Resources/CommonResources.Designer.cs
index 269ec30bbf..2d70b03e38 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/CommonResources.Designer.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/CommonResources.Designer.cs
@@ -1,4 +1,4 @@
-//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace Microsoft.VisualStudio.TestPlatform.ObjectModel {
+namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources {
using System;
using System.Reflection;
@@ -38,7 +38,7 @@ internal CommonResources() {
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.ObjectModel.CommonResources", typeof(CommonResources).GetTypeInfo().Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.ObjectModel.Resources.CommonResources", typeof(CommonResources).GetTypeInfo().Assembly);
resourceMan = temp;
}
return resourceMan;
diff --git a/src/Microsoft.TestPlatform.ObjectModel/CommonResources.resx b/src/Microsoft.TestPlatform.ObjectModel/Resources/CommonResources.resx
similarity index 100%
rename from src/Microsoft.TestPlatform.ObjectModel/CommonResources.resx
rename to src/Microsoft.TestPlatform.ObjectModel/Resources/CommonResources.resx
diff --git a/src/Microsoft.TestPlatform.ObjectModel/CommonResources.tt b/src/Microsoft.TestPlatform.ObjectModel/Resources/CommonResources.tt
similarity index 100%
rename from src/Microsoft.TestPlatform.ObjectModel/CommonResources.tt
rename to src/Microsoft.TestPlatform.ObjectModel/Resources/CommonResources.tt
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources.Designer.cs b/src/Microsoft.TestPlatform.ObjectModel/Resources/Resources.Designer.cs
similarity index 99%
rename from src/Microsoft.TestPlatform.ObjectModel/Resources.Designer.cs
rename to src/Microsoft.TestPlatform.ObjectModel/Resources/Resources.Designer.cs
index 71641eed47..a5c9da5997 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Resources.Designer.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/Resources.Designer.cs
@@ -1,4 +1,4 @@
-//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace Microsoft.VisualStudio.TestPlatform.ObjectModel {
+namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources {
using System;
using System.Reflection;
@@ -38,7 +38,7 @@ internal Resources() {
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.ObjectModel.Resources", typeof(Resources).GetTypeInfo().Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.ObjectModel.Resources.Resources", typeof(Resources).GetTypeInfo().Assembly);
resourceMan = temp;
}
return resourceMan;
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources.resx b/src/Microsoft.TestPlatform.ObjectModel/Resources/Resources.resx
similarity index 100%
rename from src/Microsoft.TestPlatform.ObjectModel/Resources.resx
rename to src/Microsoft.TestPlatform.ObjectModel/Resources/Resources.resx
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.cs.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.cs.xlf
new file mode 100644
index 0000000000..c2c24f25a5
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.cs.xlf
@@ -0,0 +1,22 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+
+
+
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.de.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.de.xlf
new file mode 100644
index 0000000000..960b502277
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.de.xlf
@@ -0,0 +1,22 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+
+
+
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.es.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.es.xlf
new file mode 100644
index 0000000000..f67b249274
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.es.xlf
@@ -0,0 +1,22 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+
+
+
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.fr.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.fr.xlf
new file mode 100644
index 0000000000..76cdfcb21b
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.fr.xlf
@@ -0,0 +1,22 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+
+
+
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.it.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.it.xlf
new file mode 100644
index 0000000000..7ba4239885
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.it.xlf
@@ -0,0 +1,22 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+
+
+
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ja.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ja.xlf
new file mode 100644
index 0000000000..d4cdd1d1d6
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ja.xlf
@@ -0,0 +1,22 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+
+
+
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ko.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ko.xlf
new file mode 100644
index 0000000000..f33a17d063
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ko.xlf
@@ -0,0 +1,22 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+
+
+
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.pl.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.pl.xlf
new file mode 100644
index 0000000000..b6edbcfd1b
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.pl.xlf
@@ -0,0 +1,22 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+
+
+
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.pt-BR.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.pt-BR.xlf
new file mode 100644
index 0000000000..979daff652
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.pt-BR.xlf
@@ -0,0 +1,22 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+
+
+
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ru.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ru.xlf
new file mode 100644
index 0000000000..25c984b111
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.ru.xlf
@@ -0,0 +1,22 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+
+
+
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.tr.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.tr.xlf
new file mode 100644
index 0000000000..f468fceeb5
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.tr.xlf
@@ -0,0 +1,22 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+
+
+
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.xlf
new file mode 100644
index 0000000000..7a81f9a004
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.xlf
@@ -0,0 +1,19 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+
+
+
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+
+
+
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.zh-Hans.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.zh-Hans.xlf
new file mode 100644
index 0000000000..ee819ac6a5
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.zh-Hans.xlf
@@ -0,0 +1,22 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+
+
+
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.zh-Hant.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.zh-Hant.xlf
new file mode 100644
index 0000000000..27bd234c14
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/CommonResources.zh-Hant.xlf
@@ -0,0 +1,22 @@
+
+
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+ Test run will use DLL(s) built for framework {0} and platform {1}. Following DLL(s) will not be part of run: {2} Go to {3} for more details on managing these settings.
+
+
+
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+ None of the provided test containers match the Platform Architecture and .Net Framework settings for the test run. Platform: {0} .Net Framework: {1}. Go to http://go.microsoft.com/fwlink/?LinkID=330428 for more details on managing these settings.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.cs.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.cs.xlf
new file mode 100644
index 0000000000..5feea2f5f2
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.cs.xlf
@@ -0,0 +1,323 @@
+
+
+
+
+
+ Failed
+ Failed
+ Test result for failed test
+
+
+ None
+ None
+
+
+
+ Passed
+ Passed
+ Test result for passed test
+
+
+ {0,-10} {1}
+ {0,-10} {1}
+
+
+
+ {0}:
+{1}
+ {0}:
+{1}
+
+
+
+ Test Messages:
+{0}
+ Test Messages:
+{0}
+
+
+
+ Message: {0}
+ Message: {0}
+
+
+
+ StackTrace:
+{0}
+ StackTrace:
+{0}
+
+
+
+ (null)
+ (null)
+
+
+
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+
+
+
+ Column Number
+ Column Number
+ The label of the test property ColumnNumber for test case.
+
+
+ Executor Uri
+ Executor Uri
+ The label of the test property ExecutorUri for test case.
+
+
+ Source
+ Source
+ The label of the test property Source for test case.
+
+
+ Line Number
+ Line Number
+ The label of the test property LineNumber for test case.
+
+
+ Name
+ Name
+ The label of the test property Name for test case.
+
+
+ Computer Name
+ Computer Name
+ The label of the test property ComputerName for test result.
+
+
+ TestResult Display Name
+ TestResult Display Name
+ The label of TestResult.DisplayName, mainly used for parameterized data tests
+
+
+ Duration
+ Duration
+ The label of the test property Duration for test result.
+
+
+ End Time
+ End Time
+ The label of the test property EndTime for test result.
+
+
+ Error Column Number
+ Error Column Number
+ The label of the test property ErrorColumnNumber for test result.
+
+
+ Error Message
+ Error Message
+ The label of the test property ErrorMessage for test result.
+
+
+ Error Stack Trace
+ Error Stack Trace
+ The label of the test property ErrorStackTrace for test result.
+
+
+ Outcome
+ Outcome
+ The label of the test property Outcome for test result.
+
+
+ Start Time
+ Start Time
+ The label of the test property StartTime for test result.
+
+
+ Cannot find TypeConverter for type {0}.
+ Cannot find TypeConverter for type {0}.
+
+
+
+ File Path
+ File Path
+ The label of the test property FilePath for test case.
+
+
+ Notification frequency need to be a positive value.
+ Notification frequency need to be a positive value.
+ frequency for DiscoveryCriteria/TestRunCriteria needs to be a positive value
+
+
+ Id
+ Id
+
+
+
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+
+
+
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+
+
+
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+
+
+
+ NotFound
+ NotFound
+ Test result for not found test
+
+
+ Skipped
+ Skipped
+ Test result for skipped test
+
+
+ Notification timeout must be greater than zero.
+ Notification timeout must be greater than zero.
+ Timeout used during test discovery and execution must be greater than zero.
+
+
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ The root node of the run settings must be named 'RunSettings'.
+ The root node of the run settings must be named 'RunSettings'.
+
+
+
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+
+
+
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+
+
+
+ Could not find '{0}' node
+ Could not find '{0}' node
+ Error message when the specified {0} xml node can not be found in the run settings xml document
+
+
+ FullyQualifiedName
+ FullyQualifiedName
+
+
+
+ Traits
+ Traits
+ The label of the test property Traits for test case.
+
+
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ File {0} does not exist.
+ File {0} does not exist.
+
+
+
+ Object must be of type {0}.
+ Object must be of type {0}.
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+
+
+
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+
+
+
+ The provided file name '{0}' is reserved.
+ The provided file name '{0}' is reserved.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.de.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.de.xlf
new file mode 100644
index 0000000000..4931a776bb
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.de.xlf
@@ -0,0 +1,323 @@
+
+
+
+
+
+ Failed
+ Failed
+ Test result for failed test
+
+
+ None
+ None
+
+
+
+ Passed
+ Passed
+ Test result for passed test
+
+
+ {0,-10} {1}
+ {0,-10} {1}
+
+
+
+ {0}:
+{1}
+ {0}:
+{1}
+
+
+
+ Test Messages:
+{0}
+ Test Messages:
+{0}
+
+
+
+ Message: {0}
+ Message: {0}
+
+
+
+ StackTrace:
+{0}
+ StackTrace:
+{0}
+
+
+
+ (null)
+ (null)
+
+
+
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+
+
+
+ Column Number
+ Column Number
+ The label of the test property ColumnNumber for test case.
+
+
+ Executor Uri
+ Executor Uri
+ The label of the test property ExecutorUri for test case.
+
+
+ Source
+ Source
+ The label of the test property Source for test case.
+
+
+ Line Number
+ Line Number
+ The label of the test property LineNumber for test case.
+
+
+ Name
+ Name
+ The label of the test property Name for test case.
+
+
+ Computer Name
+ Computer Name
+ The label of the test property ComputerName for test result.
+
+
+ TestResult Display Name
+ TestResult Display Name
+ The label of TestResult.DisplayName, mainly used for parameterized data tests
+
+
+ Duration
+ Duration
+ The label of the test property Duration for test result.
+
+
+ End Time
+ End Time
+ The label of the test property EndTime for test result.
+
+
+ Error Column Number
+ Error Column Number
+ The label of the test property ErrorColumnNumber for test result.
+
+
+ Error Message
+ Error Message
+ The label of the test property ErrorMessage for test result.
+
+
+ Error Stack Trace
+ Error Stack Trace
+ The label of the test property ErrorStackTrace for test result.
+
+
+ Outcome
+ Outcome
+ The label of the test property Outcome for test result.
+
+
+ Start Time
+ Start Time
+ The label of the test property StartTime for test result.
+
+
+ Cannot find TypeConverter for type {0}.
+ Cannot find TypeConverter for type {0}.
+
+
+
+ File Path
+ File Path
+ The label of the test property FilePath for test case.
+
+
+ Notification frequency need to be a positive value.
+ Notification frequency need to be a positive value.
+ frequency for DiscoveryCriteria/TestRunCriteria needs to be a positive value
+
+
+ Id
+ Id
+
+
+
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+
+
+
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+
+
+
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+
+
+
+ NotFound
+ NotFound
+ Test result for not found test
+
+
+ Skipped
+ Skipped
+ Test result for skipped test
+
+
+ Notification timeout must be greater than zero.
+ Notification timeout must be greater than zero.
+ Timeout used during test discovery and execution must be greater than zero.
+
+
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ The root node of the run settings must be named 'RunSettings'.
+ The root node of the run settings must be named 'RunSettings'.
+
+
+
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+
+
+
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+
+
+
+ Could not find '{0}' node
+ Could not find '{0}' node
+ Error message when the specified {0} xml node can not be found in the run settings xml document
+
+
+ FullyQualifiedName
+ FullyQualifiedName
+
+
+
+ Traits
+ Traits
+ The label of the test property Traits for test case.
+
+
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ File {0} does not exist.
+ File {0} does not exist.
+
+
+
+ Object must be of type {0}.
+ Object must be of type {0}.
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+
+
+
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+
+
+
+ The provided file name '{0}' is reserved.
+ The provided file name '{0}' is reserved.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.es.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.es.xlf
new file mode 100644
index 0000000000..c583845efc
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.es.xlf
@@ -0,0 +1,323 @@
+
+
+
+
+
+ Failed
+ Failed
+ Test result for failed test
+
+
+ None
+ None
+
+
+
+ Passed
+ Passed
+ Test result for passed test
+
+
+ {0,-10} {1}
+ {0,-10} {1}
+
+
+
+ {0}:
+{1}
+ {0}:
+{1}
+
+
+
+ Test Messages:
+{0}
+ Test Messages:
+{0}
+
+
+
+ Message: {0}
+ Message: {0}
+
+
+
+ StackTrace:
+{0}
+ StackTrace:
+{0}
+
+
+
+ (null)
+ (null)
+
+
+
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+
+
+
+ Column Number
+ Column Number
+ The label of the test property ColumnNumber for test case.
+
+
+ Executor Uri
+ Executor Uri
+ The label of the test property ExecutorUri for test case.
+
+
+ Source
+ Source
+ The label of the test property Source for test case.
+
+
+ Line Number
+ Line Number
+ The label of the test property LineNumber for test case.
+
+
+ Name
+ Name
+ The label of the test property Name for test case.
+
+
+ Computer Name
+ Computer Name
+ The label of the test property ComputerName for test result.
+
+
+ TestResult Display Name
+ TestResult Display Name
+ The label of TestResult.DisplayName, mainly used for parameterized data tests
+
+
+ Duration
+ Duration
+ The label of the test property Duration for test result.
+
+
+ End Time
+ End Time
+ The label of the test property EndTime for test result.
+
+
+ Error Column Number
+ Error Column Number
+ The label of the test property ErrorColumnNumber for test result.
+
+
+ Error Message
+ Error Message
+ The label of the test property ErrorMessage for test result.
+
+
+ Error Stack Trace
+ Error Stack Trace
+ The label of the test property ErrorStackTrace for test result.
+
+
+ Outcome
+ Outcome
+ The label of the test property Outcome for test result.
+
+
+ Start Time
+ Start Time
+ The label of the test property StartTime for test result.
+
+
+ Cannot find TypeConverter for type {0}.
+ Cannot find TypeConverter for type {0}.
+
+
+
+ File Path
+ File Path
+ The label of the test property FilePath for test case.
+
+
+ Notification frequency need to be a positive value.
+ Notification frequency need to be a positive value.
+ frequency for DiscoveryCriteria/TestRunCriteria needs to be a positive value
+
+
+ Id
+ Id
+
+
+
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+
+
+
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+
+
+
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+
+
+
+ NotFound
+ NotFound
+ Test result for not found test
+
+
+ Skipped
+ Skipped
+ Test result for skipped test
+
+
+ Notification timeout must be greater than zero.
+ Notification timeout must be greater than zero.
+ Timeout used during test discovery and execution must be greater than zero.
+
+
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ The root node of the run settings must be named 'RunSettings'.
+ The root node of the run settings must be named 'RunSettings'.
+
+
+
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+
+
+
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+
+
+
+ Could not find '{0}' node
+ Could not find '{0}' node
+ Error message when the specified {0} xml node can not be found in the run settings xml document
+
+
+ FullyQualifiedName
+ FullyQualifiedName
+
+
+
+ Traits
+ Traits
+ The label of the test property Traits for test case.
+
+
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ File {0} does not exist.
+ File {0} does not exist.
+
+
+
+ Object must be of type {0}.
+ Object must be of type {0}.
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+
+
+
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+
+
+
+ The provided file name '{0}' is reserved.
+ The provided file name '{0}' is reserved.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.fr.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.fr.xlf
new file mode 100644
index 0000000000..6de5b485bc
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.fr.xlf
@@ -0,0 +1,323 @@
+
+
+
+
+
+ Failed
+ Failed
+ Test result for failed test
+
+
+ None
+ None
+
+
+
+ Passed
+ Passed
+ Test result for passed test
+
+
+ {0,-10} {1}
+ {0,-10} {1}
+
+
+
+ {0}:
+{1}
+ {0}:
+{1}
+
+
+
+ Test Messages:
+{0}
+ Test Messages:
+{0}
+
+
+
+ Message: {0}
+ Message: {0}
+
+
+
+ StackTrace:
+{0}
+ StackTrace:
+{0}
+
+
+
+ (null)
+ (null)
+
+
+
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+
+
+
+ Column Number
+ Column Number
+ The label of the test property ColumnNumber for test case.
+
+
+ Executor Uri
+ Executor Uri
+ The label of the test property ExecutorUri for test case.
+
+
+ Source
+ Source
+ The label of the test property Source for test case.
+
+
+ Line Number
+ Line Number
+ The label of the test property LineNumber for test case.
+
+
+ Name
+ Name
+ The label of the test property Name for test case.
+
+
+ Computer Name
+ Computer Name
+ The label of the test property ComputerName for test result.
+
+
+ TestResult Display Name
+ TestResult Display Name
+ The label of TestResult.DisplayName, mainly used for parameterized data tests
+
+
+ Duration
+ Duration
+ The label of the test property Duration for test result.
+
+
+ End Time
+ End Time
+ The label of the test property EndTime for test result.
+
+
+ Error Column Number
+ Error Column Number
+ The label of the test property ErrorColumnNumber for test result.
+
+
+ Error Message
+ Error Message
+ The label of the test property ErrorMessage for test result.
+
+
+ Error Stack Trace
+ Error Stack Trace
+ The label of the test property ErrorStackTrace for test result.
+
+
+ Outcome
+ Outcome
+ The label of the test property Outcome for test result.
+
+
+ Start Time
+ Start Time
+ The label of the test property StartTime for test result.
+
+
+ Cannot find TypeConverter for type {0}.
+ Cannot find TypeConverter for type {0}.
+
+
+
+ File Path
+ File Path
+ The label of the test property FilePath for test case.
+
+
+ Notification frequency need to be a positive value.
+ Notification frequency need to be a positive value.
+ frequency for DiscoveryCriteria/TestRunCriteria needs to be a positive value
+
+
+ Id
+ Id
+
+
+
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+
+
+
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+
+
+
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+
+
+
+ NotFound
+ NotFound
+ Test result for not found test
+
+
+ Skipped
+ Skipped
+ Test result for skipped test
+
+
+ Notification timeout must be greater than zero.
+ Notification timeout must be greater than zero.
+ Timeout used during test discovery and execution must be greater than zero.
+
+
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ The root node of the run settings must be named 'RunSettings'.
+ The root node of the run settings must be named 'RunSettings'.
+
+
+
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+
+
+
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+
+
+
+ Could not find '{0}' node
+ Could not find '{0}' node
+ Error message when the specified {0} xml node can not be found in the run settings xml document
+
+
+ FullyQualifiedName
+ FullyQualifiedName
+
+
+
+ Traits
+ Traits
+ The label of the test property Traits for test case.
+
+
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ File {0} does not exist.
+ File {0} does not exist.
+
+
+
+ Object must be of type {0}.
+ Object must be of type {0}.
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+
+
+
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+
+
+
+ The provided file name '{0}' is reserved.
+ The provided file name '{0}' is reserved.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.it.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.it.xlf
new file mode 100644
index 0000000000..ed1ffad529
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.it.xlf
@@ -0,0 +1,323 @@
+
+
+
+
+
+ Failed
+ Failed
+ Test result for failed test
+
+
+ None
+ None
+
+
+
+ Passed
+ Passed
+ Test result for passed test
+
+
+ {0,-10} {1}
+ {0,-10} {1}
+
+
+
+ {0}:
+{1}
+ {0}:
+{1}
+
+
+
+ Test Messages:
+{0}
+ Test Messages:
+{0}
+
+
+
+ Message: {0}
+ Message: {0}
+
+
+
+ StackTrace:
+{0}
+ StackTrace:
+{0}
+
+
+
+ (null)
+ (null)
+
+
+
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+
+
+
+ Column Number
+ Column Number
+ The label of the test property ColumnNumber for test case.
+
+
+ Executor Uri
+ Executor Uri
+ The label of the test property ExecutorUri for test case.
+
+
+ Source
+ Source
+ The label of the test property Source for test case.
+
+
+ Line Number
+ Line Number
+ The label of the test property LineNumber for test case.
+
+
+ Name
+ Name
+ The label of the test property Name for test case.
+
+
+ Computer Name
+ Computer Name
+ The label of the test property ComputerName for test result.
+
+
+ TestResult Display Name
+ TestResult Display Name
+ The label of TestResult.DisplayName, mainly used for parameterized data tests
+
+
+ Duration
+ Duration
+ The label of the test property Duration for test result.
+
+
+ End Time
+ End Time
+ The label of the test property EndTime for test result.
+
+
+ Error Column Number
+ Error Column Number
+ The label of the test property ErrorColumnNumber for test result.
+
+
+ Error Message
+ Error Message
+ The label of the test property ErrorMessage for test result.
+
+
+ Error Stack Trace
+ Error Stack Trace
+ The label of the test property ErrorStackTrace for test result.
+
+
+ Outcome
+ Outcome
+ The label of the test property Outcome for test result.
+
+
+ Start Time
+ Start Time
+ The label of the test property StartTime for test result.
+
+
+ Cannot find TypeConverter for type {0}.
+ Cannot find TypeConverter for type {0}.
+
+
+
+ File Path
+ File Path
+ The label of the test property FilePath for test case.
+
+
+ Notification frequency need to be a positive value.
+ Notification frequency need to be a positive value.
+ frequency for DiscoveryCriteria/TestRunCriteria needs to be a positive value
+
+
+ Id
+ Id
+
+
+
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+
+
+
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+
+
+
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+
+
+
+ NotFound
+ NotFound
+ Test result for not found test
+
+
+ Skipped
+ Skipped
+ Test result for skipped test
+
+
+ Notification timeout must be greater than zero.
+ Notification timeout must be greater than zero.
+ Timeout used during test discovery and execution must be greater than zero.
+
+
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ The root node of the run settings must be named 'RunSettings'.
+ The root node of the run settings must be named 'RunSettings'.
+
+
+
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+
+
+
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+
+
+
+ Could not find '{0}' node
+ Could not find '{0}' node
+ Error message when the specified {0} xml node can not be found in the run settings xml document
+
+
+ FullyQualifiedName
+ FullyQualifiedName
+
+
+
+ Traits
+ Traits
+ The label of the test property Traits for test case.
+
+
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ File {0} does not exist.
+ File {0} does not exist.
+
+
+
+ Object must be of type {0}.
+ Object must be of type {0}.
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+
+
+
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+
+
+
+ The provided file name '{0}' is reserved.
+ The provided file name '{0}' is reserved.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.ja.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.ja.xlf
new file mode 100644
index 0000000000..567579b2c3
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.ja.xlf
@@ -0,0 +1,323 @@
+
+
+
+
+
+ Failed
+ Failed
+ Test result for failed test
+
+
+ None
+ None
+
+
+
+ Passed
+ Passed
+ Test result for passed test
+
+
+ {0,-10} {1}
+ {0,-10} {1}
+
+
+
+ {0}:
+{1}
+ {0}:
+{1}
+
+
+
+ Test Messages:
+{0}
+ Test Messages:
+{0}
+
+
+
+ Message: {0}
+ Message: {0}
+
+
+
+ StackTrace:
+{0}
+ StackTrace:
+{0}
+
+
+
+ (null)
+ (null)
+
+
+
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+
+
+
+ Column Number
+ Column Number
+ The label of the test property ColumnNumber for test case.
+
+
+ Executor Uri
+ Executor Uri
+ The label of the test property ExecutorUri for test case.
+
+
+ Source
+ Source
+ The label of the test property Source for test case.
+
+
+ Line Number
+ Line Number
+ The label of the test property LineNumber for test case.
+
+
+ Name
+ Name
+ The label of the test property Name for test case.
+
+
+ Computer Name
+ Computer Name
+ The label of the test property ComputerName for test result.
+
+
+ TestResult Display Name
+ TestResult Display Name
+ The label of TestResult.DisplayName, mainly used for parameterized data tests
+
+
+ Duration
+ Duration
+ The label of the test property Duration for test result.
+
+
+ End Time
+ End Time
+ The label of the test property EndTime for test result.
+
+
+ Error Column Number
+ Error Column Number
+ The label of the test property ErrorColumnNumber for test result.
+
+
+ Error Message
+ Error Message
+ The label of the test property ErrorMessage for test result.
+
+
+ Error Stack Trace
+ Error Stack Trace
+ The label of the test property ErrorStackTrace for test result.
+
+
+ Outcome
+ Outcome
+ The label of the test property Outcome for test result.
+
+
+ Start Time
+ Start Time
+ The label of the test property StartTime for test result.
+
+
+ Cannot find TypeConverter for type {0}.
+ Cannot find TypeConverter for type {0}.
+
+
+
+ File Path
+ File Path
+ The label of the test property FilePath for test case.
+
+
+ Notification frequency need to be a positive value.
+ Notification frequency need to be a positive value.
+ frequency for DiscoveryCriteria/TestRunCriteria needs to be a positive value
+
+
+ Id
+ Id
+
+
+
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+
+
+
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+
+
+
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+
+
+
+ NotFound
+ NotFound
+ Test result for not found test
+
+
+ Skipped
+ Skipped
+ Test result for skipped test
+
+
+ Notification timeout must be greater than zero.
+ Notification timeout must be greater than zero.
+ Timeout used during test discovery and execution must be greater than zero.
+
+
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ The root node of the run settings must be named 'RunSettings'.
+ The root node of the run settings must be named 'RunSettings'.
+
+
+
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+
+
+
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+
+
+
+ Could not find '{0}' node
+ Could not find '{0}' node
+ Error message when the specified {0} xml node can not be found in the run settings xml document
+
+
+ FullyQualifiedName
+ FullyQualifiedName
+
+
+
+ Traits
+ Traits
+ The label of the test property Traits for test case.
+
+
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ File {0} does not exist.
+ File {0} does not exist.
+
+
+
+ Object must be of type {0}.
+ Object must be of type {0}.
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+
+
+
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+
+
+
+ The provided file name '{0}' is reserved.
+ The provided file name '{0}' is reserved.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.ko.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.ko.xlf
new file mode 100644
index 0000000000..c3efb6a63d
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.ko.xlf
@@ -0,0 +1,323 @@
+
+
+
+
+
+ Failed
+ Failed
+ Test result for failed test
+
+
+ None
+ None
+
+
+
+ Passed
+ Passed
+ Test result for passed test
+
+
+ {0,-10} {1}
+ {0,-10} {1}
+
+
+
+ {0}:
+{1}
+ {0}:
+{1}
+
+
+
+ Test Messages:
+{0}
+ Test Messages:
+{0}
+
+
+
+ Message: {0}
+ Message: {0}
+
+
+
+ StackTrace:
+{0}
+ StackTrace:
+{0}
+
+
+
+ (null)
+ (null)
+
+
+
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+
+
+
+ Column Number
+ Column Number
+ The label of the test property ColumnNumber for test case.
+
+
+ Executor Uri
+ Executor Uri
+ The label of the test property ExecutorUri for test case.
+
+
+ Source
+ Source
+ The label of the test property Source for test case.
+
+
+ Line Number
+ Line Number
+ The label of the test property LineNumber for test case.
+
+
+ Name
+ Name
+ The label of the test property Name for test case.
+
+
+ Computer Name
+ Computer Name
+ The label of the test property ComputerName for test result.
+
+
+ TestResult Display Name
+ TestResult Display Name
+ The label of TestResult.DisplayName, mainly used for parameterized data tests
+
+
+ Duration
+ Duration
+ The label of the test property Duration for test result.
+
+
+ End Time
+ End Time
+ The label of the test property EndTime for test result.
+
+
+ Error Column Number
+ Error Column Number
+ The label of the test property ErrorColumnNumber for test result.
+
+
+ Error Message
+ Error Message
+ The label of the test property ErrorMessage for test result.
+
+
+ Error Stack Trace
+ Error Stack Trace
+ The label of the test property ErrorStackTrace for test result.
+
+
+ Outcome
+ Outcome
+ The label of the test property Outcome for test result.
+
+
+ Start Time
+ Start Time
+ The label of the test property StartTime for test result.
+
+
+ Cannot find TypeConverter for type {0}.
+ Cannot find TypeConverter for type {0}.
+
+
+
+ File Path
+ File Path
+ The label of the test property FilePath for test case.
+
+
+ Notification frequency need to be a positive value.
+ Notification frequency need to be a positive value.
+ frequency for DiscoveryCriteria/TestRunCriteria needs to be a positive value
+
+
+ Id
+ Id
+
+
+
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+
+
+
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+
+
+
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+
+
+
+ NotFound
+ NotFound
+ Test result for not found test
+
+
+ Skipped
+ Skipped
+ Test result for skipped test
+
+
+ Notification timeout must be greater than zero.
+ Notification timeout must be greater than zero.
+ Timeout used during test discovery and execution must be greater than zero.
+
+
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ The root node of the run settings must be named 'RunSettings'.
+ The root node of the run settings must be named 'RunSettings'.
+
+
+
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+
+
+
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+
+
+
+ Could not find '{0}' node
+ Could not find '{0}' node
+ Error message when the specified {0} xml node can not be found in the run settings xml document
+
+
+ FullyQualifiedName
+ FullyQualifiedName
+
+
+
+ Traits
+ Traits
+ The label of the test property Traits for test case.
+
+
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ File {0} does not exist.
+ File {0} does not exist.
+
+
+
+ Object must be of type {0}.
+ Object must be of type {0}.
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+
+
+
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+
+
+
+ The provided file name '{0}' is reserved.
+ The provided file name '{0}' is reserved.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.pl.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.pl.xlf
new file mode 100644
index 0000000000..d945661057
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.pl.xlf
@@ -0,0 +1,323 @@
+
+
+
+
+
+ Failed
+ Failed
+ Test result for failed test
+
+
+ None
+ None
+
+
+
+ Passed
+ Passed
+ Test result for passed test
+
+
+ {0,-10} {1}
+ {0,-10} {1}
+
+
+
+ {0}:
+{1}
+ {0}:
+{1}
+
+
+
+ Test Messages:
+{0}
+ Test Messages:
+{0}
+
+
+
+ Message: {0}
+ Message: {0}
+
+
+
+ StackTrace:
+{0}
+ StackTrace:
+{0}
+
+
+
+ (null)
+ (null)
+
+
+
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+
+
+
+ Column Number
+ Column Number
+ The label of the test property ColumnNumber for test case.
+
+
+ Executor Uri
+ Executor Uri
+ The label of the test property ExecutorUri for test case.
+
+
+ Source
+ Source
+ The label of the test property Source for test case.
+
+
+ Line Number
+ Line Number
+ The label of the test property LineNumber for test case.
+
+
+ Name
+ Name
+ The label of the test property Name for test case.
+
+
+ Computer Name
+ Computer Name
+ The label of the test property ComputerName for test result.
+
+
+ TestResult Display Name
+ TestResult Display Name
+ The label of TestResult.DisplayName, mainly used for parameterized data tests
+
+
+ Duration
+ Duration
+ The label of the test property Duration for test result.
+
+
+ End Time
+ End Time
+ The label of the test property EndTime for test result.
+
+
+ Error Column Number
+ Error Column Number
+ The label of the test property ErrorColumnNumber for test result.
+
+
+ Error Message
+ Error Message
+ The label of the test property ErrorMessage for test result.
+
+
+ Error Stack Trace
+ Error Stack Trace
+ The label of the test property ErrorStackTrace for test result.
+
+
+ Outcome
+ Outcome
+ The label of the test property Outcome for test result.
+
+
+ Start Time
+ Start Time
+ The label of the test property StartTime for test result.
+
+
+ Cannot find TypeConverter for type {0}.
+ Cannot find TypeConverter for type {0}.
+
+
+
+ File Path
+ File Path
+ The label of the test property FilePath for test case.
+
+
+ Notification frequency need to be a positive value.
+ Notification frequency need to be a positive value.
+ frequency for DiscoveryCriteria/TestRunCriteria needs to be a positive value
+
+
+ Id
+ Id
+
+
+
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+
+
+
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+
+
+
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+
+
+
+ NotFound
+ NotFound
+ Test result for not found test
+
+
+ Skipped
+ Skipped
+ Test result for skipped test
+
+
+ Notification timeout must be greater than zero.
+ Notification timeout must be greater than zero.
+ Timeout used during test discovery and execution must be greater than zero.
+
+
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ The root node of the run settings must be named 'RunSettings'.
+ The root node of the run settings must be named 'RunSettings'.
+
+
+
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+
+
+
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+
+
+
+ Could not find '{0}' node
+ Could not find '{0}' node
+ Error message when the specified {0} xml node can not be found in the run settings xml document
+
+
+ FullyQualifiedName
+ FullyQualifiedName
+
+
+
+ Traits
+ Traits
+ The label of the test property Traits for test case.
+
+
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ File {0} does not exist.
+ File {0} does not exist.
+
+
+
+ Object must be of type {0}.
+ Object must be of type {0}.
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+
+
+
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+
+
+
+ The provided file name '{0}' is reserved.
+ The provided file name '{0}' is reserved.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.pt-BR.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.pt-BR.xlf
new file mode 100644
index 0000000000..8ab28cb18b
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.pt-BR.xlf
@@ -0,0 +1,323 @@
+
+
+
+
+
+ Failed
+ Failed
+ Test result for failed test
+
+
+ None
+ None
+
+
+
+ Passed
+ Passed
+ Test result for passed test
+
+
+ {0,-10} {1}
+ {0,-10} {1}
+
+
+
+ {0}:
+{1}
+ {0}:
+{1}
+
+
+
+ Test Messages:
+{0}
+ Test Messages:
+{0}
+
+
+
+ Message: {0}
+ Message: {0}
+
+
+
+ StackTrace:
+{0}
+ StackTrace:
+{0}
+
+
+
+ (null)
+ (null)
+
+
+
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+
+
+
+ Column Number
+ Column Number
+ The label of the test property ColumnNumber for test case.
+
+
+ Executor Uri
+ Executor Uri
+ The label of the test property ExecutorUri for test case.
+
+
+ Source
+ Source
+ The label of the test property Source for test case.
+
+
+ Line Number
+ Line Number
+ The label of the test property LineNumber for test case.
+
+
+ Name
+ Name
+ The label of the test property Name for test case.
+
+
+ Computer Name
+ Computer Name
+ The label of the test property ComputerName for test result.
+
+
+ TestResult Display Name
+ TestResult Display Name
+ The label of TestResult.DisplayName, mainly used for parameterized data tests
+
+
+ Duration
+ Duration
+ The label of the test property Duration for test result.
+
+
+ End Time
+ End Time
+ The label of the test property EndTime for test result.
+
+
+ Error Column Number
+ Error Column Number
+ The label of the test property ErrorColumnNumber for test result.
+
+
+ Error Message
+ Error Message
+ The label of the test property ErrorMessage for test result.
+
+
+ Error Stack Trace
+ Error Stack Trace
+ The label of the test property ErrorStackTrace for test result.
+
+
+ Outcome
+ Outcome
+ The label of the test property Outcome for test result.
+
+
+ Start Time
+ Start Time
+ The label of the test property StartTime for test result.
+
+
+ Cannot find TypeConverter for type {0}.
+ Cannot find TypeConverter for type {0}.
+
+
+
+ File Path
+ File Path
+ The label of the test property FilePath for test case.
+
+
+ Notification frequency need to be a positive value.
+ Notification frequency need to be a positive value.
+ frequency for DiscoveryCriteria/TestRunCriteria needs to be a positive value
+
+
+ Id
+ Id
+
+
+
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+
+
+
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+
+
+
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+
+
+
+ NotFound
+ NotFound
+ Test result for not found test
+
+
+ Skipped
+ Skipped
+ Test result for skipped test
+
+
+ Notification timeout must be greater than zero.
+ Notification timeout must be greater than zero.
+ Timeout used during test discovery and execution must be greater than zero.
+
+
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ The root node of the run settings must be named 'RunSettings'.
+ The root node of the run settings must be named 'RunSettings'.
+
+
+
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+
+
+
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+
+
+
+ Could not find '{0}' node
+ Could not find '{0}' node
+ Error message when the specified {0} xml node can not be found in the run settings xml document
+
+
+ FullyQualifiedName
+ FullyQualifiedName
+
+
+
+ Traits
+ Traits
+ The label of the test property Traits for test case.
+
+
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ File {0} does not exist.
+ File {0} does not exist.
+
+
+
+ Object must be of type {0}.
+ Object must be of type {0}.
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+
+
+
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+
+
+
+ The provided file name '{0}' is reserved.
+ The provided file name '{0}' is reserved.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.ru.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.ru.xlf
new file mode 100644
index 0000000000..a748573458
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.ru.xlf
@@ -0,0 +1,323 @@
+
+
+
+
+
+ Failed
+ Failed
+ Test result for failed test
+
+
+ None
+ None
+
+
+
+ Passed
+ Passed
+ Test result for passed test
+
+
+ {0,-10} {1}
+ {0,-10} {1}
+
+
+
+ {0}:
+{1}
+ {0}:
+{1}
+
+
+
+ Test Messages:
+{0}
+ Test Messages:
+{0}
+
+
+
+ Message: {0}
+ Message: {0}
+
+
+
+ StackTrace:
+{0}
+ StackTrace:
+{0}
+
+
+
+ (null)
+ (null)
+
+
+
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+
+
+
+ Column Number
+ Column Number
+ The label of the test property ColumnNumber for test case.
+
+
+ Executor Uri
+ Executor Uri
+ The label of the test property ExecutorUri for test case.
+
+
+ Source
+ Source
+ The label of the test property Source for test case.
+
+
+ Line Number
+ Line Number
+ The label of the test property LineNumber for test case.
+
+
+ Name
+ Name
+ The label of the test property Name for test case.
+
+
+ Computer Name
+ Computer Name
+ The label of the test property ComputerName for test result.
+
+
+ TestResult Display Name
+ TestResult Display Name
+ The label of TestResult.DisplayName, mainly used for parameterized data tests
+
+
+ Duration
+ Duration
+ The label of the test property Duration for test result.
+
+
+ End Time
+ End Time
+ The label of the test property EndTime for test result.
+
+
+ Error Column Number
+ Error Column Number
+ The label of the test property ErrorColumnNumber for test result.
+
+
+ Error Message
+ Error Message
+ The label of the test property ErrorMessage for test result.
+
+
+ Error Stack Trace
+ Error Stack Trace
+ The label of the test property ErrorStackTrace for test result.
+
+
+ Outcome
+ Outcome
+ The label of the test property Outcome for test result.
+
+
+ Start Time
+ Start Time
+ The label of the test property StartTime for test result.
+
+
+ Cannot find TypeConverter for type {0}.
+ Cannot find TypeConverter for type {0}.
+
+
+
+ File Path
+ File Path
+ The label of the test property FilePath for test case.
+
+
+ Notification frequency need to be a positive value.
+ Notification frequency need to be a positive value.
+ frequency for DiscoveryCriteria/TestRunCriteria needs to be a positive value
+
+
+ Id
+ Id
+
+
+
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+
+
+
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+
+
+
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+
+
+
+ NotFound
+ NotFound
+ Test result for not found test
+
+
+ Skipped
+ Skipped
+ Test result for skipped test
+
+
+ Notification timeout must be greater than zero.
+ Notification timeout must be greater than zero.
+ Timeout used during test discovery and execution must be greater than zero.
+
+
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ The root node of the run settings must be named 'RunSettings'.
+ The root node of the run settings must be named 'RunSettings'.
+
+
+
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+
+
+
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+
+
+
+ Could not find '{0}' node
+ Could not find '{0}' node
+ Error message when the specified {0} xml node can not be found in the run settings xml document
+
+
+ FullyQualifiedName
+ FullyQualifiedName
+
+
+
+ Traits
+ Traits
+ The label of the test property Traits for test case.
+
+
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ File {0} does not exist.
+ File {0} does not exist.
+
+
+
+ Object must be of type {0}.
+ Object must be of type {0}.
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+
+
+
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+
+
+
+ The provided file name '{0}' is reserved.
+ The provided file name '{0}' is reserved.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.tr.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.tr.xlf
new file mode 100644
index 0000000000..7bbe67d949
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.tr.xlf
@@ -0,0 +1,323 @@
+
+
+
+
+
+ Failed
+ Failed
+ Test result for failed test
+
+
+ None
+ None
+
+
+
+ Passed
+ Passed
+ Test result for passed test
+
+
+ {0,-10} {1}
+ {0,-10} {1}
+
+
+
+ {0}:
+{1}
+ {0}:
+{1}
+
+
+
+ Test Messages:
+{0}
+ Test Messages:
+{0}
+
+
+
+ Message: {0}
+ Message: {0}
+
+
+
+ StackTrace:
+{0}
+ StackTrace:
+{0}
+
+
+
+ (null)
+ (null)
+
+
+
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+
+
+
+ Column Number
+ Column Number
+ The label of the test property ColumnNumber for test case.
+
+
+ Executor Uri
+ Executor Uri
+ The label of the test property ExecutorUri for test case.
+
+
+ Source
+ Source
+ The label of the test property Source for test case.
+
+
+ Line Number
+ Line Number
+ The label of the test property LineNumber for test case.
+
+
+ Name
+ Name
+ The label of the test property Name for test case.
+
+
+ Computer Name
+ Computer Name
+ The label of the test property ComputerName for test result.
+
+
+ TestResult Display Name
+ TestResult Display Name
+ The label of TestResult.DisplayName, mainly used for parameterized data tests
+
+
+ Duration
+ Duration
+ The label of the test property Duration for test result.
+
+
+ End Time
+ End Time
+ The label of the test property EndTime for test result.
+
+
+ Error Column Number
+ Error Column Number
+ The label of the test property ErrorColumnNumber for test result.
+
+
+ Error Message
+ Error Message
+ The label of the test property ErrorMessage for test result.
+
+
+ Error Stack Trace
+ Error Stack Trace
+ The label of the test property ErrorStackTrace for test result.
+
+
+ Outcome
+ Outcome
+ The label of the test property Outcome for test result.
+
+
+ Start Time
+ Start Time
+ The label of the test property StartTime for test result.
+
+
+ Cannot find TypeConverter for type {0}.
+ Cannot find TypeConverter for type {0}.
+
+
+
+ File Path
+ File Path
+ The label of the test property FilePath for test case.
+
+
+ Notification frequency need to be a positive value.
+ Notification frequency need to be a positive value.
+ frequency for DiscoveryCriteria/TestRunCriteria needs to be a positive value
+
+
+ Id
+ Id
+
+
+
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+
+
+
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+
+
+
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+
+
+
+ NotFound
+ NotFound
+ Test result for not found test
+
+
+ Skipped
+ Skipped
+ Test result for skipped test
+
+
+ Notification timeout must be greater than zero.
+ Notification timeout must be greater than zero.
+ Timeout used during test discovery and execution must be greater than zero.
+
+
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ The root node of the run settings must be named 'RunSettings'.
+ The root node of the run settings must be named 'RunSettings'.
+
+
+
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+
+
+
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+
+
+
+ Could not find '{0}' node
+ Could not find '{0}' node
+ Error message when the specified {0} xml node can not be found in the run settings xml document
+
+
+ FullyQualifiedName
+ FullyQualifiedName
+
+
+
+ Traits
+ Traits
+ The label of the test property Traits for test case.
+
+
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ File {0} does not exist.
+ File {0} does not exist.
+
+
+
+ Object must be of type {0}.
+ Object must be of type {0}.
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+
+
+
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+
+
+
+ The provided file name '{0}' is reserved.
+ The provided file name '{0}' is reserved.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.xlf
new file mode 100644
index 0000000000..2a63166a82
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.xlf
@@ -0,0 +1,258 @@
+
+
+
+
+
+ Failed
+ Test result for failed test
+
+
+ None
+
+
+
+ Passed
+ Test result for passed test
+
+
+ {0,-10} {1}
+
+
+
+ {0}:
+{1}
+
+
+
+ Test Messages:
+{0}
+
+
+
+ Message: {0}
+
+
+
+ StackTrace:
+{0}
+
+
+
+ (null)
+
+
+
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+
+
+
+ Column Number
+ The label of the test property ColumnNumber for test case.
+
+
+ Executor Uri
+ The label of the test property ExecutorUri for test case.
+
+
+ Source
+ The label of the test property Source for test case.
+
+
+ Line Number
+ The label of the test property LineNumber for test case.
+
+
+ Name
+ The label of the test property Name for test case.
+
+
+ Computer Name
+ The label of the test property ComputerName for test result.
+
+
+ TestResult Display Name
+ The label of TestResult.DisplayName, mainly used for parameterized data tests
+
+
+ Duration
+ The label of the test property Duration for test result.
+
+
+ End Time
+ The label of the test property EndTime for test result.
+
+
+ Error Column Number
+ The label of the test property ErrorColumnNumber for test result.
+
+
+ Error Message
+ The label of the test property ErrorMessage for test result.
+
+
+ Error Stack Trace
+ The label of the test property ErrorStackTrace for test result.
+
+
+ Outcome
+ The label of the test property Outcome for test result.
+
+
+ Start Time
+ The label of the test property StartTime for test result.
+
+
+ Cannot find TypeConverter for type {0}.
+
+
+
+ File Path
+ The label of the test property FilePath for test case.
+
+
+ Notification frequency need to be a positive value.
+ frequency for DiscoveryCriteria/TestRunCriteria needs to be a positive value
+
+
+ Id
+
+
+
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+
+
+
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+
+
+
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+
+
+
+ NotFound
+ Test result for not found test
+
+
+ Skipped
+ Test result for skipped test
+
+
+ Notification timeout must be greater than zero.
+ Timeout used during test discovery and execution must be greater than zero.
+
+
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ The root node of the run settings must be named 'RunSettings'.
+
+
+
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+
+
+
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+
+
+
+ Could not find '{0}' node
+ Error message when the specified {0} xml node can not be found in the run settings xml document
+
+
+ FullyQualifiedName
+
+
+
+ Traits
+ The label of the test property Traits for test case.
+
+
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+
+
+
+ The parameter cannot be null or empty.
+
+
+
+ File {0} does not exist.
+
+
+
+ Object must be of type {0}.
+
+
+
+ Aborted
+
+
+
+ Completed
+
+
+
+ Disconnected
+
+
+
+ Error
+
+
+
+ Failed
+
+
+
+ Inconclusive
+
+
+
+ In Progress
+
+
+
+ Not Executed
+
+
+
+ Not Runnable
+
+
+
+ Passed
+
+
+
+ Passed (run aborted)
+
+
+
+ Pending
+
+
+
+ Timeout
+
+
+
+ Warning
+
+
+
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+
+
+
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+
+
+
+ The provided file name '{0}' is reserved.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.zh-Hans.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.zh-Hans.xlf
new file mode 100644
index 0000000000..76636c16b0
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.zh-Hans.xlf
@@ -0,0 +1,323 @@
+
+
+
+
+
+ Failed
+ Failed
+ Test result for failed test
+
+
+ None
+ None
+
+
+
+ Passed
+ Passed
+ Test result for passed test
+
+
+ {0,-10} {1}
+ {0,-10} {1}
+
+
+
+ {0}:
+{1}
+ {0}:
+{1}
+
+
+
+ Test Messages:
+{0}
+ Test Messages:
+{0}
+
+
+
+ Message: {0}
+ Message: {0}
+
+
+
+ StackTrace:
+{0}
+ StackTrace:
+{0}
+
+
+
+ (null)
+ (null)
+
+
+
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+
+
+
+ Column Number
+ Column Number
+ The label of the test property ColumnNumber for test case.
+
+
+ Executor Uri
+ Executor Uri
+ The label of the test property ExecutorUri for test case.
+
+
+ Source
+ Source
+ The label of the test property Source for test case.
+
+
+ Line Number
+ Line Number
+ The label of the test property LineNumber for test case.
+
+
+ Name
+ Name
+ The label of the test property Name for test case.
+
+
+ Computer Name
+ Computer Name
+ The label of the test property ComputerName for test result.
+
+
+ TestResult Display Name
+ TestResult Display Name
+ The label of TestResult.DisplayName, mainly used for parameterized data tests
+
+
+ Duration
+ Duration
+ The label of the test property Duration for test result.
+
+
+ End Time
+ End Time
+ The label of the test property EndTime for test result.
+
+
+ Error Column Number
+ Error Column Number
+ The label of the test property ErrorColumnNumber for test result.
+
+
+ Error Message
+ Error Message
+ The label of the test property ErrorMessage for test result.
+
+
+ Error Stack Trace
+ Error Stack Trace
+ The label of the test property ErrorStackTrace for test result.
+
+
+ Outcome
+ Outcome
+ The label of the test property Outcome for test result.
+
+
+ Start Time
+ Start Time
+ The label of the test property StartTime for test result.
+
+
+ Cannot find TypeConverter for type {0}.
+ Cannot find TypeConverter for type {0}.
+
+
+
+ File Path
+ File Path
+ The label of the test property FilePath for test case.
+
+
+ Notification frequency need to be a positive value.
+ Notification frequency need to be a positive value.
+ frequency for DiscoveryCriteria/TestRunCriteria needs to be a positive value
+
+
+ Id
+ Id
+
+
+
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+
+
+
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+
+
+
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+
+
+
+ NotFound
+ NotFound
+ Test result for not found test
+
+
+ Skipped
+ Skipped
+ Test result for skipped test
+
+
+ Notification timeout must be greater than zero.
+ Notification timeout must be greater than zero.
+ Timeout used during test discovery and execution must be greater than zero.
+
+
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ The root node of the run settings must be named 'RunSettings'.
+ The root node of the run settings must be named 'RunSettings'.
+
+
+
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+
+
+
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+
+
+
+ Could not find '{0}' node
+ Could not find '{0}' node
+ Error message when the specified {0} xml node can not be found in the run settings xml document
+
+
+ FullyQualifiedName
+ FullyQualifiedName
+
+
+
+ Traits
+ Traits
+ The label of the test property Traits for test case.
+
+
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ File {0} does not exist.
+ File {0} does not exist.
+
+
+
+ Object must be of type {0}.
+ Object must be of type {0}.
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+
+
+
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+
+
+
+ The provided file name '{0}' is reserved.
+ The provided file name '{0}' is reserved.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.zh-Hant.xlf b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.zh-Hant.xlf
new file mode 100644
index 0000000000..c4f93142f8
--- /dev/null
+++ b/src/Microsoft.TestPlatform.ObjectModel/Resources/xlf/Resources.zh-Hant.xlf
@@ -0,0 +1,323 @@
+
+
+
+
+
+ Failed
+ Failed
+ Test result for failed test
+
+
+ None
+ None
+
+
+
+ Passed
+ Passed
+ Test result for passed test
+
+
+ {0,-10} {1}
+ {0,-10} {1}
+
+
+
+ {0}:
+{1}
+ {0}:
+{1}
+
+
+
+ Test Messages:
+{0}
+ Test Messages:
+{0}
+
+
+
+ Message: {0}
+ Message: {0}
+
+
+
+ StackTrace:
+{0}
+ StackTrace:
+{0}
+
+
+
+ (null)
+ (null)
+
+
+
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+ Cannot register property '{0}' as value type '{1}' because it was already registered as '{2}'.
+
+
+
+ Column Number
+ Column Number
+ The label of the test property ColumnNumber for test case.
+
+
+ Executor Uri
+ Executor Uri
+ The label of the test property ExecutorUri for test case.
+
+
+ Source
+ Source
+ The label of the test property Source for test case.
+
+
+ Line Number
+ Line Number
+ The label of the test property LineNumber for test case.
+
+
+ Name
+ Name
+ The label of the test property Name for test case.
+
+
+ Computer Name
+ Computer Name
+ The label of the test property ComputerName for test result.
+
+
+ TestResult Display Name
+ TestResult Display Name
+ The label of TestResult.DisplayName, mainly used for parameterized data tests
+
+
+ Duration
+ Duration
+ The label of the test property Duration for test result.
+
+
+ End Time
+ End Time
+ The label of the test property EndTime for test result.
+
+
+ Error Column Number
+ Error Column Number
+ The label of the test property ErrorColumnNumber for test result.
+
+
+ Error Message
+ Error Message
+ The label of the test property ErrorMessage for test result.
+
+
+ Error Stack Trace
+ Error Stack Trace
+ The label of the test property ErrorStackTrace for test result.
+
+
+ Outcome
+ Outcome
+ The label of the test property Outcome for test result.
+
+
+ Start Time
+ Start Time
+ The label of the test property StartTime for test result.
+
+
+ Cannot find TypeConverter for type {0}.
+ Cannot find TypeConverter for type {0}.
+
+
+
+ File Path
+ File Path
+ The label of the test property FilePath for test case.
+
+
+ Notification frequency need to be a positive value.
+ Notification frequency need to be a positive value.
+ frequency for DiscoveryCriteria/TestRunCriteria needs to be a positive value
+
+
+ Id
+ Id
+
+
+
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlAttribute: '{1}'.
+
+
+
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+ Invalid settings '{0}'. Unexpected XmlElement: '{1}'.
+
+
+
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+ Invalid data collector settings. Expected attribute '{0}' is missing. A typical data collector setting would look like <DataCollector uri="dataCollector://Samples/SampleCollector/1.0" assemblyQualifiedName="Samples.SampleCollector.SampleDataCollector, SampleCollectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" friendlyName="sampleCollector">.
+
+
+
+ NotFound
+ NotFound
+ Test result for not found test
+
+
+ Skipped
+ Skipped
+ Test result for skipped test
+
+
+ Notification timeout must be greater than zero.
+ Notification timeout must be greater than zero.
+ Timeout used during test discovery and execution must be greater than zero.
+
+
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid settings '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ The root node of the run settings must be named 'RunSettings'.
+ The root node of the run settings must be named 'RunSettings'.
+
+
+
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+ Cannot specify TestCaseFilter for specific tests run. FilterCriteria is only for run with sources.
+
+
+
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+ The test property type '{0}' of property '{1}' is not supported. Use one of the supported property type (primitive types, uri, string, string[]) and try again.
+
+
+
+ Could not find '{0}' node
+ Could not find '{0}' node
+ Error message when the specified {0} xml node can not be found in the run settings xml document
+
+
+ FullyQualifiedName
+ FullyQualifiedName
+
+
+
+ Traits
+ Traits
+ The label of the test property Traits for test case.
+
+
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+ Solution directory '{0}' does not exists. Please make sure solution directory specified in runsettings exists and have read permissions for directory.
+
+
+
+ The parameter cannot be null or empty.
+ The parameter cannot be null or empty.
+
+
+
+ File {0} does not exist.
+ File {0} does not exist.
+
+
+
+ Object must be of type {0}.
+ Object must be of type {0}.
+
+
+
+ Aborted
+ Aborted
+
+
+
+ Completed
+ Completed
+
+
+
+ Disconnected
+ Disconnected
+
+
+
+ Error
+ Error
+
+
+
+ Failed
+ Failed
+
+
+
+ Inconclusive
+ Inconclusive
+
+
+
+ In Progress
+ In Progress
+
+
+
+ Not Executed
+ Not Executed
+
+
+
+ Not Runnable
+ Not Runnable
+
+
+
+ Passed
+ Passed
+
+
+
+ Passed (run aborted)
+ Passed (run aborted)
+
+
+
+ Pending
+ Pending
+
+
+
+ Timeout
+ Timeout
+
+
+
+ Warning
+ Warning
+
+
+
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+ Unable to read from the provided stream. Data from a stream cannot be sent unless the stream supports reading.
+
+
+
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+ The provided file name '{0}' contains the following invalid characters: '{1}'.
+
+
+
+ The provided file name '{0}' is reserved.
+ The provided file name '{0}' is reserved.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.ObjectModel/RunSettings/RunConfiguration.cs b/src/Microsoft.TestPlatform.ObjectModel/RunSettings/RunConfiguration.cs
index 92790a87d0..2819ddcc86 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/RunSettings/RunConfiguration.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/RunSettings/RunConfiguration.cs
@@ -377,7 +377,7 @@ public static RunConfiguration FromXml(XmlReader reader)
throw new SettingsException(
string.Format(
CultureInfo.CurrentCulture,
- Resources.InvalidSettingsIncorrectValue,
+ Resources.Resources.InvalidSettingsIncorrectValue,
Constants.RunConfigurationSettingsName,
cpuCount,
elementName));
@@ -394,7 +394,7 @@ public static RunConfiguration FromXml(XmlReader reader)
if (!bool.TryParse(disableAppDomainValueString, out disableAppDomainCheck))
{
throw new SettingsException(String.Format(CultureInfo.CurrentCulture,
- Resources.InvalidSettingsIncorrectValue, Constants.RunConfigurationSettingsName, disableAppDomainValueString, elementName));
+ Resources.Resources.InvalidSettingsIncorrectValue, Constants.RunConfigurationSettingsName, disableAppDomainValueString, elementName));
}
runConfiguration.DisableAppDomain = disableAppDomainCheck;
break;
@@ -407,7 +407,7 @@ public static RunConfiguration FromXml(XmlReader reader)
if (!bool.TryParse(disableParallelizationValueString, out disableParallelizationCheck))
{
throw new SettingsException(String.Format(CultureInfo.CurrentCulture,
- Resources.InvalidSettingsIncorrectValue, Constants.RunConfigurationSettingsName, disableParallelizationValueString, elementName));
+ Resources.Resources.InvalidSettingsIncorrectValue, Constants.RunConfigurationSettingsName, disableParallelizationValueString, elementName));
}
runConfiguration.DisableParallelization = disableParallelizationCheck;
break;
@@ -424,7 +424,7 @@ public static RunConfiguration FromXml(XmlReader reader)
throw new SettingsException(
string.Format(
CultureInfo.CurrentCulture,
- Resources.InvalidSettingsIncorrectValue,
+ Resources.Resources.InvalidSettingsIncorrectValue,
Constants.RunConfigurationSettingsName,
value,
elementName));
@@ -433,7 +433,7 @@ public static RunConfiguration FromXml(XmlReader reader)
catch (ArgumentException)
{
throw new SettingsException(string.Format(CultureInfo.CurrentCulture,
- Resources.InvalidSettingsIncorrectValue, Constants.RunConfigurationSettingsName, value, elementName));
+ Resources.Resources.InvalidSettingsIncorrectValue, Constants.RunConfigurationSettingsName, value, elementName));
}
runConfiguration.TargetPlatform = archType;
@@ -452,7 +452,7 @@ public static RunConfiguration FromXml(XmlReader reader)
throw new SettingsException(
string.Format(
CultureInfo.CurrentCulture,
- Resources.InvalidSettingsIncorrectValue,
+ Resources.Resources.InvalidSettingsIncorrectValue,
Constants.RunConfigurationSettingsName,
value,
elementName));
@@ -461,7 +461,7 @@ public static RunConfiguration FromXml(XmlReader reader)
catch (ArgumentException)
{
throw new SettingsException(string.Format(CultureInfo.CurrentCulture,
- Resources.InvalidSettingsIncorrectValue, Constants.RunConfigurationSettingsName, value, elementName));
+ Resources.Resources.InvalidSettingsIncorrectValue, Constants.RunConfigurationSettingsName, value, elementName));
}
runConfiguration.TargetFrameworkVersion = frameworkType;
@@ -485,12 +485,12 @@ public static RunConfiguration FromXml(XmlReader reader)
catch (ArgumentException)
{
throw new SettingsException(string.Format(CultureInfo.CurrentCulture,
- Resources.InvalidSettingsIncorrectValue, Constants.RunConfigurationSettingsName, value, elementName));
+ Resources.Resources.InvalidSettingsIncorrectValue, Constants.RunConfigurationSettingsName, value, elementName));
}
catch (FormatException)
{
throw new SettingsException(string.Format(CultureInfo.CurrentCulture,
- Resources.InvalidSettingsIncorrectValue, Constants.RunConfigurationSettingsName, value, elementName));
+ Resources.Resources.InvalidSettingsIncorrectValue, Constants.RunConfigurationSettingsName, value, elementName));
}
runConfiguration.TreatTestAdapterErrorsAsWarnings = treatTestAdapterErrorsAsWarnings;
@@ -504,7 +504,7 @@ public static RunConfiguration FromXml(XmlReader reader)
{
if (EqtTrace.IsErrorEnabled)
{
- EqtTrace.Error(string.Format(CultureInfo.CurrentCulture, Resources.SolutionDirectoryNotExists, solutionDirectory));
+ EqtTrace.Error(string.Format(CultureInfo.CurrentCulture, Resources.Resources.SolutionDirectoryNotExists, solutionDirectory));
}
solutionDirectory = null;
@@ -523,7 +523,7 @@ public static RunConfiguration FromXml(XmlReader reader)
throw new SettingsException(
string.Format(
CultureInfo.CurrentCulture,
- Resources.InvalidSettingsXmlElement,
+ Resources.Resources.InvalidSettingsXmlElement,
Constants.RunConfigurationSettingsName,
reader.Name));
}
diff --git a/src/Microsoft.TestPlatform.ObjectModel/RunSettings/SettingsNameAttribute.cs b/src/Microsoft.TestPlatform.ObjectModel/RunSettings/SettingsNameAttribute.cs
index 75093b885d..1a1847cc16 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/RunSettings/SettingsNameAttribute.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/RunSettings/SettingsNameAttribute.cs
@@ -4,6 +4,8 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel
{
using System;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Resources;
+
///
/// Attribute applied to ISettingsProviders to associate it with a settings
/// name. This name will be used to request the settings from the RunSettings.
diff --git a/src/Microsoft.TestPlatform.ObjectModel/RunSettings/TestRunParameters.cs b/src/Microsoft.TestPlatform.ObjectModel/RunSettings/TestRunParameters.cs
index b330c3d2a3..bccf08fe9d 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/RunSettings/TestRunParameters.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/RunSettings/TestRunParameters.cs
@@ -60,7 +60,7 @@ internal static Dictionary FromXml(XmlReader reader)
throw new SettingsException(
string.Format(
CultureInfo.CurrentCulture,
- Resources.InvalidSettingsXmlElement,
+ Resources.Resources.InvalidSettingsXmlElement,
Constants.TestRunParametersName,
reader.Name));
}
diff --git a/src/Microsoft.TestPlatform.ObjectModel/TestObject.cs b/src/Microsoft.TestPlatform.ObjectModel/TestObject.cs
index fb32f457ad..e1eb9d5010 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/TestObject.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/TestObject.cs
@@ -289,7 +289,7 @@ private static object ConvertPropertyFrom(TestProperty property, CultureInfo
TypeConverter converter = TypeDescriptor.GetConverter(valueType);
if (converter == null)
{
- throw new NotSupportedException(string.Format(CultureInfo.CurrentCulture, Resources.ConverterNotSupported, valueType.Name));
+ throw new NotSupportedException(string.Format(CultureInfo.CurrentCulture, Resources.Resources.ConverterNotSupported, valueType.Name));
}
try
@@ -337,7 +337,7 @@ private static T ConvertPropertyTo(TestProperty property, CultureInfo culture
if (converter == null)
{
- throw new NotSupportedException(string.Format(CultureInfo.CurrentCulture, Resources.ConverterNotSupported, valueType.Name));
+ throw new NotSupportedException(string.Format(CultureInfo.CurrentCulture, Resources.Resources.ConverterNotSupported, valueType.Name));
}
try
diff --git a/src/Microsoft.TestPlatform.ObjectModel/TestOutcomeHelper.cs b/src/Microsoft.TestPlatform.ObjectModel/TestOutcomeHelper.cs
index 1ff16c808b..15ce04e355 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/TestOutcomeHelper.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/TestOutcomeHelper.cs
@@ -21,19 +21,19 @@ public static string GetOutcomeString(TestOutcome outcome)
switch (outcome)
{
case TestOutcome.None:
- result = Resources.TestOutcomeNone;
+ result = Resources.Resources.TestOutcomeNone;
break;
case TestOutcome.Passed:
- result = Resources.TestOutcomePassed;
+ result = Resources.Resources.TestOutcomePassed;
break;
case TestOutcome.Failed:
- result = Resources.TestOutcomeFailed;
+ result = Resources.Resources.TestOutcomeFailed;
break;
case TestOutcome.Skipped:
- result = Resources.TestOutcomeSkipped;
+ result = Resources.Resources.TestOutcomeSkipped;
break;
case TestOutcome.NotFound:
- result = Resources.TestOutcomeNotFound;
+ result = Resources.Resources.TestOutcomeNotFound;
break;
default:
throw new ArgumentOutOfRangeException("outcome");
diff --git a/src/Microsoft.TestPlatform.ObjectModel/TestProperty/TestProperty.cs b/src/Microsoft.TestPlatform.ObjectModel/TestProperty/TestProperty.cs
index 23d3ed8cc7..ea41e624b1 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/TestProperty/TestProperty.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/TestProperty/TestProperty.cs
@@ -63,7 +63,7 @@ private TestProperty(string id, string label, string category, string descriptio
}
else
{
- throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, Resources.UnexpectedTypeOfProperty, valueType, id));
+ throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, Resources.Resources.UnexpectedTypeOfProperty, valueType, id));
}
this.Id = id;
@@ -345,7 +345,7 @@ public static TestProperty Register(string id, string label, string category, st
// not the data valueType we expect, throw an exception
string message = string.Format(
CultureInfo.CurrentCulture,
- Resources.Exception_RegisteredTestPropertyHasDifferentValueType,
+ Resources.Resources.Exception_RegisteredTestPropertyHasDifferentValueType,
id,
valueType.ToString(),
propertyTypePair.Key.ValueType);
diff --git a/src/Microsoft.TestPlatform.ObjectModel/TestResult.cs b/src/Microsoft.TestPlatform.ObjectModel/TestResult.cs
index 4ea3513db0..2212e49a44 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/TestResult.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/TestResult.cs
@@ -216,7 +216,7 @@ public override string ToString()
// Add the outcome of the test and the name of the test.
result.AppendFormat(
CultureInfo.CurrentUICulture,
- Resources.BasicTestResultFormat,
+ Resources.Resources.BasicTestResultFormat,
this.TestCase.DisplayName,
TestOutcomeHelper.GetOutcomeString(this.Outcome));
@@ -225,7 +225,7 @@ public override string ToString()
{
// Add Error message.
result.AppendLine();
- result.AppendFormat(CultureInfo.CurrentUICulture, Resources.TestFailureMessageFormat, this.ErrorMessage);
+ result.AppendFormat(CultureInfo.CurrentUICulture, Resources.Resources.TestFailureMessageFormat, this.ErrorMessage);
// Add stack trace if we have one.
if (!string.IsNullOrWhiteSpace(this.ErrorStackTrace))
@@ -233,7 +233,7 @@ public override string ToString()
result.AppendLine();
result.AppendFormat(
CultureInfo.CurrentUICulture,
- Resources.TestFailureStackTraceFormat,
+ Resources.Resources.TestFailureStackTraceFormat,
this.ErrorStackTrace);
}
}
@@ -248,7 +248,7 @@ public override string ToString()
{
testMessages.AppendFormat(
CultureInfo.CurrentUICulture,
- Resources.TestResultMessageFormat,
+ Resources.Resources.TestResultMessageFormat,
message.Category,
message.Text);
}
@@ -257,7 +257,7 @@ public override string ToString()
result.AppendLine();
result.AppendFormat(
CultureInfo.CurrentUICulture,
- Resources.TestResultTextMessagesFormat,
+ Resources.Resources.TestResultTextMessagesFormat,
testMessages.ToString());
}
@@ -359,28 +359,28 @@ public static class TestResultProperties
public static readonly TestProperty ErrorStackTrace = TestProperty.Register("TestResult.ErrorStackTrace", "Error Stack Trace", typeof(string), typeof(TestResult));
#else
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
- public static readonly TestProperty DisplayName = TestProperty.Register("TestResult.DisplayName", Resources.TestResultPropertyDisplayNameLabel, typeof(string), TestPropertyAttributes.Hidden, typeof(TestResult));
+ public static readonly TestProperty DisplayName = TestProperty.Register("TestResult.DisplayName", Resources.Resources.TestResultPropertyDisplayNameLabel, typeof(string), TestPropertyAttributes.Hidden, typeof(TestResult));
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
- public static readonly TestProperty ComputerName = TestProperty.Register("TestResult.ComputerName", Resources.TestResultPropertyComputerNameLabel, string.Empty, string.Empty, typeof(string), ValidateComputerName, TestPropertyAttributes.None, typeof(TestResult));
+ public static readonly TestProperty ComputerName = TestProperty.Register("TestResult.ComputerName", Resources.Resources.TestResultPropertyComputerNameLabel, string.Empty, string.Empty, typeof(string), ValidateComputerName, TestPropertyAttributes.None, typeof(TestResult));
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
- public static readonly TestProperty Outcome = TestProperty.Register("TestResult.Outcome", Resources.TestResultPropertyOutcomeLabel, string.Empty, string.Empty, typeof(TestOutcome), ValidateOutcome, TestPropertyAttributes.None, typeof(TestResult));
+ public static readonly TestProperty Outcome = TestProperty.Register("TestResult.Outcome", Resources.Resources.TestResultPropertyOutcomeLabel, string.Empty, string.Empty, typeof(TestOutcome), ValidateOutcome, TestPropertyAttributes.None, typeof(TestResult));
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
- public static readonly TestProperty Duration = TestProperty.Register("TestResult.Duration", Resources.TestResultPropertyDurationLabel, typeof(TimeSpan), typeof(TestResult));
+ public static readonly TestProperty Duration = TestProperty.Register("TestResult.Duration", Resources.Resources.TestResultPropertyDurationLabel, typeof(TimeSpan), typeof(TestResult));
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
- public static readonly TestProperty StartTime = TestProperty.Register("TestResult.StartTime", Resources.TestResultPropertyStartTimeLabel, typeof(DateTimeOffset), typeof(TestResult));
+ public static readonly TestProperty StartTime = TestProperty.Register("TestResult.StartTime", Resources.Resources.TestResultPropertyStartTimeLabel, typeof(DateTimeOffset), typeof(TestResult));
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
- public static readonly TestProperty EndTime = TestProperty.Register("TestResult.EndTime", Resources.TestResultPropertyEndTimeLabel, typeof(DateTimeOffset), typeof(TestResult));
+ public static readonly TestProperty EndTime = TestProperty.Register("TestResult.EndTime", Resources.Resources.TestResultPropertyEndTimeLabel, typeof(DateTimeOffset), typeof(TestResult));
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
- public static readonly TestProperty ErrorMessage = TestProperty.Register("TestResult.ErrorMessage", Resources.TestResultPropertyErrorMessageLabel, typeof(string), typeof(TestResult));
+ public static readonly TestProperty ErrorMessage = TestProperty.Register("TestResult.ErrorMessage", Resources.Resources.TestResultPropertyErrorMessageLabel, typeof(string), typeof(TestResult));
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
- public static readonly TestProperty ErrorStackTrace = TestProperty.Register("TestResult.ErrorStackTrace", Resources.TestResultPropertyErrorStackTraceLabel, typeof(string), typeof(TestResult));
+ public static readonly TestProperty ErrorStackTrace = TestProperty.Register("TestResult.ErrorStackTrace", Resources.Resources.TestResultPropertyErrorStackTraceLabel, typeof(string), typeof(TestResult));
#endif
private static bool ValidateComputerName(object value)
diff --git a/src/Microsoft.TestPlatform.ObjectModel/TraitCollection.cs b/src/Microsoft.TestPlatform.ObjectModel/TraitCollection.cs
index 0190cd4942..082ae164a9 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/TraitCollection.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/TraitCollection.cs
@@ -24,7 +24,7 @@ public class TraitCollection : IEnumerable
// Trying to access resources will throw "MissingManifestResourceException" percolated as "TypeInitialization" exception
"Traits",
#else
- Resources.TestCasePropertyTraitsLabel,
+ Resources.Resources.TestCasePropertyTraitsLabel,
#endif
typeof(KeyValuePair[]),
#pragma warning disable 618
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Utilities/StringUtilities.cs b/src/Microsoft.TestPlatform.ObjectModel/Utilities/StringUtilities.cs
index 1ad8f8929c..c642760476 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Utilities/StringUtilities.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/Utilities/StringUtilities.cs
@@ -20,7 +20,7 @@ public static string PrepareForOutput(string input)
string result = input;
if (input == null)
{
- result = Resources.NullString;
+ result = Resources.Resources.NullString;
}
result = result.TrimEnd(Environment.NewLine.ToCharArray());
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Utilities/XmlReaderUtilities.cs b/src/Microsoft.TestPlatform.ObjectModel/Utilities/XmlReaderUtilities.cs
index 859cf1aed7..844df94f1e 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Utilities/XmlReaderUtilities.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/Utilities/XmlReaderUtilities.cs
@@ -64,7 +64,7 @@ public static void ReadToRootNode(XmlReader reader)
throw new SettingsException(
string.Format(
CultureInfo.CurrentCulture,
- Resources.InvalidRunSettingsRootNode));
+ Resources.Resources.InvalidRunSettingsRootNode));
}
}
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Utilities/XmlRunSettingsUtilities.cs b/src/Microsoft.TestPlatform.ObjectModel/Utilities/XmlRunSettingsUtilities.cs
index b6a9b461cb..01332290ca 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Utilities/XmlRunSettingsUtilities.cs
+++ b/src/Microsoft.TestPlatform.ObjectModel/Utilities/XmlRunSettingsUtilities.cs
@@ -253,7 +253,7 @@ internal static void ThrowOnHasAttributes(XmlReader reader)
throw new SettingsException(
string.Format(
CultureInfo.CurrentCulture,
- Resources.InvalidSettingsXmlAttribute,
+ Resources.Resources.InvalidSettingsXmlAttribute,
Constants.RunConfigurationSettingsName,
reader.Name));
}
diff --git a/src/Microsoft.TestPlatform.ObjectModel/project.json b/src/Microsoft.TestPlatform.ObjectModel/project.json
index 5da28e0715..ed738f0b72 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/project.json
+++ b/src/Microsoft.TestPlatform.ObjectModel/project.json
@@ -4,7 +4,8 @@
"outputName": "Microsoft.VisualStudio.TestPlatform.ObjectModel",
"delaySign": true,
"keyFile": "../../scripts/key.snk",
- "warningsAsErrors": true
+ "warningsAsErrors": true,
+ "embed": [ "Resources/*.resx" ]
},
"dependencies": {
"Microsoft.TestPlatform.CoreUtilities": "15.0.0-*",
diff --git a/src/Microsoft.TestPlatform.Utilities/InferRunSettingsHelper.cs b/src/Microsoft.TestPlatform.Utilities/InferRunSettingsHelper.cs
index e795e54ec0..729861af63 100644
--- a/src/Microsoft.TestPlatform.Utilities/InferRunSettingsHelper.cs
+++ b/src/Microsoft.TestPlatform.Utilities/InferRunSettingsHelper.cs
@@ -10,7 +10,7 @@ namespace Microsoft.VisualStudio.TestPlatform.Utilities
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Utilities;
- using Resources = Microsoft.VisualStudio.TestPlatform.Utilities.Resource;
+ using UtilitiesResources = Microsoft.VisualStudio.TestPlatform.Utilities.Resources.Resources;
///
/// Utility class for Inferring the runsettings from the current environment and the user specified command line switches.
@@ -86,8 +86,8 @@ private static void ValidateRunConfiguration(XPathNavigator runSettingsNavigator
throw new XmlException(
string.Format(
CultureInfo.CurrentCulture,
- Resources.RunSettingsParseError,
- Resources.MissingRunSettingsNode));
+ UtilitiesResources.RunSettingsParseError,
+ UtilitiesResources.MissingRunSettingsNode));
}
if (runSettingsNavigator.MoveToChild(RunConfigurationNodeName, string.Empty))
@@ -98,10 +98,10 @@ private static void ValidateRunConfiguration(XPathNavigator runSettingsNavigator
throw new XmlException(
string.Format(
CultureInfo.CurrentCulture,
- Resources.RunSettingsParseError,
+ UtilitiesResources.RunSettingsParseError,
string.Format(
CultureInfo.CurrentCulture,
- Resources.InvalidSettingsIncorrectValue,
+ UtilitiesResources.InvalidSettingsIncorrectValue,
Constants.RunConfigurationSettingsName,
nodeXml,
TargetPlatformNodeName)));
@@ -112,10 +112,10 @@ private static void ValidateRunConfiguration(XPathNavigator runSettingsNavigator
throw new XmlException(
string.Format(
CultureInfo.CurrentCulture,
- Resources.RunSettingsParseError,
+ UtilitiesResources.RunSettingsParseError,
string.Format(
CultureInfo.CurrentCulture,
- Resources.InvalidSettingsIncorrectValue,
+ UtilitiesResources.InvalidSettingsIncorrectValue,
Constants.RunConfigurationSettingsName,
nodeXml,
TargetFrameworkNodeName)));
@@ -141,7 +141,7 @@ private static void VerifyCompatibilityWithOSArchitecture(Architecture architect
return;
}
- throw new SettingsException(string.Format(CultureInfo.CurrentCulture, Resources.SystemArchitectureIncompatibleWithTargetPlatform, architecture, osArchitecture));
+ throw new SettingsException(string.Format(CultureInfo.CurrentCulture, UtilitiesResources.SystemArchitectureIncompatibleWithTargetPlatform, architecture, osArchitecture));
}
///
diff --git a/src/Microsoft.TestPlatform.Utilities/MSTestSettingsUtilities.cs b/src/Microsoft.TestPlatform.Utilities/MSTestSettingsUtilities.cs
index 1cf94d91d7..9c375a305d 100644
--- a/src/Microsoft.TestPlatform.Utilities/MSTestSettingsUtilities.cs
+++ b/src/Microsoft.TestPlatform.Utilities/MSTestSettingsUtilities.cs
@@ -10,6 +10,8 @@ namespace Microsoft.VisualStudio.TestPlatform.Utilities
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
+ using UtilitiesResources = Microsoft.VisualStudio.TestPlatform.Utilities.Resources.Resources;
+
///
/// The legacy mstest.exe settings utilities.
///
@@ -32,14 +34,14 @@ public static IXPathNavigable Import(string settingsFile, IXPathNavigable defaul
if (IsLegacyTestSettingsFile(settingsFile) == false)
{
- throw new XmlException(string.Format(CultureInfo.CurrentCulture, Resource.UnExpectedSettingsFile));
+ throw new XmlException(string.Format(CultureInfo.CurrentCulture, UtilitiesResources.UnExpectedSettingsFile));
}
var navigator = defaultRunSettings.CreateNavigator();
if (!navigator.MoveToChild(Constants.RunSettingsName, string.Empty))
{
- throw new XmlException(Resource.NoRunSettingsNodeFound);
+ throw new XmlException(UtilitiesResources.NoRunSettingsNodeFound);
}
var settingsNode = GenerateMSTestXml(settingsFile);
diff --git a/src/Microsoft.TestPlatform.Utilities/Resource.Designer.cs b/src/Microsoft.TestPlatform.Utilities/Resources/Resources.Designer.cs
similarity index 94%
rename from src/Microsoft.TestPlatform.Utilities/Resource.Designer.cs
rename to src/Microsoft.TestPlatform.Utilities/Resources/Resources.Designer.cs
index e1c03eadb2..9e0170ded5 100644
--- a/src/Microsoft.TestPlatform.Utilities/Resource.Designer.cs
+++ b/src/Microsoft.TestPlatform.Utilities/Resources/Resources.Designer.cs
@@ -1,4 +1,4 @@
-//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace Microsoft.VisualStudio.TestPlatform.Utilities {
+namespace Microsoft.VisualStudio.TestPlatform.Utilities.Resources {
using System;
using System.Reflection;
@@ -22,13 +22,13 @@ namespace Microsoft.VisualStudio.TestPlatform.Utilities {
// with the /str option, or rebuild your VS project.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- public class Resource {
+ public class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
- internal Resource() {
+ internal Resources() {
}
///
@@ -38,7 +38,7 @@ internal Resource() {
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.Utilities.Resource", typeof(Resource).GetTypeInfo().Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.Utilities.Resources.Resources", typeof(Resources).GetTypeInfo().Assembly);
resourceMan = temp;
}
return resourceMan;
diff --git a/src/Microsoft.TestPlatform.Utilities/Resource.resx b/src/Microsoft.TestPlatform.Utilities/Resources/Resources.resx
similarity index 100%
rename from src/Microsoft.TestPlatform.Utilities/Resource.resx
rename to src/Microsoft.TestPlatform.Utilities/Resources/Resources.resx
diff --git a/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.cs.xlf b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.cs.xlf
new file mode 100644
index 0000000000..14e48babab
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.cs.xlf
@@ -0,0 +1,42 @@
+
+
+
+
+
+ Run settings XML does not contain "RunSettings" node.
+ Run settings XML does not contain "RunSettings" node.
+
+
+
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ An error occurred while loading the settings. Error: {0}.
+ An error occurred while loading the settings. Error: {0}.
+
+
+
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+
+
+
+ Unexpected settings file specified.
+ Unexpected settings file specified.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.de.xlf b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.de.xlf
new file mode 100644
index 0000000000..fe2f6c63c7
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.de.xlf
@@ -0,0 +1,42 @@
+
+
+
+
+
+ Run settings XML does not contain "RunSettings" node.
+ Run settings XML does not contain "RunSettings" node.
+
+
+
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ An error occurred while loading the settings. Error: {0}.
+ An error occurred while loading the settings. Error: {0}.
+
+
+
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+
+
+
+ Unexpected settings file specified.
+ Unexpected settings file specified.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.es.xlf b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.es.xlf
new file mode 100644
index 0000000000..a061a47a6a
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.es.xlf
@@ -0,0 +1,42 @@
+
+
+
+
+
+ Run settings XML does not contain "RunSettings" node.
+ Run settings XML does not contain "RunSettings" node.
+
+
+
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ An error occurred while loading the settings. Error: {0}.
+ An error occurred while loading the settings. Error: {0}.
+
+
+
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+
+
+
+ Unexpected settings file specified.
+ Unexpected settings file specified.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.fr.xlf b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.fr.xlf
new file mode 100644
index 0000000000..a8653c6d1d
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.fr.xlf
@@ -0,0 +1,42 @@
+
+
+
+
+
+ Run settings XML does not contain "RunSettings" node.
+ Run settings XML does not contain "RunSettings" node.
+
+
+
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ An error occurred while loading the settings. Error: {0}.
+ An error occurred while loading the settings. Error: {0}.
+
+
+
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+
+
+
+ Unexpected settings file specified.
+ Unexpected settings file specified.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.it.xlf b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.it.xlf
new file mode 100644
index 0000000000..52168c7ba7
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.it.xlf
@@ -0,0 +1,42 @@
+
+
+
+
+
+ Run settings XML does not contain "RunSettings" node.
+ Run settings XML does not contain "RunSettings" node.
+
+
+
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ An error occurred while loading the settings. Error: {0}.
+ An error occurred while loading the settings. Error: {0}.
+
+
+
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+
+
+
+ Unexpected settings file specified.
+ Unexpected settings file specified.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.ja.xlf b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.ja.xlf
new file mode 100644
index 0000000000..8a0c14145c
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.ja.xlf
@@ -0,0 +1,42 @@
+
+
+
+
+
+ Run settings XML does not contain "RunSettings" node.
+ Run settings XML does not contain "RunSettings" node.
+
+
+
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ An error occurred while loading the settings. Error: {0}.
+ An error occurred while loading the settings. Error: {0}.
+
+
+
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+
+
+
+ Unexpected settings file specified.
+ Unexpected settings file specified.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.ko.xlf b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.ko.xlf
new file mode 100644
index 0000000000..5754decbda
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.ko.xlf
@@ -0,0 +1,42 @@
+
+
+
+
+
+ Run settings XML does not contain "RunSettings" node.
+ Run settings XML does not contain "RunSettings" node.
+
+
+
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ An error occurred while loading the settings. Error: {0}.
+ An error occurred while loading the settings. Error: {0}.
+
+
+
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+
+
+
+ Unexpected settings file specified.
+ Unexpected settings file specified.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.pl.xlf b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.pl.xlf
new file mode 100644
index 0000000000..768adf750f
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.pl.xlf
@@ -0,0 +1,42 @@
+
+
+
+
+
+ Run settings XML does not contain "RunSettings" node.
+ Run settings XML does not contain "RunSettings" node.
+
+
+
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ An error occurred while loading the settings. Error: {0}.
+ An error occurred while loading the settings. Error: {0}.
+
+
+
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+
+
+
+ Unexpected settings file specified.
+ Unexpected settings file specified.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.pt-BR.xlf b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.pt-BR.xlf
new file mode 100644
index 0000000000..d6d013c642
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.pt-BR.xlf
@@ -0,0 +1,42 @@
+
+
+
+
+
+ Run settings XML does not contain "RunSettings" node.
+ Run settings XML does not contain "RunSettings" node.
+
+
+
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ An error occurred while loading the settings. Error: {0}.
+ An error occurred while loading the settings. Error: {0}.
+
+
+
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+
+
+
+ Unexpected settings file specified.
+ Unexpected settings file specified.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.ru.xlf b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.ru.xlf
new file mode 100644
index 0000000000..f470951faa
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.ru.xlf
@@ -0,0 +1,42 @@
+
+
+
+
+
+ Run settings XML does not contain "RunSettings" node.
+ Run settings XML does not contain "RunSettings" node.
+
+
+
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ An error occurred while loading the settings. Error: {0}.
+ An error occurred while loading the settings. Error: {0}.
+
+
+
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+
+
+
+ Unexpected settings file specified.
+ Unexpected settings file specified.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.tr.xlf b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.tr.xlf
new file mode 100644
index 0000000000..90f0148c8d
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.tr.xlf
@@ -0,0 +1,42 @@
+
+
+
+
+
+ Run settings XML does not contain "RunSettings" node.
+ Run settings XML does not contain "RunSettings" node.
+
+
+
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ An error occurred while loading the settings. Error: {0}.
+ An error occurred while loading the settings. Error: {0}.
+
+
+
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+
+
+
+ Unexpected settings file specified.
+ Unexpected settings file specified.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.xlf b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.xlf
new file mode 100644
index 0000000000..1beee4dcf6
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.xlf
@@ -0,0 +1,35 @@
+
+
+
+
+
+ Run settings XML does not contain "RunSettings" node.
+
+
+
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ Could not find 'RunSettings' node.
+
+
+
+ Could not find 'RunSettings' node.
+
+
+
+ An error occurred while loading the settings. Error: {0}.
+
+
+
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+
+
+
+ Unexpected settings file specified.
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.zh-Hans.xlf b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.zh-Hans.xlf
new file mode 100644
index 0000000000..cbec16c42d
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.zh-Hans.xlf
@@ -0,0 +1,42 @@
+
+
+
+
+
+ Run settings XML does not contain "RunSettings" node.
+ Run settings XML does not contain "RunSettings" node.
+
+
+
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ An error occurred while loading the settings. Error: {0}.
+ An error occurred while loading the settings. Error: {0}.
+
+
+
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+
+
+
+ Unexpected settings file specified.
+ Unexpected settings file specified.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.zh-Hant.xlf b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.zh-Hant.xlf
new file mode 100644
index 0000000000..0fe67ac389
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Utilities/Resources/xlf/Resources.zh-Hant.xlf
@@ -0,0 +1,42 @@
+
+
+
+
+
+ Run settings XML does not contain "RunSettings" node.
+ Run settings XML does not contain "RunSettings" node.
+
+
+
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+ Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ Could not find 'RunSettings' node.
+ Could not find 'RunSettings' node.
+
+
+
+ An error occurred while loading the settings. Error: {0}.
+ An error occurred while loading the settings. Error: {0}.
+
+
+
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+ Incompatible Target platform settings '{0}' with system architecture '{1}'.
+
+
+
+ Unexpected settings file specified.
+ Unexpected settings file specified.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.Utilities/project.json b/src/Microsoft.TestPlatform.Utilities/project.json
index d8e79b35c2..cbf28aae2c 100644
--- a/src/Microsoft.TestPlatform.Utilities/project.json
+++ b/src/Microsoft.TestPlatform.Utilities/project.json
@@ -4,7 +4,8 @@
"buildOptions": {
"delaySign": true,
"keyFile": "../../scripts/key.snk",
- "warningsAsErrors": true
+ "warningsAsErrors": true,
+ "embed": [ "Resources/*.resx" ]
},
"dependencies": {
diff --git a/src/Microsoft.TestPlatform.VSIXCreator/extension.vsixmanifest b/src/Microsoft.TestPlatform.VSIXCreator/extension.vsixmanifest
index 65595c299f..354064867a 100644
--- a/src/Microsoft.TestPlatform.VSIXCreator/extension.vsixmanifest
+++ b/src/Microsoft.TestPlatform.VSIXCreator/extension.vsixmanifest
@@ -1,8 +1,8 @@
- Microsoft.TestPlatform.V2
- TestPlatform V2 Package
+ Microsoft Visual Studio Test Platform
+ Extensible Test Platform that allows developers to discover, execute and analyze automated tests.
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources.Designer.cs b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/Resources.Designer.cs
similarity index 95%
rename from src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources.Designer.cs
rename to src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/Resources.Designer.cs
index a69e551777..7d0e2f9cbd 100644
--- a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources.Designer.cs
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/Resources.Designer.cs
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace Microsoft.TestPlatform.VsTestConsole.TranslationLayer {
+namespace Microsoft.TestPlatform.VsTestConsole.TranslationLayer.Resources {
using System;
using System.Reflection;
@@ -38,7 +38,7 @@ internal Resources() {
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.VsTestConsole.TranslationLayer.Resources", typeof(Resources).GetTypeInfo().Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.TestPlatform.VsTestConsole.TranslationLayer.Resources.Resources", typeof(Resources).GetTypeInfo().Assembly);
resourceMan = temp;
}
return resourceMan;
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources.resx b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/Resources.resx
similarity index 100%
rename from src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources.resx
rename to src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/Resources.resx
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.cs.xlf b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.cs.xlf
new file mode 100644
index 0000000000..190b848891
--- /dev/null
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.cs.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Tests Run was aborted.
+ The active Tests Run was aborted.
+
+
+
+ The active Tests Discovery was aborted.
+ The active Tests Discovery was aborted.
+
+
+
+ Failed to receive message from vstest.console process
+ Failed to receive message from vstest.console process
+
+
+
+ vstest.console process exited abnormally
+ vstest.console process exited abnormally
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.de.xlf b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.de.xlf
new file mode 100644
index 0000000000..d8e2d649b5
--- /dev/null
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.de.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Tests Run was aborted.
+ The active Tests Run was aborted.
+
+
+
+ The active Tests Discovery was aborted.
+ The active Tests Discovery was aborted.
+
+
+
+ Failed to receive message from vstest.console process
+ Failed to receive message from vstest.console process
+
+
+
+ vstest.console process exited abnormally
+ vstest.console process exited abnormally
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.es.xlf b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.es.xlf
new file mode 100644
index 0000000000..76785e7e6c
--- /dev/null
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.es.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Tests Run was aborted.
+ The active Tests Run was aborted.
+
+
+
+ The active Tests Discovery was aborted.
+ The active Tests Discovery was aborted.
+
+
+
+ Failed to receive message from vstest.console process
+ Failed to receive message from vstest.console process
+
+
+
+ vstest.console process exited abnormally
+ vstest.console process exited abnormally
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.fr.xlf b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.fr.xlf
new file mode 100644
index 0000000000..37d9fcaaf6
--- /dev/null
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.fr.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Tests Run was aborted.
+ The active Tests Run was aborted.
+
+
+
+ The active Tests Discovery was aborted.
+ The active Tests Discovery was aborted.
+
+
+
+ Failed to receive message from vstest.console process
+ Failed to receive message from vstest.console process
+
+
+
+ vstest.console process exited abnormally
+ vstest.console process exited abnormally
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.it.xlf b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.it.xlf
new file mode 100644
index 0000000000..c911ef8cd3
--- /dev/null
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.it.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Tests Run was aborted.
+ The active Tests Run was aborted.
+
+
+
+ The active Tests Discovery was aborted.
+ The active Tests Discovery was aborted.
+
+
+
+ Failed to receive message from vstest.console process
+ Failed to receive message from vstest.console process
+
+
+
+ vstest.console process exited abnormally
+ vstest.console process exited abnormally
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.ja.xlf b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.ja.xlf
new file mode 100644
index 0000000000..cb015820bd
--- /dev/null
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.ja.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Tests Run was aborted.
+ The active Tests Run was aborted.
+
+
+
+ The active Tests Discovery was aborted.
+ The active Tests Discovery was aborted.
+
+
+
+ Failed to receive message from vstest.console process
+ Failed to receive message from vstest.console process
+
+
+
+ vstest.console process exited abnormally
+ vstest.console process exited abnormally
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.ko.xlf b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.ko.xlf
new file mode 100644
index 0000000000..450b8d661c
--- /dev/null
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.ko.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Tests Run was aborted.
+ The active Tests Run was aborted.
+
+
+
+ The active Tests Discovery was aborted.
+ The active Tests Discovery was aborted.
+
+
+
+ Failed to receive message from vstest.console process
+ Failed to receive message from vstest.console process
+
+
+
+ vstest.console process exited abnormally
+ vstest.console process exited abnormally
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.pl.xlf b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.pl.xlf
new file mode 100644
index 0000000000..99933396dd
--- /dev/null
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.pl.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Tests Run was aborted.
+ The active Tests Run was aborted.
+
+
+
+ The active Tests Discovery was aborted.
+ The active Tests Discovery was aborted.
+
+
+
+ Failed to receive message from vstest.console process
+ Failed to receive message from vstest.console process
+
+
+
+ vstest.console process exited abnormally
+ vstest.console process exited abnormally
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.pt-BR.xlf b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.pt-BR.xlf
new file mode 100644
index 0000000000..56b3fd4dd7
--- /dev/null
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.pt-BR.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Tests Run was aborted.
+ The active Tests Run was aborted.
+
+
+
+ The active Tests Discovery was aborted.
+ The active Tests Discovery was aborted.
+
+
+
+ Failed to receive message from vstest.console process
+ Failed to receive message from vstest.console process
+
+
+
+ vstest.console process exited abnormally
+ vstest.console process exited abnormally
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.ru.xlf b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.ru.xlf
new file mode 100644
index 0000000000..6b69189321
--- /dev/null
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.ru.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Tests Run was aborted.
+ The active Tests Run was aborted.
+
+
+
+ The active Tests Discovery was aborted.
+ The active Tests Discovery was aborted.
+
+
+
+ Failed to receive message from vstest.console process
+ Failed to receive message from vstest.console process
+
+
+
+ vstest.console process exited abnormally
+ vstest.console process exited abnormally
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.tr.xlf b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.tr.xlf
new file mode 100644
index 0000000000..67f5d599b8
--- /dev/null
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.tr.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Tests Run was aborted.
+ The active Tests Run was aborted.
+
+
+
+ The active Tests Discovery was aborted.
+ The active Tests Discovery was aborted.
+
+
+
+ Failed to receive message from vstest.console process
+ Failed to receive message from vstest.console process
+
+
+
+ vstest.console process exited abnormally
+ vstest.console process exited abnormally
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.xlf b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.xlf
new file mode 100644
index 0000000000..bc96246248
--- /dev/null
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.xlf
@@ -0,0 +1,23 @@
+
+
+
+
+
+ The active Tests Run was aborted.
+
+
+
+ The active Tests Discovery was aborted.
+
+
+
+ Failed to receive message from vstest.console process
+
+
+
+ vstest.console process exited abnormally
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.zh-Hans.xlf b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.zh-Hans.xlf
new file mode 100644
index 0000000000..740636c9dd
--- /dev/null
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.zh-Hans.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Tests Run was aborted.
+ The active Tests Run was aborted.
+
+
+
+ The active Tests Discovery was aborted.
+ The active Tests Discovery was aborted.
+
+
+
+ Failed to receive message from vstest.console process
+ Failed to receive message from vstest.console process
+
+
+
+ vstest.console process exited abnormally
+ vstest.console process exited abnormally
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.zh-Hant.xlf b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.zh-Hant.xlf
new file mode 100644
index 0000000000..db5fa1c648
--- /dev/null
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Resources/xlf/Resources.zh-Hant.xlf
@@ -0,0 +1,27 @@
+
+
+
+
+
+ The active Tests Run was aborted.
+ The active Tests Run was aborted.
+
+
+
+ The active Tests Discovery was aborted.
+ The active Tests Discovery was aborted.
+
+
+
+ Failed to receive message from vstest.console process
+ Failed to receive message from vstest.console process
+
+
+
+ vstest.console process exited abnormally
+ vstest.console process exited abnormally
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/VsTestConsoleRequestSender.cs b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/VsTestConsoleRequestSender.cs
index 1cc27fe01f..453d41137a 100644
--- a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/VsTestConsoleRequestSender.cs
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/VsTestConsoleRequestSender.cs
@@ -17,6 +17,8 @@ namespace Microsoft.TestPlatform.VsTestConsole.TranslationLayer
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.Interfaces;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
+ using TranslationLayerResources = Microsoft.TestPlatform.VsTestConsole.TranslationLayer.Resources.Resources;
+
///
/// VstestConsoleRequestSender for sending requests to Vstest.console.exe
///
@@ -198,7 +200,7 @@ public void StartTestRunWithCustomHost(
///
public void CancelTestRun()
{
- this.communicationManager.SendMessage(MessageType.CancelTestRun);
+ this.communicationManager.SendMessage(MessageType.CancelTestRun);
}
///
@@ -305,7 +307,7 @@ private void SendMessageAndListenAndReportTestCases(IEnumerable sources,
catch (Exception exception)
{
EqtTrace.Error("Aborting Test Discovery Operation: {0}", exception);
- eventHandler.HandleLogMessage(TestMessageLevel.Error, Resources.AbortedTestsDiscovery);
+ eventHandler.HandleLogMessage(TestMessageLevel.Error, TranslationLayerResources.AbortedTestsDiscovery);
eventHandler.HandleDiscoveryComplete(-1, null, true);
CleanupCommunicationIfProcessExit();
@@ -362,10 +364,10 @@ private void SendMessageAndListenAndReportTestResults(string messageType, object
catch (Exception exception)
{
EqtTrace.Error("Aborting Test Run Operation: {0}", exception);
- eventHandler.HandleLogMessage(TestMessageLevel.Error, Resources.AbortedTestsRun);
+ eventHandler.HandleLogMessage(TestMessageLevel.Error, TranslationLayerResources.AbortedTestsRun);
var completeArgs = new TestRunCompleteEventArgs(null, false, true, exception, null, TimeSpan.Zero);
eventHandler.HandleTestRunComplete(completeArgs, null, null, null);
- CleanupCommunicationIfProcessExit();
+ this.CleanupCommunicationIfProcessExit();
}
}
@@ -377,6 +379,7 @@ private void CleanupCommunicationIfProcessExit()
this.communicationManager.StopServer();
}
}
+
private Message TryReceiveMessage()
{
Message message = null;
@@ -386,7 +389,7 @@ private Message TryReceiveMessage()
if (message == null)
{
- throw new TransationLayerException(Resources.FailedToReceiveMessage);
+ throw new TransationLayerException(TranslationLayerResources.FailedToReceiveMessage);
}
return message;
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/project.json b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/project.json
index ed0088f1ff..019103a89f 100644
--- a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/project.json
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/project.json
@@ -3,7 +3,8 @@
"buildOptions": {
"delaySign": true,
"keyFile": "../../scripts/key.snk",
- "warningsAsErrors": true
+ "warningsAsErrors": true,
+ "embed": [ "Resources/*.resx" ]
},
"frameworks": {
diff --git a/src/package/project.json b/src/package/project.json
index ee6949ab4b..116e5466f8 100644
--- a/src/package/project.json
+++ b/src/package/project.json
@@ -36,6 +36,10 @@
"NuGet.CommandLine": {
"type": "build",
"version": "3.4.3"
+ },
+ "fmdev.xlftool": {
+ "type": "build",
+ "version": "0.1.1"
}
}
},
diff --git a/src/testhost.x86/AppDomainEngineInvoker.cs b/src/testhost.x86/AppDomainEngineInvoker.cs
new file mode 100644
index 0000000000..9510572885
--- /dev/null
+++ b/src/testhost.x86/AppDomainEngineInvoker.cs
@@ -0,0 +1,295 @@
+// Copyright (c) Microsoft. All rights reserved.
+
+namespace Microsoft.VisualStudio.TestPlatform.TestHost
+{
+#if NET46
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel;
+ using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing;
+
+ using System;
+ using System.IO;
+ using System.Linq;
+ using System.Reflection;
+ using System.Xml.Linq;
+ using System.Collections.Generic;
+
+ ///
+ /// Implementation for the Invoker which invokes engine in a new AppDomain
+ /// Type of the engine must be a marshalable object for app domain calls and also must have a parameterless constructor
+ ///
+ internal class AppDomainEngineInvoker : IEngineInvoker where T : MarshalByRefObject, IEngineInvoker, new()
+ {
+ private const string XmlNamespace = "urn:schemas-microsoft-com:asm.v1";
+
+ protected readonly AppDomain appDomain;
+
+ protected readonly IEngineInvoker actualInvoker;
+
+ private string mergedTempConfigFile = null;
+
+ public AppDomainEngineInvoker(string testSourcePath)
+ {
+ TestPlatformEventSource.Instance.TestHostAppDomainCreationStart();
+
+ this.appDomain = CreateNewAppDomain(testSourcePath);
+ this.actualInvoker = CreateInvokerInAppDomain(appDomain);
+
+ TestPlatformEventSource.Instance.TestHostAppDomainCreationStop();
+ }
+
+ ///
+ /// Invokes the Engine with the arguments
+ ///
+ /// Arguments for the engine
+ public void Invoke(IDictionary argsDictionary)
+ {
+ try
+ {
+ this.actualInvoker.Invoke(argsDictionary);
+ }
+ finally
+ {
+ try
+ {
+ if(appDomain != null)
+ {
+ AppDomain.Unload(appDomain);
+ }
+
+ if (!string.IsNullOrWhiteSpace(this.mergedTempConfigFile) && File.Exists(mergedTempConfigFile))
+ {
+ File.Delete(mergedTempConfigFile);
+ }
+ }
+ catch
+ {
+ // ignore
+ }
+ }
+ }
+
+ private AppDomain CreateNewAppDomain(string testSourcePath)
+ {
+ var appDomainSetup = new AppDomainSetup();
+ var testSourceFolder = Path.GetDirectoryName(testSourcePath);
+
+ // Set AppBase to TestAssembly location
+ appDomainSetup.ApplicationBase = testSourceFolder;
+ appDomainSetup.LoaderOptimization = LoaderOptimization.MultiDomainHost;
+
+ // Set User Config file as app domain config
+ SetConfigurationFile(appDomainSetup, testSourcePath, testSourceFolder);
+
+ // Create new AppDomain
+ return AppDomain.CreateDomain("TestHostAppDomain", null, appDomainSetup);
+ }
+
+ ///
+ /// Create the Engine Invoker in new AppDomain based on test source path
+ ///
+ /// Test Source to run/discover tests for
+ /// Merged config file if there is any merging of test config and test host config
+ ///
+ private IEngineInvoker CreateInvokerInAppDomain(AppDomain appDomain)
+ {
+ // Create Custom assembly resolver in new appdomain before anything else to resolve testplatform assemblies
+ appDomain.CreateInstanceFromAndUnwrap(
+ typeof(CustomAssemblyResolver).Assembly.Location,
+ typeof(CustomAssemblyResolver).FullName,
+ false,
+ BindingFlags.Default,
+ null,
+ new object[] { Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) },
+ null,
+ null);
+
+ // Create Invoker object in new appdomain
+ var invokerType = typeof(T);
+ return (IEngineInvoker) appDomain.CreateInstanceFromAndUnwrap(
+ invokerType.Assembly.Location,
+ invokerType.FullName,
+ false,
+ BindingFlags.Default,
+ null,
+ null,
+ null,
+ null);
+ }
+
+ private void SetConfigurationFile(AppDomainSetup appDomainSetup, string testSource, string testSourceFolder)
+ {
+ var userConfigFile = GetConfigFile(testSource, testSourceFolder);
+ var testHostAppConfigFile = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;
+
+ if (!string.IsNullOrEmpty(userConfigFile))
+ {
+ var userConfigDoc = XDocument.Load(userConfigFile);
+ var testHostConfigDoc = XDocument.Load(testHostAppConfigFile);
+
+ // Merge user's config file and testHost config file and use merged one
+ var mergedConfigDocument = MergeApplicationConfigFiles(userConfigDoc, testHostConfigDoc);
+
+ // Create a temp file with config
+ this.mergedTempConfigFile = Path.GetTempFileName();
+ mergedConfigDocument.Save(this.mergedTempConfigFile);
+
+ // Set config file to merged one
+ appDomainSetup.ConfigurationFile = this.mergedTempConfigFile;
+ }
+ else
+ {
+ // Use the current domains configuration setting.
+ appDomainSetup.ConfigurationFile = testHostAppConfigFile;
+ }
+ }
+
+ private static string GetConfigFile(string testSource, string testSourceFolder)
+ {
+ string configFile = null;
+
+ if (File.Exists(testSource + ".config"))
+ {
+ // Path to config file cannot be bad: storage is already checked, and extension is valid.
+ configFile = testSource + ".config";
+ }
+ else
+ {
+ var netAppConfigFile = Path.Combine(testSourceFolder, "App.Config");
+ if (File.Exists(netAppConfigFile))
+ {
+ configFile = netAppConfigFile;
+ }
+ }
+
+ return configFile;
+ }
+
+ protected static XDocument MergeApplicationConfigFiles(XDocument userConfigDoc, XDocument testHostConfigDoc)
+ {
+ // Start with User's config file as the base
+ var mergedDoc = new XDocument(userConfigDoc);
+
+ // Take testhost.exe Startup node
+ var startupNode = testHostConfigDoc.Descendants("startup")?.FirstOrDefault();
+ if (startupNode != null)
+ {
+ // Remove user's startup and add ours which supports NET35
+ mergedDoc.Descendants("startup")?.Remove();
+ mergedDoc.Root.Add(startupNode);
+ }
+
+ // Runtime node must be merged which contains assembly redirections
+ var runtimeTestHostNode = testHostConfigDoc.Descendants("runtime")?.FirstOrDefault();
+ if (runtimeTestHostNode != null)
+ {
+ var runTimeNode = mergedDoc.Descendants("runtime")?.FirstOrDefault();
+ if (runTimeNode == null)
+ {
+ // remove test host relative probing paths' element
+ // TestHost Probing Paths do not make sense since we are setting "AppBase" to user's test assembly location
+ runtimeTestHostNode.Descendants().Where((element) => string.Equals(element.Name.LocalName, "probing")).Remove();
+
+ // no runtime node exists in user's config - just add ours entirely
+ mergedDoc.Root.Add(runtimeTestHostNode);
+ }
+ else
+ {
+ var assemblyBindingXName = XName.Get("assemblyBinding", XmlNamespace);
+ var mergedDocAssemblyBindingNode = mergedDoc.Descendants(assemblyBindingXName)?.FirstOrDefault();
+ var testHostAssemblyBindingNode = runtimeTestHostNode.Descendants(assemblyBindingXName)?.FirstOrDefault();
+
+ if (testHostAssemblyBindingNode != null)
+ {
+ if (mergedDocAssemblyBindingNode == null)
+ {
+ // add another assemblyBinding element as none exists in user's config
+ runTimeNode.Add(testHostAssemblyBindingNode);
+ }
+ else
+ {
+ var dependentAssemblyXName = XName.Get("dependentAssembly", XmlNamespace);
+ var redirections = testHostAssemblyBindingNode.Descendants(dependentAssemblyXName);
+
+ if (redirections != null)
+ {
+ mergedDocAssemblyBindingNode.Add(redirections);
+ }
+ }
+ }
+ }
+ }
+
+ return mergedDoc;
+ }
+ }
+
+ ///
+ /// Custom Assembly resolver for child app domain to resolve testplatform assemblies
+ ///
+ internal class CustomAssemblyResolver : MarshalByRefObject
+ {
+ private readonly IDictionary resolvedAssemblies;
+
+ private readonly string[] resolverPaths;
+
+ public CustomAssemblyResolver(string testPlatformPath)
+ {
+ this.resolverPaths = new string[] { testPlatformPath, Path.Combine(testPlatformPath, "Extensions") };
+ this.resolvedAssemblies = new Dictionary();
+ AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
+ }
+
+ private Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
+ {
+ var assemblyName = new AssemblyName(args.Name);
+
+ Assembly assembly = null;
+ lock (resolvedAssemblies)
+ {
+ try
+ {
+ EqtTrace.Verbose("CurrentDomain_AssemblyResolve: Resolving assembly '{0}'.", args.Name);
+
+ if (resolvedAssemblies.TryGetValue(args.Name, out assembly))
+ {
+ return assembly;
+ }
+
+ // Put it in the resolved assembly so that if below Assembly.Load call
+ // triggers another assembly resolution, then we dont end up in stack overflow
+ resolvedAssemblies[args.Name] = null;
+
+ foreach (var path in resolverPaths)
+ {
+ var testPlatformFilePath = Path.Combine(path, assemblyName.Name) + ".dll";
+ if (File.Exists(testPlatformFilePath))
+ {
+ try
+ {
+ assembly = Assembly.LoadFrom(testPlatformFilePath);
+ break;
+ }
+ catch (Exception)
+ {
+ // ignore
+ }
+ }
+ }
+
+ // Replace the value with the loaded assembly
+ resolvedAssemblies[args.Name] = assembly;
+
+ return assembly;
+ }
+ finally
+ {
+ if (null == assembly)
+ {
+ EqtTrace.Verbose("CurrentDomainAssemblyResolve: Failed to resolve assembly '{0}'.", args.Name);
+ }
+ }
+ }
+ }
+ }
+#endif
+}
diff --git a/src/testhost.x86/DefaultEngineInvoker.cs b/src/testhost.x86/DefaultEngineInvoker.cs
new file mode 100644
index 0000000000..ca6a14baba
--- /dev/null
+++ b/src/testhost.x86/DefaultEngineInvoker.cs
@@ -0,0 +1,120 @@
+// Copyright (c) Microsoft. All rights reserved.
+
+namespace Microsoft.VisualStudio.TestPlatform.TestHost
+{
+ using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;
+ using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Interfaces;
+ using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.TesthostProtocol;
+
+ using System;
+ using System.Collections.Generic;
+ using System.Diagnostics;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ internal class DefaultEngineInvoker :
+#if NET46
+ MarshalByRefObject,
+#endif
+ IEngineInvoker
+ {
+ ///
+ /// The timeout for the client to connect to the server.
+ ///
+ private const int ClientListenTimeOut = 5 * 1000;
+
+ private const string PortArgument = "--port";
+
+ private const string ParentProcessIdArgument = "--parentprocessid";
+
+ private const string LogFileArgument = "--diag";
+
+ public void Invoke(IDictionary argsDictionary)
+ {
+ // Setup logging if enabled
+ string logFile;
+ if (argsDictionary.TryGetValue(LogFileArgument, out logFile))
+ {
+ EqtTrace.InitializeVerboseTrace(logFile);
+ }
+
+#if NET46
+ if (EqtTrace.IsInfoEnabled)
+ {
+ var appConfigText = System.IO.File.ReadAllText(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
+ EqtTrace.Info("DefaultEngineInvoker: Using Application Configuration: '{0}'", appConfigText);
+ }
+#endif
+
+ // Get port number and initialize communication
+ var portNumber = GetIntArgFromDict(argsDictionary, PortArgument);
+
+ // Start Processing of requests
+ using (var requestHandler = new TestRequestHandler())
+ {
+ // Attach to exit of parent process
+ var parentProcessId = GetIntArgFromDict(argsDictionary, ParentProcessIdArgument);
+ EqtTrace.Info("DefaultEngineInvoker: Monitoring parent process with id: '{0}'", parentProcessId);
+ var parentProcessMonitoringTask = WaitForParentProcessExitAsync(parentProcessId);
+
+ // Initialize Communication
+ EqtTrace.Info("DefaultEngineInvoker: Initialize communication on port number: '{0}'", portNumber);
+ requestHandler.InitializeCommunication(portNumber);
+
+ // Start processing async in a different task
+ EqtTrace.Info("DefaultEngineInvoker: Start Request Processing.");
+ var processingTask = StartProcessingAsync(requestHandler, new TestHostManagerFactory());
+
+ // Wait for either processing to complete or parent process exit
+ Task.WaitAny(processingTask, parentProcessMonitoringTask);
+ }
+ }
+
+ private Task StartProcessingAsync(ITestRequestHandler requestHandler, ITestHostManagerFactory managerFactory)
+ {
+ return Task.Run(() =>
+ {
+ // Wait for the connection to the sender and start processing requests from sender
+ if (requestHandler.WaitForRequestSenderConnection(ClientListenTimeOut))
+ {
+ requestHandler.ProcessRequests(managerFactory);
+ }
+ else
+ {
+ EqtTrace.Info("DefaultEngineInvoker: RequestHandler timed out while connecting to the Sender.");
+ throw new TimeoutException();
+ }
+ });
+ }
+
+ private static Task WaitForParentProcessExitAsync(int parentProcessId)
+ {
+ var parentProcessExitedHandle = new AutoResetEvent(false);
+ var process = Process.GetProcessById(parentProcessId);
+
+ process.EnableRaisingEvents = true;
+ process.Exited += (sender, args) =>
+ {
+ EqtTrace.Info("DefaultEngineInvoker: ParentProcess '{0}' Exited.", parentProcessId);
+ parentProcessExitedHandle.Set();
+ };
+
+ return Task.Run(() => parentProcessExitedHandle.WaitOne());
+ }
+
+ ///
+ /// Parse the value of an argument as an integer.
+ ///
+ /// Dictionary of all arguments Ex: { "--port":"12312", "--parentprocessid":"2312" }
+ /// The full name for required argument. Ex: "--port"
+ /// Value of the argument.
+ /// Thrown if value of an argument is not an integer.
+ private static int GetIntArgFromDict(IDictionary argsDictionary, string fullname)
+ {
+ string optionValue;
+ return argsDictionary.TryGetValue(fullname, out optionValue) ? int.Parse(optionValue) : 0;
+ }
+ }
+}
diff --git a/src/testhost.x86/Friends.cs b/src/testhost.x86/Friends.cs
new file mode 100644
index 0000000000..55e90bd38e
--- /dev/null
+++ b/src/testhost.x86/Friends.cs
@@ -0,0 +1,13 @@
+// Copyright (c) Microsoft. All rights reserved.
+
+using System.Runtime.CompilerServices;
+
+#region Product Assemblies
+
+#endregion
+
+#region Test Assemblies
+
+[assembly: InternalsVisibleTo("testhost.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+
+#endregion
diff --git a/src/testhost.x86/IEngineInvoker.cs b/src/testhost.x86/IEngineInvoker.cs
new file mode 100644
index 0000000000..ec0ae8db5a
--- /dev/null
+++ b/src/testhost.x86/IEngineInvoker.cs
@@ -0,0 +1,21 @@
+// Copyright (c) Microsoft. All rights reserved.
+
+namespace Microsoft.VisualStudio.TestPlatform.TestHost
+{
+ using System;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Threading.Tasks;
+
+ ///
+ /// Interface contract for invoking the engine
+ ///
+ public interface IEngineInvoker
+ {
+ ///
+ /// Invokes the Engine with the arguments
+ ///
+ /// Arguments for the engine
+ void Invoke(IDictionary argsDictionary);
+ }
+}
diff --git a/src/testhost.x86/Program.cs b/src/testhost.x86/Program.cs
index 80879eb41e..b3388f6afb 100644
--- a/src/testhost.x86/Program.cs
+++ b/src/testhost.x86/Program.cs
@@ -6,30 +6,16 @@ namespace Microsoft.VisualStudio.TestPlatform.TestHost
using System.Collections.Generic;
using System.Diagnostics;
- using CrossPlatEngine;
-
- using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;
- using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
using Microsoft.VisualStudio.TestPlatform.Utilities;
- using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Interfaces;
-
+ using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing;
///
/// The program.
///
public class Program
{
- ///
- /// The timeout for the client to connect to the server.
- ///
- private const int ClientListenTimeOut = 5 * 1000;
-
- private const string PortArgument = "--port";
-
- private const string ParentProcessIdArgument = "--parentprocessid";
-
- private const string LogFileArgument = "--diag";
+ private const string TestSourceArgumentString = "--testsourcepath";
///
/// The main.
@@ -41,6 +27,7 @@ public static void Main(string[] args)
{
try
{
+ TestPlatformEventSource.Instance.TestHostStart();
WaitForDebuggerIfEnabled();
Run(args);
}
@@ -48,51 +35,46 @@ public static void Main(string[] args)
{
EqtTrace.Error("TestHost: Error occured during initialization of TestHost : {0}", ex);
}
+ finally
+ {
+ TestPlatformEventSource.Instance.TestHostStop();
+ }
}
private static void Run(string[] args)
{
- TestPlatformEventSource.Instance.TestHostStart();
var argsDictionary = GetArguments(args);
- var requestHandler = new TestRequestHandler();
-
- // Attach to exit of parent process
- var parentProcessId = GetIntArgFromDict(argsDictionary, ParentProcessIdArgument);
- OnParentProcessExit(parentProcessId, requestHandler);
+ // Invoke the engine with arguments
+ GetEngineInvoker(argsDictionary).Invoke(argsDictionary);
+ }
- // Setup logging if enabled
- string logFile;
- if (argsDictionary.TryGetValue(LogFileArgument, out logFile))
+ private static IEngineInvoker GetEngineInvoker(IDictionary argsDictionary)
+ {
+ IEngineInvoker invoker = null;
+#if NET46
+ // If Args contains test source argument, invoker Engine in new appdomain
+ string testSourcePath;
+ if (argsDictionary.TryGetValue(TestSourceArgumentString, out testSourcePath) && !string.IsNullOrWhiteSpace(testSourcePath))
{
- EqtTrace.InitializeVerboseTrace(logFile);
- }
-
- // Get port number and initialize communication
- var portNumber = GetIntArgFromDict(argsDictionary, PortArgument);
- requestHandler.InitializeCommunication(portNumber);
-
- // Setup the factory
- var managerFactory = new TestHostManagerFactory();
+ // remove the test source arg from dictionary
+ argsDictionary.Remove(TestSourceArgumentString);
- // Wait for the connection to the sender and start processing requests from sender
- if (requestHandler.WaitForRequestSenderConnection(ClientListenTimeOut))
- {
- requestHandler.ProcessRequests(managerFactory);
- }
- else
- {
- EqtTrace.Info("TestHost: RequestHandler timed out while connecting to the Sender.");
- requestHandler.Close();
- throw new TimeoutException();
+ // Only DLLs and EXEs can have app.configs or ".exe.config" or ".dll.config"
+ if (System.IO.File.Exists(testSourcePath) &&
+ (testSourcePath.EndsWith(".dll", StringComparison.OrdinalIgnoreCase)
+ || testSourcePath.EndsWith(".exe", StringComparison.OrdinalIgnoreCase)))
+ {
+ invoker = new AppDomainEngineInvoker(testSourcePath);
+ }
}
-
- TestPlatformEventSource.Instance.TestHostStop();
+#endif
+ return invoker ?? new DefaultEngineInvoker();
}
///
/// Parse command line arguments to a dictionary.
///
- /// Command line arguments. Ex: { "--port", "12312", "--parentprocessid", "2312" }
+ /// Command line arguments. Ex: { "--port", "12312", "--parentprocessid", "2312", "--testsourcepath", "C:\temp\1.dll" }
/// Dictionary of arguments keys and values.
private static IDictionary GetArguments(string[] args)
{
@@ -116,34 +98,6 @@ private static IDictionary GetArguments(string[] args)
return argsDictionary;
}
- ///
- /// Parse the value of an argument as an integer.
- ///
- /// Dictionary of all arguments Ex: { "--port":"12312", "--parentprocessid":"2312" }
- /// The full name for required argument. Ex: "--port"
- /// Value of the argument.
- /// Thrown if value of an argument is not an integer.
- private static int GetIntArgFromDict(IDictionary argsDictionary, string fullname)
- {
- string optionValue;
- return argsDictionary.TryGetValue(fullname, out optionValue) ? int.Parse(optionValue) : 0;
- }
-
-
- private static void OnParentProcessExit(int parentProcessId, ITestRequestHandler requestHandler)
- {
- EqtTrace.Info("TestHost: exits itself because parent process exited");
- var process = Process.GetProcessById(parentProcessId);
- process.EnableRaisingEvents = true;
- process.Exited += (sender, args) =>
- {
- requestHandler?.Close();
- TestPlatformEventSource.Instance.TestHostStop();
- process.Dispose();
- Environment.Exit(0);
- };
- }
-
private static void WaitForDebuggerIfEnabled()
{
var debugEnabled = Environment.GetEnvironmentVariable("VSTEST_HOST_DEBUG");
@@ -151,17 +105,17 @@ private static void WaitForDebuggerIfEnabled()
{
ConsoleOutput.Instance.WriteLine("Waiting for debugger attach...", OutputLevel.Information);
- var currentProcess = System.Diagnostics.Process.GetCurrentProcess();
+ var currentProcess = Process.GetCurrentProcess();
ConsoleOutput.Instance.WriteLine(
string.Format("Process Id: {0}, Name: {1}", currentProcess.Id, currentProcess.ProcessName),
OutputLevel.Information);
- while (!System.Diagnostics.Debugger.IsAttached)
+ while (!Debugger.IsAttached)
{
System.Threading.Thread.Sleep(1000);
}
- System.Diagnostics.Debugger.Break();
+ Debugger.Break();
}
}
}
diff --git a/src/testhost.x86/project.json b/src/testhost.x86/project.json
index fbff7354b3..4cf877bdbe 100644
--- a/src/testhost.x86/project.json
+++ b/src/testhost.x86/project.json
@@ -36,6 +36,10 @@
"System.ComponentModel.TypeConverter": "4.1.0"
}
},
- "net46": {}
+ "net46": {
+ "frameworkAssemblies": {
+ "System.Xml.Linq": ""
+ }
+ }
}
}
diff --git a/src/testhost/project.json b/src/testhost/project.json
index 934b996853..4745d5272e 100644
--- a/src/testhost/project.json
+++ b/src/testhost/project.json
@@ -7,7 +7,11 @@
"keyFile": "../../scripts/key.snk",
"warningsAsErrors": true,
"compile": [
- "../testhost.x86/Program.cs"
+ "../testhost.x86/Program.cs",
+ "../testhost.x86/DefaultEngineInvoker.cs",
+ "../testhost.x86/IEngineInvoker.cs",
+ "../testhost.x86/AppDomainEngineInvoker.cs",
+ "../testhost.x86/Friends.cs"
]
},
@@ -39,6 +43,10 @@
"Microsoft.NETCore.Runtime.CoreCLR": "1.0.2"
}
},
- "net46": {}
+ "net46": {
+ "frameworkAssemblies": {
+ "System.Xml.Linq": ""
+ }
+ }
}
}
diff --git a/src/vstest.console/CommandLine/CommandArgumentPair.cs b/src/vstest.console/CommandLine/CommandArgumentPair.cs
index e129d2710e..e53fa66d31 100644
--- a/src/vstest.console/CommandLine/CommandArgumentPair.cs
+++ b/src/vstest.console/CommandLine/CommandArgumentPair.cs
@@ -4,6 +4,8 @@ namespace Microsoft.VisualStudio.TestPlatform.CommandLine
{
using System;
using System.Diagnostics.Contracts;
+
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
///
/// Breaks a string down into command and argument based on the following format:
@@ -44,7 +46,7 @@ public CommandArgumentPair(string input)
{
if (String.IsNullOrWhiteSpace(input))
{
- throw new ArgumentException(Resources.CannotBeNullOrEmpty, "input");
+ throw new ArgumentException(CommandLineResources.CannotBeNullOrEmpty, "input");
}
Contract.Ensures(!String.IsNullOrWhiteSpace(Command));
@@ -60,7 +62,7 @@ public CommandArgumentPair(string command, string argument)
{
if (String.IsNullOrWhiteSpace(command))
{
- throw new ArgumentException(Resources.CannotBeNullOrEmpty, "command");
+ throw new ArgumentException(CommandLineResources.CannotBeNullOrEmpty, "command");
}
Contract.Ensures(Command == command);
diff --git a/src/vstest.console/CommandLine/CommandLineOptions.cs b/src/vstest.console/CommandLine/CommandLineOptions.cs
index b01af776ab..cf6c227941 100644
--- a/src/vstest.console/CommandLine/CommandLineOptions.cs
+++ b/src/vstest.console/CommandLine/CommandLineOptions.cs
@@ -12,6 +12,8 @@ namespace Microsoft.VisualStudio.TestPlatform.CommandLine
using Utilities.Helpers;
using Utilities.Helpers.Interfaces;
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
+
///
/// Provides access to the command-line options.
///
@@ -236,20 +238,20 @@ public void AddSource(string source)
{
if (String.IsNullOrWhiteSpace(source))
{
- throw new CommandLineException(Resources.CannotBeNullOrEmpty);
+ throw new CommandLineException(CommandLineResources.CannotBeNullOrEmpty);
}
source = source.Trim();
if (!FileHelper.Exists(source))
{
throw new CommandLineException(
- string.Format(CultureInfo.CurrentUICulture, Resources.TestSourceFileNotFound, source));
+ string.Format(CultureInfo.CurrentUICulture, CommandLineResources.TestSourceFileNotFound, source));
}
if (this.sources.Contains(source, StringComparer.OrdinalIgnoreCase))
{
throw new CommandLineException(
- string.Format(CultureInfo.CurrentCulture, Resources.DuplicateSource, source));
+ string.Format(CultureInfo.CurrentCulture, CommandLineResources.DuplicateSource, source));
}
this.sources.Add(source);
diff --git a/src/vstest.console/CommandLine/Executor.cs b/src/vstest.console/CommandLine/Executor.cs
index a9b5e01d12..5c1e284339 100644
--- a/src/vstest.console/CommandLine/Executor.cs
+++ b/src/vstest.console/CommandLine/Executor.cs
@@ -25,15 +25,18 @@ namespace Microsoft.VisualStudio.TestPlatform.CommandLine
using System;
using System.Collections.Generic;
using System.Diagnostics;
+ using System.Diagnostics.Contracts;
using System.Globalization;
using System.Linq;
- using Microsoft.VisualStudio.TestPlatform.CommandLine.Processors;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel;
- using Microsoft.VisualStudio.TestPlatform.Utilities;
- using System.Diagnostics.Contracts;
using System.Reflection;
+
+ using Microsoft.VisualStudio.TestPlatform.CommandLine.Processors;
using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing;
using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing.Interfaces;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel;
+ using Microsoft.VisualStudio.TestPlatform.Utilities;
+
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
///
/// Performs the execution based on the arguments provided.
@@ -157,7 +160,7 @@ private int GetArgumentProcessors(string[] args, out List pr
else
{
// No known processor was found, report an error and continue
- Output.Error(String.Format(CultureInfo.CurrentCulture, Resources.NoArgumentProcessorFound, arg));
+ Output.Error(String.Format(CultureInfo.CurrentCulture, CommandLineResources.NoArgumentProcessorFound, arg));
// Add the help processor
if (result == 0)
@@ -230,7 +233,7 @@ private int IdentifyDuplicateArguments(IEnumerable argumentP
// Update the count so we do not print the error out for this argument multiple times.
commandSeenCount[processor.Metadata.Value.CommandName] = ++count;
- Output.Error(String.Format(CultureInfo.CurrentCulture, Resources.DuplicateArgumentError, processor.Metadata.Value.CommandName));
+ Output.Error(String.Format(CultureInfo.CurrentCulture, CommandLineResources.DuplicateArgumentError, processor.Metadata.Value.CommandName));
}
}
}
@@ -292,10 +295,10 @@ private bool ExecuteArgumentProcessor(IArgumentProcessor processor, out int exit
private void PrintSplashScreen()
{
var version = typeof(Executor).GetTypeInfo().Assembly.GetName().Version;
- string commandLineBanner = String.Format(CultureInfo.CurrentUICulture, Resources.MicrosoftCommandLineTitle, version.ToString());
+ string commandLineBanner = String.Format(CultureInfo.CurrentUICulture, CommandLineResources.MicrosoftCommandLineTitle, version.ToString());
Output.WriteLine(commandLineBanner, OutputLevel.Information);
- Output.WriteLine(Resources.CopyrightCommandLineTitle, OutputLevel.Information);
+ Output.WriteLine(CommandLineResources.CopyrightCommandLineTitle, OutputLevel.Information);
Output.WriteLine(string.Empty, OutputLevel.Information);
}
diff --git a/src/vstest.console/Internal/ConsoleLogger.cs b/src/vstest.console/Internal/ConsoleLogger.cs
index e928d6021f..d382b63bf0 100644
--- a/src/vstest.console/Internal/ConsoleLogger.cs
+++ b/src/vstest.console/Internal/ConsoleLogger.cs
@@ -2,17 +2,19 @@
namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Internal
{
- using Microsoft.VisualStudio.TestPlatform.ObjectModel;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
- using Microsoft.VisualStudio.TestPlatform.Utilities;
using System;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Globalization;
using System.Linq;
using System.Text;
- using Resources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources;
+
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
+ using Microsoft.VisualStudio.TestPlatform.Utilities;
+
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
///
/// Logger for sending output to the console.
@@ -113,19 +115,19 @@ private static void PrintTimeSpan(TimeSpan timeSpan)
{
if (timeSpan.TotalDays >= 1)
{
- Output.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.ExecutionTimeFormatString, timeSpan.TotalDays, Resources.Days), OutputLevel.Information);
+ Output.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.ExecutionTimeFormatString, timeSpan.TotalDays, CommandLineResources.Days), OutputLevel.Information);
}
else if (timeSpan.TotalHours >= 1)
{
- Output.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.ExecutionTimeFormatString, timeSpan.TotalHours, Resources.Hours), OutputLevel.Information);
+ Output.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.ExecutionTimeFormatString, timeSpan.TotalHours, CommandLineResources.Hours), OutputLevel.Information);
}
else if (timeSpan.TotalMinutes >= 1)
{
- Output.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.ExecutionTimeFormatString, timeSpan.TotalMinutes, Resources.Minutes), OutputLevel.Information);
+ Output.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.ExecutionTimeFormatString, timeSpan.TotalMinutes, CommandLineResources.Minutes), OutputLevel.Information);
}
else
{
- Output.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.ExecutionTimeFormatString, timeSpan.TotalSeconds, Resources.Seconds), OutputLevel.Information);
+ Output.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.ExecutionTimeFormatString, timeSpan.TotalSeconds, CommandLineResources.Seconds), OutputLevel.Information);
}
}
@@ -139,9 +141,9 @@ private static string GetFormattedOutput(Collection testMessa
StringBuilder sb = new StringBuilder();
foreach (var message in testMessageCollection)
{
- string prefix = String.Format(CultureInfo.CurrentCulture, "{0}{1}", Environment.NewLine, Resources.TestMessageFormattingPrefix);
- string messageText = message.Text.Replace(Environment.NewLine, prefix).TrimEnd(Resources.TestMessageFormattingPrefix.ToCharArray());
- sb.AppendFormat(CultureInfo.CurrentCulture, "{0}{1}", Resources.TestMessageFormattingPrefix, messageText);
+ string prefix = String.Format(CultureInfo.CurrentCulture, "{0}{1}", Environment.NewLine, CommandLineResources.TestMessageFormattingPrefix);
+ string messageText = message.Text.Replace(Environment.NewLine, prefix).TrimEnd(CommandLineResources.TestMessageFormattingPrefix.ToCharArray());
+ sb.AppendFormat(CultureInfo.CurrentCulture, "{0}{1}", CommandLineResources.TestMessageFormattingPrefix, messageText);
}
return sb.ToString();
}
@@ -169,15 +171,15 @@ private static void DisplayFullInformation(TestResult result)
if (!String.IsNullOrEmpty(result.ErrorMessage))
{
hasData = true;
- Output.WriteLine(Resources.ErrorMessageBanner, OutputLevel.Error);
- string errorMessage = String.Format(CultureInfo.CurrentCulture, "{0}{1}", Resources.TestMessageFormattingPrefix, result.ErrorMessage);
+ Output.WriteLine(CommandLineResources.ErrorMessageBanner, OutputLevel.Error);
+ string errorMessage = String.Format(CultureInfo.CurrentCulture, "{0}{1}", CommandLineResources.TestMessageFormattingPrefix, result.ErrorMessage);
Output.WriteLine(errorMessage, OutputLevel.Error);
}
if (!String.IsNullOrEmpty(result.ErrorStackTrace))
{
hasData = true;
- Output.WriteLine(Resources.StacktraceBanner, OutputLevel.Error);
+ Output.WriteLine(CommandLineResources.StacktraceBanner, OutputLevel.Error);
string stackTrace = String.Format(CultureInfo.CurrentCulture, "{0}", result.ErrorStackTrace);
Output.Write(stackTrace, OutputLevel.Error);
}
@@ -187,7 +189,7 @@ private static void DisplayFullInformation(TestResult result)
{
hasData = true;
string stdOutMessages = GetFormattedOutput(stdOutMessagesCollection);
- Output.WriteLine(Resources.StdOutMessagesBanner, OutputLevel.Information);
+ Output.WriteLine(CommandLineResources.StdOutMessagesBanner, OutputLevel.Information);
Output.Write(stdOutMessages, OutputLevel.Information);
}
@@ -196,7 +198,7 @@ private static void DisplayFullInformation(TestResult result)
{
hasData = true;
string stdErrMessages = GetFormattedOutput(stdErrMessagesCollection);
- Output.WriteLine(Resources.StdErrMessagesBanner, OutputLevel.Error);
+ Output.WriteLine(CommandLineResources.StdErrMessagesBanner, OutputLevel.Error);
Output.Write(stdErrMessages, OutputLevel.Error);
}
@@ -204,7 +206,7 @@ private static void DisplayFullInformation(TestResult result)
if (addnlInfoMessagesCollection.Count > 0)
{
hasData = true;
- Output.WriteLine(Resources.AddnlInfoMessagesBanner, OutputLevel.Information);
+ Output.WriteLine(CommandLineResources.AddnlInfoMessagesBanner, OutputLevel.Information);
string addnlInfoMessages = GetFormattedOutput(addnlInfoMessagesCollection);
Output.Write(addnlInfoMessages, OutputLevel.Information);
}
@@ -263,7 +265,7 @@ private void TestResultHandler(object sender, TestResultEventArgs e)
if (e.Result.Outcome == TestOutcome.Skipped)
{
this.testsSkipped++;
- string output = string.Format(CultureInfo.CurrentCulture, Resources.SkippedTestIndicator, name);
+ string output = string.Format(CultureInfo.CurrentCulture, CommandLineResources.SkippedTestIndicator, name);
Output.WriteLine(output, OutputLevel.Information);
DisplayFullInformation(e.Result);
}
@@ -271,13 +273,13 @@ private void TestResultHandler(object sender, TestResultEventArgs e)
{
this.testOutcome = TestOutcome.Failed;
this.testsFailed++;
- string output = string.Format(CultureInfo.CurrentCulture, Resources.FailedTestIndicator, name);
+ string output = string.Format(CultureInfo.CurrentCulture, CommandLineResources.FailedTestIndicator, name);
Output.WriteLine(output, OutputLevel.Information);
DisplayFullInformation(e.Result);
}
else if (e.Result.Outcome == TestOutcome.Passed)
{
- string output = string.Format(CultureInfo.CurrentCulture, Resources.PassedTestIndicator, name);
+ string output = string.Format(CultureInfo.CurrentCulture, CommandLineResources.PassedTestIndicator, name);
Output.WriteLine(output, OutputLevel.Information);
this.testsPassed++;
}
@@ -294,12 +296,12 @@ private void TestRunCompleteHandler(object sender, TestRunCompleteEventArgs e)
int runLevelAttachementCount = (e.AttachmentSets == null) ? 0 : e.AttachmentSets.Sum(attachmentSet => attachmentSet.Attachments.Count);
if (runLevelAttachementCount > 0)
{
- Output.WriteLine(Resources.AttachmentsBanner, OutputLevel.Information);
+ Output.WriteLine(CommandLineResources.AttachmentsBanner, OutputLevel.Information);
foreach (AttachmentSet attachmentSet in e.AttachmentSets)
{
foreach (UriDataAttachment uriDataAttachment in attachmentSet.Attachments)
{
- string attachmentOutput = string.Format(CultureInfo.CurrentCulture, Resources.AttachmentOutputFormat, uriDataAttachment.Uri.LocalPath);
+ string attachmentOutput = string.Format(CultureInfo.CurrentCulture, CommandLineResources.AttachmentOutputFormat, uriDataAttachment.Uri.LocalPath);
Output.WriteLine(attachmentOutput, OutputLevel.Information);
}
}
@@ -311,18 +313,18 @@ private void TestRunCompleteHandler(object sender, TestRunCompleteEventArgs e)
{
if (this.testOutcome == TestOutcome.Failed)
{
- Output.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.TestRunSummary, testsTotal, testsPassed, testsFailed, testsSkipped), OutputLevel.Information);
+ Output.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummary, testsTotal, testsPassed, testsFailed, testsSkipped), OutputLevel.Information);
using (new ConsoleColorHelper(ConsoleColor.Red))
{
- Output.WriteLine(Resources.TestRunFailed, OutputLevel.Error);
+ Output.WriteLine(CommandLineResources.TestRunFailed, OutputLevel.Error);
}
}
else
{
- Output.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.TestRunSummary, testsTotal, testsPassed, testsFailed, testsSkipped), OutputLevel.Information);
+ Output.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummary, testsTotal, testsPassed, testsFailed, testsSkipped), OutputLevel.Information);
using (new ConsoleColorHelper(ConsoleColor.Green))
{
- Output.WriteLine(Resources.TestRunSuccessful, OutputLevel.Information);
+ Output.WriteLine(CommandLineResources.TestRunSuccessful, OutputLevel.Information);
}
}
if (!e.ElapsedTimeInRunningTests.Equals(TimeSpan.Zero))
diff --git a/src/vstest.console/Processors/EnableDiagArgumentProcessor.cs b/src/vstest.console/Processors/EnableDiagArgumentProcessor.cs
index ae3b73c91b..e55dbd5e02 100644
--- a/src/vstest.console/Processors/EnableDiagArgumentProcessor.cs
+++ b/src/vstest.console/Processors/EnableDiagArgumentProcessor.cs
@@ -9,7 +9,7 @@ namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Processors
using Microsoft.VisualStudio.TestPlatform.Utilities.Helpers;
using Microsoft.VisualStudio.TestPlatform.Utilities.Helpers.Interfaces;
- using Resources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources;
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
internal class EnableDiagArgumentProcessor : IArgumentProcessor
{
@@ -88,7 +88,7 @@ internal class EnableDiagArgumentProcessorCapabilities : BaseArgumentProcessorCa
public override ArgumentProcessorPriority Priority => ArgumentProcessorPriority.Diag;
- public override string HelpContentResourceName => CommandLine.Resources.EnableDiagUsage;
+ public override string HelpContentResourceName => CommandLineResources.EnableDiagUsage;
public override HelpContentPriority HelpPriority => HelpContentPriority.EnableDiagArgumentProcessorHelpPriority;
}
@@ -123,18 +123,18 @@ public void Initialize(string argument)
{
if (string.IsNullOrWhiteSpace(argument))
{
- throw new CommandLineException(Resources.EnableDiagUsage);
+ throw new CommandLineException(CommandLineResources.EnableDiagUsage);
}
// Checking if the file is readonly
if (this.fileHelper.Exists(argument) && this.IsFileReadOnly(argument))
{
- throw new CommandLineException(string.Format(Resources.LoggerFileIsReadOnly, argument));
+ throw new CommandLineException(string.Format(CommandLineResources.LoggerFileIsReadOnly, argument));
}
else if (string.IsNullOrWhiteSpace(Path.GetExtension(argument)))
{
// Throwing error if the argument is just path and not a file
- throw new CommandLineException(Resources.EnableDiagUsage);
+ throw new CommandLineException(CommandLineResources.EnableDiagUsage);
}
// Create the base directory for logging if doesn't exist. Directory could be empty if just a
diff --git a/src/vstest.console/Processors/EnableLoggerArgumentProcessor.cs b/src/vstest.console/Processors/EnableLoggerArgumentProcessor.cs
index b15142135f..e5a3caefd9 100644
--- a/src/vstest.console/Processors/EnableLoggerArgumentProcessor.cs
+++ b/src/vstest.console/Processors/EnableLoggerArgumentProcessor.cs
@@ -10,6 +10,8 @@ namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Processors
using Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.Utilities;
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
+
///
/// An argument processor that allows the user to enable a specific logger
/// from the command line using the --Logger|/Logger command line switch.
@@ -96,7 +98,7 @@ internal class EnableLoggerArgumentProcessorCapabilities : BaseArgumentProcessor
///
/// Gets the help content resource name.
///
- public override string HelpContentResourceName => Resources.EnableLoggersArgumentHelp;
+ public override string HelpContentResourceName => CommandLineResources.EnableLoggersArgumentHelp;
///
/// Gets the help priority.
@@ -168,7 +170,7 @@ public void Initialize(string argument)
throw new CommandLineException(
String.Format(
CultureInfo.CurrentUICulture,
- Resources.LoggerNotFound,
+ CommandLineResources.LoggerNotFound,
argument));
}
}
@@ -205,7 +207,7 @@ private static void HandleInvalidArgument(string argument)
throw new CommandLineException(
string.Format(
CultureInfo.CurrentUICulture,
- Resources.LoggerUriInvalid,
+ CommandLineResources.LoggerUriInvalid,
argument));
}
diff --git a/src/vstest.console/Processors/FrameworkArgumentProcessor.cs b/src/vstest.console/Processors/FrameworkArgumentProcessor.cs
index c3676c6120..e5ac2df822 100644
--- a/src/vstest.console/Processors/FrameworkArgumentProcessor.cs
+++ b/src/vstest.console/Processors/FrameworkArgumentProcessor.cs
@@ -5,10 +5,9 @@ namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Processors
using System;
using System.Diagnostics.Contracts;
using System.Globalization;
-
- using Resources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
- using System.Runtime.Versioning;
+
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
///
/// An argument processor that allows the user to specify the target platform architecture
@@ -77,7 +76,7 @@ internal class FrameworkArgumentProcessorCapabilities : BaseArgumentProcessorCap
public override ArgumentProcessorPriority Priority => ArgumentProcessorPriority.AutoUpdateRunSettings;
- public override string HelpContentResourceName => Resources.FrameworkArgumentHelp;
+ public override string HelpContentResourceName => CommandLineResources.FrameworkArgumentHelp;
public override HelpContentPriority HelpPriority => HelpContentPriority.FrameworkArgumentProcessorHelpPriority;
}
@@ -121,14 +120,14 @@ public void Initialize(string argument)
{
if (string.IsNullOrWhiteSpace(argument))
{
- throw new CommandLineException(Resources.FrameworkVersionRequired);
+ throw new CommandLineException(CommandLineResources.FrameworkVersionRequired);
}
var validFramework = Framework.FromString(argument);
if (validFramework == null)
{
throw new CommandLineException(
- string.Format(CultureInfo.CurrentCulture, Resources.InvalidFrameworkVersion, argument));
+ string.Format(CultureInfo.CurrentCulture, CommandLineResources.InvalidFrameworkVersion, argument));
}
commandLineOptions.TargetFrameworkVersion = validFramework;
diff --git a/src/vstest.console/Processors/HelpArgumentProcessor.cs b/src/vstest.console/Processors/HelpArgumentProcessor.cs
index 50635a3a02..387e631eed 100644
--- a/src/vstest.console/Processors/HelpArgumentProcessor.cs
+++ b/src/vstest.console/Processors/HelpArgumentProcessor.cs
@@ -7,7 +7,7 @@ namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Processors
using System.Globalization;
using Microsoft.VisualStudio.TestPlatform.Utilities;
- using Resources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources;
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
//
// Argument Executor for the "-?|--Help|/?|/Help" Help command line argument.
@@ -80,7 +80,7 @@ internal class HelpArgumentProcessorCapabilities : BaseArgumentProcessorCapabili
public override string ShortCommandName => HelpArgumentProcessor.ShortCommandName;
- public override string HelpContentResourceName => Resources.HelpArgumentHelp;
+ public override string HelpContentResourceName => CommandLineResources.HelpArgumentHelp;
public override HelpContentPriority HelpPriority => HelpContentPriority.HelpArgumentProcessorHelpPriority;
@@ -124,9 +124,9 @@ public void Initialize(string argument)
public ArgumentProcessorResult Execute()
{
// Output the stock ouput text
- OutputSection(Resources.HelpUsageText);
- OutputSection(Resources.HelpDescriptionText);
- OutputSection(Resources.HelpArgumentsText);
+ OutputSection(CommandLineResources.HelpUsageText);
+ OutputSection(CommandLineResources.HelpDescriptionText);
+ OutputSection(CommandLineResources.HelpArgumentsText);
var argumentProcessorFactory = ArgumentProcessorFactory.Create();
List processors = new List();
@@ -143,7 +143,7 @@ public ArgumentProcessorResult Execute()
}
// Output the help description for each available argument processor
- OutputSection(Resources.HelpOptionsText);
+ OutputSection(CommandLineResources.HelpOptionsText);
foreach (var argumentProcessor in processors)
{
helpDescription = LookupHelpDescription(argumentProcessor);
@@ -152,7 +152,7 @@ public ArgumentProcessorResult Execute()
OutputSection(helpDescription);
}
}
- OutputSection(Resources.Examples);
+ OutputSection(CommandLineResources.Examples);
// When Help has finished abort any subsequent argument processor operations
return ArgumentProcessorResult.Abort;
diff --git a/src/vstest.console/Processors/ListTestsArgumentProcessor.cs b/src/vstest.console/Processors/ListTestsArgumentProcessor.cs
index 310ee094e2..68282f74ef 100644
--- a/src/vstest.console/Processors/ListTestsArgumentProcessor.cs
+++ b/src/vstest.console/Processors/ListTestsArgumentProcessor.cs
@@ -6,15 +6,17 @@ namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Processors
using System.Diagnostics.Contracts;
using System.Globalization;
using System.Linq;
+
+ using Microsoft.VisualStudio.TestPlatform.Client.RequestHelper;
using Microsoft.VisualStudio.TestPlatform.CommandLine;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
- using Microsoft.VisualStudio.TestPlatform.Utilities;
- using Resources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources;
+ using Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.Utilities;
using Microsoft.VisualStudio.TestPlatform.CommandLine.TestPlatformHelpers;
using Microsoft.VisualStudio.TestPlatform.Common;
using Microsoft.VisualStudio.TestPlatform.Common.Interfaces;
- using Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.Utilities;
- using Microsoft.VisualStudio.TestPlatform.Client.RequestHelper;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
+ using Microsoft.VisualStudio.TestPlatform.Utilities;
+
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
///
/// Argument Executor for the "-lt|--ListTests|/lt|/ListTests" command line argument.
@@ -95,7 +97,7 @@ internal class ListTestsArgumentProcessorCapabilities : BaseArgumentProcessorCap
public override ArgumentProcessorPriority Priority => ArgumentProcessorPriority.Normal;
- public override string HelpContentResourceName => Resources.ListTestsHelp;
+ public override string HelpContentResourceName => CommandLineResources.ListTestsHelp;
public override HelpContentPriority HelpPriority => HelpContentPriority.ListTestsArgumentProcessorHelpPriority;
}
@@ -200,12 +202,12 @@ public ArgumentProcessorResult Execute()
if (this.commandLineOptions.Sources.Count() <= 0)
{
#if TODO
- this.logger.SendMessage(TestMessageLevel.Error, Resources.MissingTestSourceFile);
+ this.logger.SendMessage(TestMessageLevel.Error, CommandLineResources.MissingTestSourceFile);
#endif
return ArgumentProcessorResult.Fail;
}
- this.output.WriteLine(Resources.ListTestsHeaderMessage, OutputLevel.Information);
+ this.output.WriteLine(CommandLineResources.ListTestsHeaderMessage, OutputLevel.Information);
var runSettings = RunSettingsUtilities.GetRunSettings(this.runSettingsManager, this.commandLineOptions);
@@ -254,7 +256,7 @@ private void discoveryRequest_OnDiscoveredTests(Object sender, DiscoveredTestsEv
}
output.WriteLine(String.Format(CultureInfo.CurrentUICulture,
- Resources.AvailableTestsFormat,
+ CommandLineResources.AvailableTestsFormat,
test.DisplayName),
OutputLevel.Information);
}
diff --git a/src/vstest.console/Processors/ParallelArgumentProcessor.cs b/src/vstest.console/Processors/ParallelArgumentProcessor.cs
index 874b2dc4cd..86b2ab5f4b 100644
--- a/src/vstest.console/Processors/ParallelArgumentProcessor.cs
+++ b/src/vstest.console/Processors/ParallelArgumentProcessor.cs
@@ -3,11 +3,10 @@
namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Processors
{
using System;
- using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Globalization;
- using System.Linq;
- using System.Threading.Tasks;
+
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
///
/// Parallel Option Argument processor that allows the user to specify if tests are to be run in parallel.
@@ -72,7 +71,7 @@ internal class ParallelArgumentProcessorCapabilities : BaseArgumentProcessorCapa
public override ArgumentProcessorPriority Priority => ArgumentProcessorPriority.AutoUpdateRunSettings;
- public override string HelpContentResourceName => Resources.ParallelArgumentProcessorHelp;
+ public override string HelpContentResourceName => CommandLineResources.ParallelArgumentProcessorHelp;
public override HelpContentPriority HelpPriority => HelpContentPriority.ParallelArgumentProcessorHelpPriority;
}
@@ -118,7 +117,7 @@ public void Initialize(string argument)
if (!string.IsNullOrWhiteSpace(argument))
{
throw new CommandLineException(
- string.Format(CultureInfo.CurrentCulture, Resources.InvalidParallelCommand, argument));
+ string.Format(CultureInfo.CurrentCulture, CommandLineResources.InvalidParallelCommand, argument));
}
commandLineOptions.Parallel = true;
diff --git a/src/vstest.console/Processors/ParentProcessIdArgumentProcessor.cs b/src/vstest.console/Processors/ParentProcessIdArgumentProcessor.cs
index a01a17cfa2..9a75053555 100644
--- a/src/vstest.console/Processors/ParentProcessIdArgumentProcessor.cs
+++ b/src/vstest.console/Processors/ParentProcessIdArgumentProcessor.cs
@@ -2,10 +2,13 @@
namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Processors
{
- using Microsoft.VisualStudio.TestPlatform.CommandLine;
using System;
using System.Diagnostics.Contracts;
+ using Microsoft.VisualStudio.TestPlatform.CommandLine;
+
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
+
///
/// Argument Processor for the "--ParentProcessId|/ParentProcessId" command line argument.
///
@@ -73,7 +76,7 @@ internal class ParentProcessIdArgumentProcessorCapabilities : BaseArgumentProces
public override ArgumentProcessorPriority Priority => ArgumentProcessorPriority.ParentProcessId;
- public override string HelpContentResourceName => Resources.ParentProcessIdArgumentHelp;
+ public override string HelpContentResourceName => CommandLineResources.ParentProcessIdArgumentHelp;
public override HelpContentPriority HelpPriority => HelpContentPriority.ParentProcessIdArgumentProcessorHelpPriority;
}
@@ -117,7 +120,7 @@ public void Initialize(string argument)
int parentProcessId;
if (string.IsNullOrWhiteSpace(argument) || !int.TryParse(argument, out parentProcessId))
{
- throw new CommandLineException(Resources.InvalidParentProcessIdArgument);
+ throw new CommandLineException(CommandLineResources.InvalidParentProcessIdArgument);
}
this.commandLineOptions.ParentProcessId = parentProcessId;
diff --git a/src/vstest.console/Processors/PlatformArgumentProcessor.cs b/src/vstest.console/Processors/PlatformArgumentProcessor.cs
index 584f4eecd7..c37f66fe25 100644
--- a/src/vstest.console/Processors/PlatformArgumentProcessor.cs
+++ b/src/vstest.console/Processors/PlatformArgumentProcessor.cs
@@ -6,8 +6,8 @@ namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Processors
using System.Diagnostics.Contracts;
using System.Globalization;
- using Resources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
///
/// An argument processor that allows the user to specify the target platform architecture
@@ -76,7 +76,7 @@ internal class PlatformArgumentProcessorCapabilities : BaseArgumentProcessorCapa
public override ArgumentProcessorPriority Priority => ArgumentProcessorPriority.AutoUpdateRunSettings;
- public override string HelpContentResourceName => Resources.PlatformArgumentHelp;
+ public override string HelpContentResourceName => CommandLineResources.PlatformArgumentHelp;
public override HelpContentPriority HelpPriority => HelpContentPriority.PlatformArgumentProcessorHelpPriority;
}
@@ -120,7 +120,7 @@ public void Initialize(string argument)
{
if (string.IsNullOrWhiteSpace(argument))
{
- throw new CommandLineException(Resources.PlatformTypeRequired);
+ throw new CommandLineException(CommandLineResources.PlatformTypeRequired);
}
Architecture platform;
@@ -137,7 +137,7 @@ public void Initialize(string argument)
else
{
throw new CommandLineException(
- string.Format(CultureInfo.CurrentCulture, Resources.InvalidPlatformType, argument));
+ string.Format(CultureInfo.CurrentCulture, CommandLineResources.InvalidPlatformType, argument));
}
if (EqtTrace.IsInfoEnabled)
diff --git a/src/vstest.console/Processors/PortArgumentProcessor.cs b/src/vstest.console/Processors/PortArgumentProcessor.cs
index 5b139559ae..940efefd00 100644
--- a/src/vstest.console/Processors/PortArgumentProcessor.cs
+++ b/src/vstest.console/Processors/PortArgumentProcessor.cs
@@ -2,14 +2,17 @@
namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Processors
{
- using Microsoft.VisualStudio.TestPlatform.CommandLine;
using System;
+ using System.Diagnostics;
using System.Diagnostics.Contracts;
- using TestPlatformHelpers;
- using Resources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources;
- using Microsoft.VisualStudio.TestPlatform.Client.RequestHelper;
+
using Microsoft.VisualStudio.TestPlatform.Client.DesignMode;
- using System.Diagnostics;
+ using Microsoft.VisualStudio.TestPlatform.Client.RequestHelper;
+ using Microsoft.VisualStudio.TestPlatform.CommandLine;
+
+ using TestPlatformHelpers;
+
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
///
/// Argument Processor for the "--Port|/Port" command line argument.
@@ -78,7 +81,7 @@ internal class PortArgumentProcessorCapabilities : BaseArgumentProcessorCapabili
public override ArgumentProcessorPriority Priority => ArgumentProcessorPriority.Normal;
- public override string HelpContentResourceName => Resources.PortArgumentHelp;
+ public override string HelpContentResourceName => CommandLineResources.PortArgumentHelp;
public override HelpContentPriority HelpPriority => HelpContentPriority.PortArgumentProcessorHelpPriority;
}
@@ -149,7 +152,7 @@ public void Initialize(string argument)
int portNumber;
if (string.IsNullOrWhiteSpace(argument) || !int.TryParse(argument, out portNumber))
{
- throw new CommandLineException(Resources.InvalidPortArgument);
+ throw new CommandLineException(CommandLineResources.InvalidPortArgument);
}
this.commandLineOptions.Port = portNumber;
diff --git a/src/vstest.console/Processors/RunSettingsArgumentProcessor.cs b/src/vstest.console/Processors/RunSettingsArgumentProcessor.cs
index 1e2e59188d..926ff8fcc9 100644
--- a/src/vstest.console/Processors/RunSettingsArgumentProcessor.cs
+++ b/src/vstest.console/Processors/RunSettingsArgumentProcessor.cs
@@ -8,14 +8,15 @@ namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Processors
using System.Xml;
using System.Xml.XPath;
+ using Microsoft.VisualStudio.TestPlatform.Common;
+ using Microsoft.VisualStudio.TestPlatform.Common.Interfaces;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Utilities;
using Microsoft.VisualStudio.TestPlatform.Utilities;
- using Microsoft.VisualStudio.TestPlatform.Utilities.Helpers.Interfaces;
- using Resources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources;
- using Microsoft.VisualStudio.TestPlatform.Common;
- using Microsoft.VisualStudio.TestPlatform.Common.Interfaces;
using Microsoft.VisualStudio.TestPlatform.Utilities.Helpers;
+ using Microsoft.VisualStudio.TestPlatform.Utilities.Helpers.Interfaces;
+
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
internal class RunSettingsArgumentProcessor : IArgumentProcessor
{
@@ -80,7 +81,7 @@ internal class RunSettingsArgumentProcessorCapabilities : BaseArgumentProcessorC
public override ArgumentProcessorPriority Priority => ArgumentProcessorPriority.RunSettings;
- public override string HelpContentResourceName => Resources.RunSettingsArgumentHelp;
+ public override string HelpContentResourceName => CommandLineResources.RunSettingsArgumentHelp;
public override HelpContentPriority HelpPriority => HelpContentPriority.RunSettingsArgumentProcessorHelpPriority;
}
@@ -103,7 +104,7 @@ public void Initialize(string argument)
{
if (string.IsNullOrWhiteSpace(argument))
{
- throw new CommandLineException(Resources.RunSettingsRequired);
+ throw new CommandLineException(CommandLineResources.RunSettingsRequired);
}
if (!this.FileHelper.Exists(argument))
@@ -111,7 +112,7 @@ public void Initialize(string argument)
throw new CommandLineException(
string.Format(
CultureInfo.CurrentCulture,
- Resources.RunSettingsFileNotFound,
+ CommandLineResources.RunSettingsFileNotFound,
argument));
}
@@ -131,7 +132,7 @@ public void Initialize(string argument)
}
catch (XmlException exception)
{
- throw new CommandLineException(Resources.MalformedRunSettingsFile, exception);
+ throw new CommandLineException(CommandLineResources.MalformedRunSettingsFile, exception);
}
catch (SettingsException exception)
{
@@ -171,7 +172,7 @@ private IXPathNavigable GetRunSettingsDocument(string runSettingsFile)
if (this.commandLineOptions.FrameworkVersionSpecified && this.commandLineOptions.TargetFrameworkVersion != Framework.DefaultFramework)
{
IOutput output = ConsoleOutput.Instance;
- output.Warning(Resources.TestSettingsFrameworkMismatch, this.commandLineOptions.TargetFrameworkVersion.ToString(), Framework.DefaultFramework.ToString());
+ output.Warning(CommandLineResources.TestSettingsFrameworkMismatch, this.commandLineOptions.TargetFrameworkVersion.ToString(), Framework.DefaultFramework.ToString());
}
var architecture = this.commandLineOptions.ArchitectureSpecified
@@ -189,7 +190,7 @@ private IXPathNavigable GetRunSettingsDocument(string runSettingsFile)
}
catch (XPathException e)
{
- throw new SettingsException(Resources.MalformedRunSettingsFile, e);
+ throw new SettingsException(CommandLineResources.MalformedRunSettingsFile, e);
}
}
diff --git a/src/vstest.console/Processors/RunSpecificTestsArgumentProcessor.cs b/src/vstest.console/Processors/RunSpecificTestsArgumentProcessor.cs
index 6ebcf385c5..39010b0b4e 100644
--- a/src/vstest.console/Processors/RunSpecificTestsArgumentProcessor.cs
+++ b/src/vstest.console/Processors/RunSpecificTestsArgumentProcessor.cs
@@ -4,23 +4,21 @@ namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Processors
{
using System;
using System.Collections.Generic;
- using System.Linq;
- using System.Diagnostics.Contracts;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel;
- using Resources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources;
- using Microsoft.VisualStudio.TestPlatform.Utilities;
using System.Collections.ObjectModel;
+ using System.Diagnostics.Contracts;
using System.Globalization;
+ using System.Linq;
- using Microsoft.VisualStudio.TestPlatform.Common.Logging;
+ using Microsoft.VisualStudio.TestPlatform.Client.RequestHelper;
+ using Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.Utilities;
using Microsoft.VisualStudio.TestPlatform.CommandLine.TestPlatformHelpers;
- using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Interfaces;
using Microsoft.VisualStudio.TestPlatform.Common;
using Microsoft.VisualStudio.TestPlatform.Common.Interfaces;
- using Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.Utilities;
- using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel;
- using Microsoft.VisualStudio.TestPlatform.Client.RequestHelper;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
+ using Microsoft.VisualStudio.TestPlatform.Utilities;
+
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
internal class RunSpecificTestsArgumentProcessor : IArgumentProcessor
{
@@ -72,7 +70,7 @@ internal class RunSpecificTestsArgumentProcessorCapabilities : BaseArgumentProce
public override bool AllowMultiple => false;
- public override string HelpContentResourceName => Resources.RunSpecificTestsHelp;
+ public override string HelpContentResourceName => CommandLineResources.RunSpecificTestsHelp;
public override HelpContentPriority HelpPriority => HelpContentPriority.RunSpecificTestsArgumentProcessorHelpPriority;
@@ -175,11 +173,11 @@ public void Initialize(string argument)
{
if (!string.IsNullOrWhiteSpace(argument))
{
- selectedTestNames = new Collection(argument.Split(new string[] { Resources.SearchStringDelimiter }, StringSplitOptions.RemoveEmptyEntries));
+ selectedTestNames = new Collection(argument.Split(new string[] { CommandLineResources.SearchStringDelimiter }, StringSplitOptions.RemoveEmptyEntries));
}
if (selectedTestNames == null || selectedTestNames.Count <= 0)
{
- throw new CommandLineException(Resources.SpecificTestsRequired);
+ throw new CommandLineException(CommandLineResources.SpecificTestsRequired);
}
// by default all filters are not discovered on launch
@@ -199,7 +197,7 @@ public ArgumentProcessorResult Execute()
if (commandLineOptions.Sources.Count() <= 0)
{
#if TODO
- logger.SendMessage(TestMessageLevel.Error, Resources.MissingTestSourceFile);
+ logger.SendMessage(TestMessageLevel.Error, CommandLineResources.MissingTestSourceFile);
#endif
return ArgumentProcessorResult.Fail;
}
@@ -207,7 +205,7 @@ public ArgumentProcessorResult Execute()
if (!string.IsNullOrWhiteSpace(commandLineOptions.TestCaseFilterValue))
{
#if TODO
- logger.SendMessage(TestMessageLevel.Error, Resources.InvalidTestCaseFilterValueForSpecificTests);
+ logger.SendMessage(TestMessageLevel.Error, CommandLineResources.InvalidTestCaseFilterValueForSpecificTests);
#endif
return ArgumentProcessorResult.Fail;
}
@@ -235,7 +233,7 @@ public ArgumentProcessorResult Execute()
/// TestPlatform created based on the command line options
private bool DiscoverTestsAndSelectSpecified(IEnumerable sources)
{
- output.WriteLine(Resources.StartingDiscovery, OutputLevel.Information);
+ output.WriteLine(CommandLineResources.StartingDiscovery, OutputLevel.Information);
return this.testRequestManager.DiscoverTests(
new DiscoveryRequestPayload() { Sources = sources, RunSettings = effectiveRunSettings }, this.discoveryEventsRegistrar);
}
@@ -251,7 +249,7 @@ private bool ExecuteSelectedTests()
if (undiscoveredFilters.Count() != 0)
{
string missingFilters = string.Join(", ", undiscoveredFilters);
- string warningMessage = string.Format(CultureInfo.CurrentCulture, Resources.SomeTestsUnavailableAfterFiltering, discoveredTestCount, missingFilters);
+ string warningMessage = string.Format(CultureInfo.CurrentCulture, CommandLineResources.SomeTestsUnavailableAfterFiltering, discoveredTestCount, missingFilters);
output.Warning(warningMessage);
}
@@ -268,16 +266,16 @@ private bool ExecuteSelectedTests()
if (discoveredTestCount > 0)
{
// No tests that matched any of the given strings.
- warningMessage = string.Format(CultureInfo.CurrentCulture, Resources.NoTestsAvailableAfterFiltering, discoveredTestCount, String.Join(", ", selectedTestNames));
+ warningMessage = string.Format(CultureInfo.CurrentCulture, CommandLineResources.NoTestsAvailableAfterFiltering, discoveredTestCount, String.Join(", ", selectedTestNames));
}
else
{
// No tests were discovered from the given sources.
- warningMessage = string.Format(CultureInfo.CurrentUICulture, Resources.NoTestsAvailableInSources, string.Join(", ", commandLineOptions.Sources));
+ warningMessage = string.Format(CultureInfo.CurrentUICulture, CommandLineResources.NoTestsAvailableInSources, string.Join(", ", commandLineOptions.Sources));
if (!commandLineOptions.UseVsixExtensions)
{
- warningMessage = string.Format(CultureInfo.CurrentCulture, Resources.NoTestsFoundWarningMessageWithSuggestionToUseVsix, warningMessage, Resources.SuggestUseVsixExtensionsIfNoTestsIsFound);
+ warningMessage = string.Format(CultureInfo.CurrentCulture, CommandLineResources.NoTestsFoundWarningMessageWithSuggestionToUseVsix, warningMessage, CommandLineResources.SuggestUseVsixExtensionsIfNoTestsIsFound);
}
}
output.Warning(warningMessage);
diff --git a/src/vstest.console/Processors/RunTestsArgumentProcessor.cs b/src/vstest.console/Processors/RunTestsArgumentProcessor.cs
index 28092de345..e9a023acaa 100644
--- a/src/vstest.console/Processors/RunTestsArgumentProcessor.cs
+++ b/src/vstest.console/Processors/RunTestsArgumentProcessor.cs
@@ -4,20 +4,19 @@ namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Processors
{
using System;
using System.Collections.Generic;
- using System.Linq;
using System.Diagnostics.Contracts;
+ using System.Linq;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
+ using Microsoft.VisualStudio.TestPlatform.Client.RequestHelper;
+ using Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.Utilities;
+ using Microsoft.VisualStudio.TestPlatform.CommandLine.TestPlatformHelpers;
+ using Microsoft.VisualStudio.TestPlatform.Common;
+ using Microsoft.VisualStudio.TestPlatform.Common.Interfaces;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
- using Resources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
using Microsoft.VisualStudio.TestPlatform.Utilities;
- using Microsoft.VisualStudio.TestPlatform.CommandLine.TestPlatformHelpers;
-
- using Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.Utilities;
- using Microsoft.VisualStudio.TestPlatform.Common.Interfaces;
- using Microsoft.VisualStudio.TestPlatform.Common;
- using Microsoft.VisualStudio.TestPlatform.Client.RequestHelper;
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
internal class RunTestsArgumentProcessor : IArgumentProcessor
{
@@ -71,7 +70,7 @@ internal class RunTestsArgumentProcessorCapabilities : BaseArgumentProcessorCapa
public override ArgumentProcessorPriority Priority => ArgumentProcessorPriority.Normal;
- public override string HelpContentResourceName => Resources.RunTestsArgumentHelp;
+ public override string HelpContentResourceName => CommandLineResources.RunTestsArgumentHelp;
public override HelpContentPriority HelpPriority => HelpContentPriority.RunTestsArgumentProcessorHelpPriority;
@@ -151,12 +150,12 @@ public ArgumentProcessorResult Execute()
if (anySource == null)
{
#if TODO
- logger.SendMessage(TestMessageLevel.Error, Resources.MissingTestSourceFile);
+ logger.SendMessage(TestMessageLevel.Error, CommandLineResources.MissingTestSourceFile);
#endif
return ArgumentProcessorResult.Fail;
}
- this.output.WriteLine(Resources.StartingExecution, OutputLevel.Information);
+ this.output.WriteLine(CommandLineResources.StartingExecution, OutputLevel.Information);
var success = true;
if (this.commandLineOptions.Sources.Any())
@@ -233,7 +232,7 @@ private void TestRunRequest_OnRunCompletion(object sender, TestRunCompleteEventA
// Indicate the user to use vsix extensions command if there are no tests found
//if (Utilities.ShouldIndicateTheUserToUseVsixExtensionsCommand(testsFoundInAnySource, commandLineOptions))
//{
- // output.Information(Resources.SuggestUseVsixExtensionsIfNoTestsIsFound);
+ // output.Information(CommandLineResources.SuggestUseVsixExtensionsIfNoTestsIsFound);
// output.WriteLine(string.Empty, OutputLevel.Information);
//}
}
diff --git a/src/vstest.console/Processors/TestAdapterPathArgumentProcessor.cs b/src/vstest.console/Processors/TestAdapterPathArgumentProcessor.cs
index bff58d7036..516aa4d9b1 100644
--- a/src/vstest.console/Processors/TestAdapterPathArgumentProcessor.cs
+++ b/src/vstest.console/Processors/TestAdapterPathArgumentProcessor.cs
@@ -11,6 +11,7 @@ namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Processors
using Microsoft.VisualStudio.TestPlatform.Client;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
using Microsoft.VisualStudio.TestPlatform.Utilities;
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
///
/// Allows the user to specify a path to load custom adapters from.
@@ -81,7 +82,7 @@ internal class TestAdapterPathArgumentProcessorCapabilities : BaseArgumentProces
public override ArgumentProcessorPriority Priority => ArgumentProcessorPriority.TestAdapterPath;
- public override string HelpContentResourceName => CommandLine.Resources.TestAdapterPathHelp;
+ public override string HelpContentResourceName => CommandLineResources.TestAdapterPathHelp;
public override HelpContentPriority HelpPriority => HelpContentPriority.TestAdapterPathArgumentProcessorHelpPriority;
}
@@ -139,7 +140,7 @@ public void Initialize(string argument)
if (string.IsNullOrWhiteSpace(argument))
{
throw new CommandLineException(
- string.Format(CultureInfo.CurrentCulture, CommandLine.Resources.TestAdapterPathValueRequired));
+ string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestAdapterPathValueRequired));
}
string customAdaptersPath;
@@ -152,13 +153,13 @@ public void Initialize(string argument)
customAdaptersPath = Path.GetFullPath(argument);
if (!Directory.Exists(customAdaptersPath))
{
- throw new DirectoryNotFoundException(CommandLine.Resources.TestAdapterPathDoesNotExist);
+ throw new DirectoryNotFoundException(CommandLineResources.TestAdapterPathDoesNotExist);
}
}
catch (Exception e)
{
throw new CommandLineException(
- string.Format(CultureInfo.CurrentCulture, CommandLine.Resources.InvalidTestAdapterPathCommand, argument, e.Message));
+ string.Format(CultureInfo.CurrentCulture, CommandLineResources.InvalidTestAdapterPathCommand, argument, e.Message));
}
this.commandLineOptions.TestAdapterPath = customAdaptersPath;
@@ -171,7 +172,7 @@ public void Initialize(string argument)
else
{
// Print a warning about not finding any test adapter in provided path...
- this.output.Warning(CommandLine.Resources.NoAdaptersFoundInTestAdapterPath, argument);
+ this.output.Warning(CommandLineResources.NoAdaptersFoundInTestAdapterPath, argument);
this.output.WriteLine(string.Empty, OutputLevel.Information);
}
}
diff --git a/src/vstest.console/Processors/TestCaseFilterArgumentProcessor.cs b/src/vstest.console/Processors/TestCaseFilterArgumentProcessor.cs
index 6b00608f56..275c55c295 100644
--- a/src/vstest.console/Processors/TestCaseFilterArgumentProcessor.cs
+++ b/src/vstest.console/Processors/TestCaseFilterArgumentProcessor.cs
@@ -6,7 +6,7 @@ namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Processors
using System.Diagnostics.Contracts;
using System.Globalization;
using Microsoft.VisualStudio.TestPlatform.CommandLine;
- using Resources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources;
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
///
/// Argument Executor for the "/TestCaseFilter" command line argument.
@@ -74,7 +74,7 @@ internal class TestCaseFilterArgumentProcessorCapabilities : BaseArgumentProcess
public override ArgumentProcessorPriority Priority => ArgumentProcessorPriority.Normal;
- public override string HelpContentResourceName => Resources.TestCaseFilterArgumentHelp;
+ public override string HelpContentResourceName => CommandLineResources.TestCaseFilterArgumentHelp;
public override HelpContentPriority HelpPriority => HelpContentPriority.TestCaseFilterArgumentProcessorHelpPriority;
}
@@ -118,7 +118,7 @@ public void Initialize(string argument)
{
if (string.IsNullOrWhiteSpace(argument))
{
- throw new CommandLineException(string.Format(CultureInfo.CurrentUICulture, Resources.TestCaseFilterValueRequired));
+ throw new CommandLineException(string.Format(CultureInfo.CurrentUICulture, CommandLineResources.TestCaseFilterValueRequired));
}
this.commandLineOptions.TestCaseFilterValue = argument;
diff --git a/src/vstest.console/Resources.Designer.cs b/src/vstest.console/Resources/Resources.Designer.cs
similarity index 99%
rename from src/vstest.console/Resources.Designer.cs
rename to src/vstest.console/Resources/Resources.Designer.cs
index a75c81d8b7..cdbe3868e1 100644
--- a/src/vstest.console/Resources.Designer.cs
+++ b/src/vstest.console/Resources/Resources.Designer.cs
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace Microsoft.VisualStudio.TestPlatform.CommandLine {
+namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Resources {
using System;
using System.Reflection;
@@ -38,7 +38,7 @@ internal Resources() {
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("vstest.console.Resources", typeof(Resources).GetTypeInfo().Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("vstest.console.Resources.Resources", typeof(Resources).GetTypeInfo().Assembly);
resourceMan = temp;
}
return resourceMan;
diff --git a/src/vstest.console/Resources.resx b/src/vstest.console/Resources/Resources.resx
similarity index 100%
rename from src/vstest.console/Resources.resx
rename to src/vstest.console/Resources/Resources.resx
diff --git a/src/vstest.console/Resources/xlf/Resources.cs.xlf b/src/vstest.console/Resources/xlf/Resources.cs.xlf
new file mode 100644
index 0000000000..3e78e0c744
--- /dev/null
+++ b/src/vstest.console/Resources/xlf/Resources.cs.xlf
@@ -0,0 +1,846 @@
+
+
+
+
+
+ Duplicate source {0} specified.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ '{0}' not found.
+ Could not find file {0}.
+
+
+
+ The following Test Discovery Add-Ins are available:
+ The following Test Discovery Add-Ins are available:
+
+
+
+ The following Test Execution Add-Ins are available:
+ The following Test Execution Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ {0}: {1}
+ {0}: {1}
+
+
+
+ The following Test Logger Add-Ins are available:
+ The following Test Logger Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ , {0}
+ , {0}
+ Format used to comma separate a list of values.
+
+
+ The parameter "{0}" should be provided only once.
+ The parameter "{0}" should be provided only once.
+
+
+
+ Exception occurred when instantiating extension '{0}': {1}
+ Exception occurred when instantiating extension '{0}': {1}
+
+
+
+ The following Tests are available:
+ The following Tests are available:
+
+
+
+ Unrecognized parameter "{0}".
+ Unrecognized parameter "{0}".
+
+
+
+ The test source file "{0}" provided was not found.
+ The test source file "{0}" provided was not found.
+
+
+
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ -?|--Help|/?|/Help
+ Display this usage message.
+ -?|--Help|/?|/Help
+ Display this usage message.
+
+
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ Copyright (c) Microsoft Corporation. All rights reserved.
+
+
+
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+
+
+
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+
+
+
+ Description: Runs tests from the specified files.
+ Description: Runs tests from the specified files.
+
+
+
+ Options:
+ Options:
+ Section Header for subsequent command help listing
+
+
+ Usage: vstest.console.exe [Arguments] [Options]
+ Usage: vstest.console.exe [Arguments] [Options]
+
+
+
+ No test source files were specified.
+ No test source files were specified.
+
+
+
+ No arguments were specified.
+ No arguments were specified.
+
+
+
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+
+
+
+ The following Settings Providers Add-Ins are available:
+ The following Settings Providers Add-Ins are available:
+
+
+
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+
+
+
+ The /Settings parameter requires a settings file to be provided.
+ The /Settings parameter requires a settings file to be provided.
+
+
+
+ The Settings file '{0}' could not be found.
+ The Settings file '{0}' could not be found.
+
+
+
+ Test Run Failed.
+ Test Run Failed.
+
+
+
+ Test Run Successful.
+ Test Run Successful.
+
+
+
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+
+
+
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+
+
+
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+
+
+
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+
+
+
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+
+
+
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+
+
+
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+
+
+
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+
+
+
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+
+
+
+ /ListDiscoverers
+ Lists installed test discoverers.
+ /ListDiscoverers
+ Lists installed test discoverers.
+
+
+
+ /ListExecutors
+ Lists installed test executors.
+ /ListExecutors
+ Lists installed test executors.
+
+
+
+ /ListLoggers
+ Lists installed test loggers.
+ /ListLoggers
+ Lists installed test loggers.
+
+
+
+ /ListSettingsProviders
+ Lists installed test settings providers.
+ /ListSettingsProviders
+ Lists installed test settings providers.
+
+
+
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+
+
+
+ Time elapsed :
+ Time elapsed :
+
+
+
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+
+
+
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ ,
+ ,
+
+
+
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ Please verify if the console output looks good after modifiaction.
+
+
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ {0} {1}
+ {0} {1}
+
+
+
+ FriendlyName: {0}
+ FriendlyName: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ SettingName: {0}
+ SettingName: {0}
+
+
+
+ Supported File Types:
+ Supported File Types:
+
+
+
+ {0}
+ {0}
+
+
+
+ {0},
+ {0},
+
+
+
+ Default Executor Uri: {0}
+ Default Executor Uri: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+
+
+
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+
+
+
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+
+
+
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+
+
+
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+
+
+
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+
+
+
+ Could not start test run for unit tests for Windows Store app: {0}.
+ Could not start test run for unit tests for Windows Store app: {0}.
+
+
+
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+
+
+
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+
+
+
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+
+
+
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+
+
+
+ Only one app package (.appx file) can be specified for running tests.
+ Only one app package (.appx file) can be specified for running tests.
+
+
+
+ Starting test discovery, please wait...
+ Starting test discovery, please wait...
+
+
+
+ Starting test execution, please wait...
+ Starting test execution, please wait...
+
+
+
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+
+
+
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+
+
+
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+
+
+
+ Settings file provided do not confirm to required format.
+ Settings file provided do not confirm to required format.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+
+
+
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+
+
+
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+
+
+
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+
+
+
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+
+
+
+ Could not start test run for the tests for Windows Phone app: {0}.
+ Could not start test run for the tests for Windows Phone app: {0}.
+
+
+
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+
+
+
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+
+
+
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+
+
+
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+
+
+
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+
+
+
+ Cannot be null or empty
+ Cannot be null or empty
+
+
+
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+
+
+
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+
+
+
+ Unable to find the assembly under test. Please make sure that the project is built.
+ Unable to find the assembly under test. Please make sure that the project is built.
+
+
+
+ The Path {0} does not exist.
+ The Path {0} does not exist.
+
+
+
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+
+
+
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+
+
+
+ The given configuration is invalid.
+ The given configuration is invalid.
+
+
+
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+
+
+
+ The BuildBasePath was not found, provide a valid path and try again.
+ The BuildBasePath was not found, provide a valid path and try again.
+
+
+
+ The Output path was not found, provide a valid path and try again.
+ The Output path was not found, provide a valid path and try again.
+
+
+
+ Additional Information Messages:
+ Additional Information Messages:
+
+
+
+ Days
+ Days
+
+
+
+ Error Message:
+ Error Message:
+
+
+
+ Test execution time: {0:0.0000} {1}
+ Test execution time: {0:0.0000} {1}
+
+
+
+ Hours
+ Hours
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Minutes
+ Minutes
+
+
+
+ Seconds
+ Seconds
+
+
+
+ Stack Trace:
+ Stack Trace:
+
+
+
+ Standard Error Messages:
+ Standard Error Messages:
+
+
+
+ Standard Output Messages:
+ Standard Output Messages:
+
+
+
+
+
+
+
+
+ Attachments:
+ Attachments:
+
+
+
+ {0}
+ {0}
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ Failed {0}
+ Failed {0}
+ Message which is written to the console when a test fails.
+
+
+ Passed {0}
+ Passed {0}
+ Message which is written to the console when a test passes.
+
+
+ Skipped {0}
+ Skipped {0}
+
+
+
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+
+
+
+ Discovery failed for given sources. Exception : {0}
+ Discovery failed for given sources. Exception : {0}
+
+
+
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+
+
+
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+
+
+
+ Arguments:
+ Arguments:
+
+
+
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+
+
+
+ The file {0} provided is read only
+ The file {0} provided is read only
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vstest.console/Resources/xlf/Resources.de.xlf b/src/vstest.console/Resources/xlf/Resources.de.xlf
new file mode 100644
index 0000000000..9cc887b0a1
--- /dev/null
+++ b/src/vstest.console/Resources/xlf/Resources.de.xlf
@@ -0,0 +1,846 @@
+
+
+
+
+
+ Duplicate source {0} specified.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ '{0}' not found.
+ Could not find file {0}.
+
+
+
+ The following Test Discovery Add-Ins are available:
+ The following Test Discovery Add-Ins are available:
+
+
+
+ The following Test Execution Add-Ins are available:
+ The following Test Execution Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ {0}: {1}
+ {0}: {1}
+
+
+
+ The following Test Logger Add-Ins are available:
+ The following Test Logger Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ , {0}
+ , {0}
+ Format used to comma separate a list of values.
+
+
+ The parameter "{0}" should be provided only once.
+ The parameter "{0}" should be provided only once.
+
+
+
+ Exception occurred when instantiating extension '{0}': {1}
+ Exception occurred when instantiating extension '{0}': {1}
+
+
+
+ The following Tests are available:
+ The following Tests are available:
+
+
+
+ Unrecognized parameter "{0}".
+ Unrecognized parameter "{0}".
+
+
+
+ The test source file "{0}" provided was not found.
+ The test source file "{0}" provided was not found.
+
+
+
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ -?|--Help|/?|/Help
+ Display this usage message.
+ -?|--Help|/?|/Help
+ Display this usage message.
+
+
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ Copyright (c) Microsoft Corporation. All rights reserved.
+
+
+
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+
+
+
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+
+
+
+ Description: Runs tests from the specified files.
+ Description: Runs tests from the specified files.
+
+
+
+ Options:
+ Options:
+ Section Header for subsequent command help listing
+
+
+ Usage: vstest.console.exe [Arguments] [Options]
+ Usage: vstest.console.exe [Arguments] [Options]
+
+
+
+ No test source files were specified.
+ No test source files were specified.
+
+
+
+ No arguments were specified.
+ No arguments were specified.
+
+
+
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+
+
+
+ The following Settings Providers Add-Ins are available:
+ The following Settings Providers Add-Ins are available:
+
+
+
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+
+
+
+ The /Settings parameter requires a settings file to be provided.
+ The /Settings parameter requires a settings file to be provided.
+
+
+
+ The Settings file '{0}' could not be found.
+ The Settings file '{0}' could not be found.
+
+
+
+ Test Run Failed.
+ Test Run Failed.
+
+
+
+ Test Run Successful.
+ Test Run Successful.
+
+
+
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+
+
+
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+
+
+
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+
+
+
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+
+
+
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+
+
+
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+
+
+
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+
+
+
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+
+
+
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+
+
+
+ /ListDiscoverers
+ Lists installed test discoverers.
+ /ListDiscoverers
+ Lists installed test discoverers.
+
+
+
+ /ListExecutors
+ Lists installed test executors.
+ /ListExecutors
+ Lists installed test executors.
+
+
+
+ /ListLoggers
+ Lists installed test loggers.
+ /ListLoggers
+ Lists installed test loggers.
+
+
+
+ /ListSettingsProviders
+ Lists installed test settings providers.
+ /ListSettingsProviders
+ Lists installed test settings providers.
+
+
+
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+
+
+
+ Time elapsed :
+ Time elapsed :
+
+
+
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+
+
+
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ ,
+ ,
+
+
+
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ Please verify if the console output looks good after modifiaction.
+
+
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ {0} {1}
+ {0} {1}
+
+
+
+ FriendlyName: {0}
+ FriendlyName: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ SettingName: {0}
+ SettingName: {0}
+
+
+
+ Supported File Types:
+ Supported File Types:
+
+
+
+ {0}
+ {0}
+
+
+
+ {0},
+ {0},
+
+
+
+ Default Executor Uri: {0}
+ Default Executor Uri: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+
+
+
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+
+
+
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+
+
+
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+
+
+
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+
+
+
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+
+
+
+ Could not start test run for unit tests for Windows Store app: {0}.
+ Could not start test run for unit tests for Windows Store app: {0}.
+
+
+
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+
+
+
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+
+
+
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+
+
+
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+
+
+
+ Only one app package (.appx file) can be specified for running tests.
+ Only one app package (.appx file) can be specified for running tests.
+
+
+
+ Starting test discovery, please wait...
+ Starting test discovery, please wait...
+
+
+
+ Starting test execution, please wait...
+ Starting test execution, please wait...
+
+
+
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+
+
+
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+
+
+
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+
+
+
+ Settings file provided do not confirm to required format.
+ Settings file provided do not confirm to required format.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+
+
+
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+
+
+
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+
+
+
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+
+
+
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+
+
+
+ Could not start test run for the tests for Windows Phone app: {0}.
+ Could not start test run for the tests for Windows Phone app: {0}.
+
+
+
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+
+
+
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+
+
+
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+
+
+
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+
+
+
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+
+
+
+ Cannot be null or empty
+ Cannot be null or empty
+
+
+
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+
+
+
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+
+
+
+ Unable to find the assembly under test. Please make sure that the project is built.
+ Unable to find the assembly under test. Please make sure that the project is built.
+
+
+
+ The Path {0} does not exist.
+ The Path {0} does not exist.
+
+
+
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+
+
+
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+
+
+
+ The given configuration is invalid.
+ The given configuration is invalid.
+
+
+
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+
+
+
+ The BuildBasePath was not found, provide a valid path and try again.
+ The BuildBasePath was not found, provide a valid path and try again.
+
+
+
+ The Output path was not found, provide a valid path and try again.
+ The Output path was not found, provide a valid path and try again.
+
+
+
+ Additional Information Messages:
+ Additional Information Messages:
+
+
+
+ Days
+ Days
+
+
+
+ Error Message:
+ Error Message:
+
+
+
+ Test execution time: {0:0.0000} {1}
+ Test execution time: {0:0.0000} {1}
+
+
+
+ Hours
+ Hours
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Minutes
+ Minutes
+
+
+
+ Seconds
+ Seconds
+
+
+
+ Stack Trace:
+ Stack Trace:
+
+
+
+ Standard Error Messages:
+ Standard Error Messages:
+
+
+
+ Standard Output Messages:
+ Standard Output Messages:
+
+
+
+
+
+
+
+
+ Attachments:
+ Attachments:
+
+
+
+ {0}
+ {0}
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ Failed {0}
+ Failed {0}
+ Message which is written to the console when a test fails.
+
+
+ Passed {0}
+ Passed {0}
+ Message which is written to the console when a test passes.
+
+
+ Skipped {0}
+ Skipped {0}
+
+
+
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+
+
+
+ Discovery failed for given sources. Exception : {0}
+ Discovery failed for given sources. Exception : {0}
+
+
+
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+
+
+
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+
+
+
+ Arguments:
+ Arguments:
+
+
+
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+
+
+
+ The file {0} provided is read only
+ The file {0} provided is read only
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vstest.console/Resources/xlf/Resources.es.xlf b/src/vstest.console/Resources/xlf/Resources.es.xlf
new file mode 100644
index 0000000000..2afcdfdd73
--- /dev/null
+++ b/src/vstest.console/Resources/xlf/Resources.es.xlf
@@ -0,0 +1,846 @@
+
+
+
+
+
+ Duplicate source {0} specified.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ '{0}' not found.
+ Could not find file {0}.
+
+
+
+ The following Test Discovery Add-Ins are available:
+ The following Test Discovery Add-Ins are available:
+
+
+
+ The following Test Execution Add-Ins are available:
+ The following Test Execution Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ {0}: {1}
+ {0}: {1}
+
+
+
+ The following Test Logger Add-Ins are available:
+ The following Test Logger Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ , {0}
+ , {0}
+ Format used to comma separate a list of values.
+
+
+ The parameter "{0}" should be provided only once.
+ The parameter "{0}" should be provided only once.
+
+
+
+ Exception occurred when instantiating extension '{0}': {1}
+ Exception occurred when instantiating extension '{0}': {1}
+
+
+
+ The following Tests are available:
+ The following Tests are available:
+
+
+
+ Unrecognized parameter "{0}".
+ Unrecognized parameter "{0}".
+
+
+
+ The test source file "{0}" provided was not found.
+ The test source file "{0}" provided was not found.
+
+
+
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ -?|--Help|/?|/Help
+ Display this usage message.
+ -?|--Help|/?|/Help
+ Display this usage message.
+
+
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ Copyright (c) Microsoft Corporation. All rights reserved.
+
+
+
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+
+
+
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+
+
+
+ Description: Runs tests from the specified files.
+ Description: Runs tests from the specified files.
+
+
+
+ Options:
+ Options:
+ Section Header for subsequent command help listing
+
+
+ Usage: vstest.console.exe [Arguments] [Options]
+ Usage: vstest.console.exe [Arguments] [Options]
+
+
+
+ No test source files were specified.
+ No test source files were specified.
+
+
+
+ No arguments were specified.
+ No arguments were specified.
+
+
+
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+
+
+
+ The following Settings Providers Add-Ins are available:
+ The following Settings Providers Add-Ins are available:
+
+
+
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+
+
+
+ The /Settings parameter requires a settings file to be provided.
+ The /Settings parameter requires a settings file to be provided.
+
+
+
+ The Settings file '{0}' could not be found.
+ The Settings file '{0}' could not be found.
+
+
+
+ Test Run Failed.
+ Test Run Failed.
+
+
+
+ Test Run Successful.
+ Test Run Successful.
+
+
+
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+
+
+
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+
+
+
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+
+
+
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+
+
+
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+
+
+
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+
+
+
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+
+
+
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+
+
+
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+
+
+
+ /ListDiscoverers
+ Lists installed test discoverers.
+ /ListDiscoverers
+ Lists installed test discoverers.
+
+
+
+ /ListExecutors
+ Lists installed test executors.
+ /ListExecutors
+ Lists installed test executors.
+
+
+
+ /ListLoggers
+ Lists installed test loggers.
+ /ListLoggers
+ Lists installed test loggers.
+
+
+
+ /ListSettingsProviders
+ Lists installed test settings providers.
+ /ListSettingsProviders
+ Lists installed test settings providers.
+
+
+
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+
+
+
+ Time elapsed :
+ Time elapsed :
+
+
+
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+
+
+
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ ,
+ ,
+
+
+
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ Please verify if the console output looks good after modifiaction.
+
+
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ {0} {1}
+ {0} {1}
+
+
+
+ FriendlyName: {0}
+ FriendlyName: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ SettingName: {0}
+ SettingName: {0}
+
+
+
+ Supported File Types:
+ Supported File Types:
+
+
+
+ {0}
+ {0}
+
+
+
+ {0},
+ {0},
+
+
+
+ Default Executor Uri: {0}
+ Default Executor Uri: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+
+
+
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+
+
+
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+
+
+
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+
+
+
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+
+
+
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+
+
+
+ Could not start test run for unit tests for Windows Store app: {0}.
+ Could not start test run for unit tests for Windows Store app: {0}.
+
+
+
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+
+
+
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+
+
+
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+
+
+
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+
+
+
+ Only one app package (.appx file) can be specified for running tests.
+ Only one app package (.appx file) can be specified for running tests.
+
+
+
+ Starting test discovery, please wait...
+ Starting test discovery, please wait...
+
+
+
+ Starting test execution, please wait...
+ Starting test execution, please wait...
+
+
+
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+
+
+
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+
+
+
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+
+
+
+ Settings file provided do not confirm to required format.
+ Settings file provided do not confirm to required format.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+
+
+
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+
+
+
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+
+
+
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+
+
+
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+
+
+
+ Could not start test run for the tests for Windows Phone app: {0}.
+ Could not start test run for the tests for Windows Phone app: {0}.
+
+
+
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+
+
+
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+
+
+
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+
+
+
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+
+
+
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+
+
+
+ Cannot be null or empty
+ Cannot be null or empty
+
+
+
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+
+
+
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+
+
+
+ Unable to find the assembly under test. Please make sure that the project is built.
+ Unable to find the assembly under test. Please make sure that the project is built.
+
+
+
+ The Path {0} does not exist.
+ The Path {0} does not exist.
+
+
+
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+
+
+
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+
+
+
+ The given configuration is invalid.
+ The given configuration is invalid.
+
+
+
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+
+
+
+ The BuildBasePath was not found, provide a valid path and try again.
+ The BuildBasePath was not found, provide a valid path and try again.
+
+
+
+ The Output path was not found, provide a valid path and try again.
+ The Output path was not found, provide a valid path and try again.
+
+
+
+ Additional Information Messages:
+ Additional Information Messages:
+
+
+
+ Days
+ Days
+
+
+
+ Error Message:
+ Error Message:
+
+
+
+ Test execution time: {0:0.0000} {1}
+ Test execution time: {0:0.0000} {1}
+
+
+
+ Hours
+ Hours
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Minutes
+ Minutes
+
+
+
+ Seconds
+ Seconds
+
+
+
+ Stack Trace:
+ Stack Trace:
+
+
+
+ Standard Error Messages:
+ Standard Error Messages:
+
+
+
+ Standard Output Messages:
+ Standard Output Messages:
+
+
+
+
+
+
+
+
+ Attachments:
+ Attachments:
+
+
+
+ {0}
+ {0}
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ Failed {0}
+ Failed {0}
+ Message which is written to the console when a test fails.
+
+
+ Passed {0}
+ Passed {0}
+ Message which is written to the console when a test passes.
+
+
+ Skipped {0}
+ Skipped {0}
+
+
+
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+
+
+
+ Discovery failed for given sources. Exception : {0}
+ Discovery failed for given sources. Exception : {0}
+
+
+
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+
+
+
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+
+
+
+ Arguments:
+ Arguments:
+
+
+
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+
+
+
+ The file {0} provided is read only
+ The file {0} provided is read only
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vstest.console/Resources/xlf/Resources.fr.xlf b/src/vstest.console/Resources/xlf/Resources.fr.xlf
new file mode 100644
index 0000000000..c012358b70
--- /dev/null
+++ b/src/vstest.console/Resources/xlf/Resources.fr.xlf
@@ -0,0 +1,846 @@
+
+
+
+
+
+ Duplicate source {0} specified.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ '{0}' not found.
+ Could not find file {0}.
+
+
+
+ The following Test Discovery Add-Ins are available:
+ The following Test Discovery Add-Ins are available:
+
+
+
+ The following Test Execution Add-Ins are available:
+ The following Test Execution Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ {0}: {1}
+ {0}: {1}
+
+
+
+ The following Test Logger Add-Ins are available:
+ The following Test Logger Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ , {0}
+ , {0}
+ Format used to comma separate a list of values.
+
+
+ The parameter "{0}" should be provided only once.
+ The parameter "{0}" should be provided only once.
+
+
+
+ Exception occurred when instantiating extension '{0}': {1}
+ Exception occurred when instantiating extension '{0}': {1}
+
+
+
+ The following Tests are available:
+ The following Tests are available:
+
+
+
+ Unrecognized parameter "{0}".
+ Unrecognized parameter "{0}".
+
+
+
+ The test source file "{0}" provided was not found.
+ The test source file "{0}" provided was not found.
+
+
+
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ -?|--Help|/?|/Help
+ Display this usage message.
+ -?|--Help|/?|/Help
+ Display this usage message.
+
+
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ Copyright (c) Microsoft Corporation. All rights reserved.
+
+
+
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+
+
+
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+
+
+
+ Description: Runs tests from the specified files.
+ Description: Runs tests from the specified files.
+
+
+
+ Options:
+ Options:
+ Section Header for subsequent command help listing
+
+
+ Usage: vstest.console.exe [Arguments] [Options]
+ Usage: vstest.console.exe [Arguments] [Options]
+
+
+
+ No test source files were specified.
+ No test source files were specified.
+
+
+
+ No arguments were specified.
+ No arguments were specified.
+
+
+
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+
+
+
+ The following Settings Providers Add-Ins are available:
+ The following Settings Providers Add-Ins are available:
+
+
+
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+
+
+
+ The /Settings parameter requires a settings file to be provided.
+ The /Settings parameter requires a settings file to be provided.
+
+
+
+ The Settings file '{0}' could not be found.
+ The Settings file '{0}' could not be found.
+
+
+
+ Test Run Failed.
+ Test Run Failed.
+
+
+
+ Test Run Successful.
+ Test Run Successful.
+
+
+
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+
+
+
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+
+
+
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+
+
+
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+
+
+
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+
+
+
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+
+
+
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+
+
+
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+
+
+
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+
+
+
+ /ListDiscoverers
+ Lists installed test discoverers.
+ /ListDiscoverers
+ Lists installed test discoverers.
+
+
+
+ /ListExecutors
+ Lists installed test executors.
+ /ListExecutors
+ Lists installed test executors.
+
+
+
+ /ListLoggers
+ Lists installed test loggers.
+ /ListLoggers
+ Lists installed test loggers.
+
+
+
+ /ListSettingsProviders
+ Lists installed test settings providers.
+ /ListSettingsProviders
+ Lists installed test settings providers.
+
+
+
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+
+
+
+ Time elapsed :
+ Time elapsed :
+
+
+
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+
+
+
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ ,
+ ,
+
+
+
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ Please verify if the console output looks good after modifiaction.
+
+
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ {0} {1}
+ {0} {1}
+
+
+
+ FriendlyName: {0}
+ FriendlyName: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ SettingName: {0}
+ SettingName: {0}
+
+
+
+ Supported File Types:
+ Supported File Types:
+
+
+
+ {0}
+ {0}
+
+
+
+ {0},
+ {0},
+
+
+
+ Default Executor Uri: {0}
+ Default Executor Uri: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+
+
+
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+
+
+
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+
+
+
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+
+
+
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+
+
+
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+
+
+
+ Could not start test run for unit tests for Windows Store app: {0}.
+ Could not start test run for unit tests for Windows Store app: {0}.
+
+
+
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+
+
+
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+
+
+
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+
+
+
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+
+
+
+ Only one app package (.appx file) can be specified for running tests.
+ Only one app package (.appx file) can be specified for running tests.
+
+
+
+ Starting test discovery, please wait...
+ Starting test discovery, please wait...
+
+
+
+ Starting test execution, please wait...
+ Starting test execution, please wait...
+
+
+
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+
+
+
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+
+
+
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+
+
+
+ Settings file provided do not confirm to required format.
+ Settings file provided do not confirm to required format.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+
+
+
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+
+
+
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+
+
+
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+
+
+
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+
+
+
+ Could not start test run for the tests for Windows Phone app: {0}.
+ Could not start test run for the tests for Windows Phone app: {0}.
+
+
+
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+
+
+
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+
+
+
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+
+
+
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+
+
+
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+
+
+
+ Cannot be null or empty
+ Cannot be null or empty
+
+
+
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+
+
+
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+
+
+
+ Unable to find the assembly under test. Please make sure that the project is built.
+ Unable to find the assembly under test. Please make sure that the project is built.
+
+
+
+ The Path {0} does not exist.
+ The Path {0} does not exist.
+
+
+
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+
+
+
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+
+
+
+ The given configuration is invalid.
+ The given configuration is invalid.
+
+
+
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+
+
+
+ The BuildBasePath was not found, provide a valid path and try again.
+ The BuildBasePath was not found, provide a valid path and try again.
+
+
+
+ The Output path was not found, provide a valid path and try again.
+ The Output path was not found, provide a valid path and try again.
+
+
+
+ Additional Information Messages:
+ Additional Information Messages:
+
+
+
+ Days
+ Days
+
+
+
+ Error Message:
+ Error Message:
+
+
+
+ Test execution time: {0:0.0000} {1}
+ Test execution time: {0:0.0000} {1}
+
+
+
+ Hours
+ Hours
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Minutes
+ Minutes
+
+
+
+ Seconds
+ Seconds
+
+
+
+ Stack Trace:
+ Stack Trace:
+
+
+
+ Standard Error Messages:
+ Standard Error Messages:
+
+
+
+ Standard Output Messages:
+ Standard Output Messages:
+
+
+
+
+
+
+
+
+ Attachments:
+ Attachments:
+
+
+
+ {0}
+ {0}
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ Failed {0}
+ Failed {0}
+ Message which is written to the console when a test fails.
+
+
+ Passed {0}
+ Passed {0}
+ Message which is written to the console when a test passes.
+
+
+ Skipped {0}
+ Skipped {0}
+
+
+
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+
+
+
+ Discovery failed for given sources. Exception : {0}
+ Discovery failed for given sources. Exception : {0}
+
+
+
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+
+
+
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+
+
+
+ Arguments:
+ Arguments:
+
+
+
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+
+
+
+ The file {0} provided is read only
+ The file {0} provided is read only
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vstest.console/Resources/xlf/Resources.it.xlf b/src/vstest.console/Resources/xlf/Resources.it.xlf
new file mode 100644
index 0000000000..c2cdfa8612
--- /dev/null
+++ b/src/vstest.console/Resources/xlf/Resources.it.xlf
@@ -0,0 +1,846 @@
+
+
+
+
+
+ Duplicate source {0} specified.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ '{0}' not found.
+ Could not find file {0}.
+
+
+
+ The following Test Discovery Add-Ins are available:
+ The following Test Discovery Add-Ins are available:
+
+
+
+ The following Test Execution Add-Ins are available:
+ The following Test Execution Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ {0}: {1}
+ {0}: {1}
+
+
+
+ The following Test Logger Add-Ins are available:
+ The following Test Logger Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ , {0}
+ , {0}
+ Format used to comma separate a list of values.
+
+
+ The parameter "{0}" should be provided only once.
+ The parameter "{0}" should be provided only once.
+
+
+
+ Exception occurred when instantiating extension '{0}': {1}
+ Exception occurred when instantiating extension '{0}': {1}
+
+
+
+ The following Tests are available:
+ The following Tests are available:
+
+
+
+ Unrecognized parameter "{0}".
+ Unrecognized parameter "{0}".
+
+
+
+ The test source file "{0}" provided was not found.
+ The test source file "{0}" provided was not found.
+
+
+
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ -?|--Help|/?|/Help
+ Display this usage message.
+ -?|--Help|/?|/Help
+ Display this usage message.
+
+
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ Copyright (c) Microsoft Corporation. All rights reserved.
+
+
+
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+
+
+
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+
+
+
+ Description: Runs tests from the specified files.
+ Description: Runs tests from the specified files.
+
+
+
+ Options:
+ Options:
+ Section Header for subsequent command help listing
+
+
+ Usage: vstest.console.exe [Arguments] [Options]
+ Usage: vstest.console.exe [Arguments] [Options]
+
+
+
+ No test source files were specified.
+ No test source files were specified.
+
+
+
+ No arguments were specified.
+ No arguments were specified.
+
+
+
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+
+
+
+ The following Settings Providers Add-Ins are available:
+ The following Settings Providers Add-Ins are available:
+
+
+
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+
+
+
+ The /Settings parameter requires a settings file to be provided.
+ The /Settings parameter requires a settings file to be provided.
+
+
+
+ The Settings file '{0}' could not be found.
+ The Settings file '{0}' could not be found.
+
+
+
+ Test Run Failed.
+ Test Run Failed.
+
+
+
+ Test Run Successful.
+ Test Run Successful.
+
+
+
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+
+
+
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+
+
+
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+
+
+
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+
+
+
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+
+
+
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+
+
+
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+
+
+
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+
+
+
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+
+
+
+ /ListDiscoverers
+ Lists installed test discoverers.
+ /ListDiscoverers
+ Lists installed test discoverers.
+
+
+
+ /ListExecutors
+ Lists installed test executors.
+ /ListExecutors
+ Lists installed test executors.
+
+
+
+ /ListLoggers
+ Lists installed test loggers.
+ /ListLoggers
+ Lists installed test loggers.
+
+
+
+ /ListSettingsProviders
+ Lists installed test settings providers.
+ /ListSettingsProviders
+ Lists installed test settings providers.
+
+
+
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+
+
+
+ Time elapsed :
+ Time elapsed :
+
+
+
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+
+
+
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ ,
+ ,
+
+
+
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ Please verify if the console output looks good after modifiaction.
+
+
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ {0} {1}
+ {0} {1}
+
+
+
+ FriendlyName: {0}
+ FriendlyName: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ SettingName: {0}
+ SettingName: {0}
+
+
+
+ Supported File Types:
+ Supported File Types:
+
+
+
+ {0}
+ {0}
+
+
+
+ {0},
+ {0},
+
+
+
+ Default Executor Uri: {0}
+ Default Executor Uri: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+
+
+
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+
+
+
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+
+
+
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+
+
+
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+
+
+
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+
+
+
+ Could not start test run for unit tests for Windows Store app: {0}.
+ Could not start test run for unit tests for Windows Store app: {0}.
+
+
+
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+
+
+
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+
+
+
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+
+
+
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+
+
+
+ Only one app package (.appx file) can be specified for running tests.
+ Only one app package (.appx file) can be specified for running tests.
+
+
+
+ Starting test discovery, please wait...
+ Starting test discovery, please wait...
+
+
+
+ Starting test execution, please wait...
+ Starting test execution, please wait...
+
+
+
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+
+
+
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+
+
+
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+
+
+
+ Settings file provided do not confirm to required format.
+ Settings file provided do not confirm to required format.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+
+
+
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+
+
+
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+
+
+
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+
+
+
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+
+
+
+ Could not start test run for the tests for Windows Phone app: {0}.
+ Could not start test run for the tests for Windows Phone app: {0}.
+
+
+
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+
+
+
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+
+
+
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+
+
+
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+
+
+
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+
+
+
+ Cannot be null or empty
+ Cannot be null or empty
+
+
+
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+
+
+
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+
+
+
+ Unable to find the assembly under test. Please make sure that the project is built.
+ Unable to find the assembly under test. Please make sure that the project is built.
+
+
+
+ The Path {0} does not exist.
+ The Path {0} does not exist.
+
+
+
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+
+
+
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+
+
+
+ The given configuration is invalid.
+ The given configuration is invalid.
+
+
+
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+
+
+
+ The BuildBasePath was not found, provide a valid path and try again.
+ The BuildBasePath was not found, provide a valid path and try again.
+
+
+
+ The Output path was not found, provide a valid path and try again.
+ The Output path was not found, provide a valid path and try again.
+
+
+
+ Additional Information Messages:
+ Additional Information Messages:
+
+
+
+ Days
+ Days
+
+
+
+ Error Message:
+ Error Message:
+
+
+
+ Test execution time: {0:0.0000} {1}
+ Test execution time: {0:0.0000} {1}
+
+
+
+ Hours
+ Hours
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Minutes
+ Minutes
+
+
+
+ Seconds
+ Seconds
+
+
+
+ Stack Trace:
+ Stack Trace:
+
+
+
+ Standard Error Messages:
+ Standard Error Messages:
+
+
+
+ Standard Output Messages:
+ Standard Output Messages:
+
+
+
+
+
+
+
+
+ Attachments:
+ Attachments:
+
+
+
+ {0}
+ {0}
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ Failed {0}
+ Failed {0}
+ Message which is written to the console when a test fails.
+
+
+ Passed {0}
+ Passed {0}
+ Message which is written to the console when a test passes.
+
+
+ Skipped {0}
+ Skipped {0}
+
+
+
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+
+
+
+ Discovery failed for given sources. Exception : {0}
+ Discovery failed for given sources. Exception : {0}
+
+
+
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+
+
+
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+
+
+
+ Arguments:
+ Arguments:
+
+
+
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+
+
+
+ The file {0} provided is read only
+ The file {0} provided is read only
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vstest.console/Resources/xlf/Resources.ja.xlf b/src/vstest.console/Resources/xlf/Resources.ja.xlf
new file mode 100644
index 0000000000..7c0b9113ff
--- /dev/null
+++ b/src/vstest.console/Resources/xlf/Resources.ja.xlf
@@ -0,0 +1,846 @@
+
+
+
+
+
+ Duplicate source {0} specified.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ '{0}' not found.
+ Could not find file {0}.
+
+
+
+ The following Test Discovery Add-Ins are available:
+ The following Test Discovery Add-Ins are available:
+
+
+
+ The following Test Execution Add-Ins are available:
+ The following Test Execution Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ {0}: {1}
+ {0}: {1}
+
+
+
+ The following Test Logger Add-Ins are available:
+ The following Test Logger Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ , {0}
+ , {0}
+ Format used to comma separate a list of values.
+
+
+ The parameter "{0}" should be provided only once.
+ The parameter "{0}" should be provided only once.
+
+
+
+ Exception occurred when instantiating extension '{0}': {1}
+ Exception occurred when instantiating extension '{0}': {1}
+
+
+
+ The following Tests are available:
+ The following Tests are available:
+
+
+
+ Unrecognized parameter "{0}".
+ Unrecognized parameter "{0}".
+
+
+
+ The test source file "{0}" provided was not found.
+ The test source file "{0}" provided was not found.
+
+
+
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ -?|--Help|/?|/Help
+ Display this usage message.
+ -?|--Help|/?|/Help
+ Display this usage message.
+
+
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ Copyright (c) Microsoft Corporation. All rights reserved.
+
+
+
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+
+
+
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+
+
+
+ Description: Runs tests from the specified files.
+ Description: Runs tests from the specified files.
+
+
+
+ Options:
+ Options:
+ Section Header for subsequent command help listing
+
+
+ Usage: vstest.console.exe [Arguments] [Options]
+ Usage: vstest.console.exe [Arguments] [Options]
+
+
+
+ No test source files were specified.
+ No test source files were specified.
+
+
+
+ No arguments were specified.
+ No arguments were specified.
+
+
+
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+
+
+
+ The following Settings Providers Add-Ins are available:
+ The following Settings Providers Add-Ins are available:
+
+
+
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+
+
+
+ The /Settings parameter requires a settings file to be provided.
+ The /Settings parameter requires a settings file to be provided.
+
+
+
+ The Settings file '{0}' could not be found.
+ The Settings file '{0}' could not be found.
+
+
+
+ Test Run Failed.
+ Test Run Failed.
+
+
+
+ Test Run Successful.
+ Test Run Successful.
+
+
+
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+
+
+
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+
+
+
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+
+
+
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+
+
+
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+
+
+
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+
+
+
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+
+
+
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+
+
+
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+
+
+
+ /ListDiscoverers
+ Lists installed test discoverers.
+ /ListDiscoverers
+ Lists installed test discoverers.
+
+
+
+ /ListExecutors
+ Lists installed test executors.
+ /ListExecutors
+ Lists installed test executors.
+
+
+
+ /ListLoggers
+ Lists installed test loggers.
+ /ListLoggers
+ Lists installed test loggers.
+
+
+
+ /ListSettingsProviders
+ Lists installed test settings providers.
+ /ListSettingsProviders
+ Lists installed test settings providers.
+
+
+
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+
+
+
+ Time elapsed :
+ Time elapsed :
+
+
+
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+
+
+
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ ,
+ ,
+
+
+
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ Please verify if the console output looks good after modifiaction.
+
+
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ {0} {1}
+ {0} {1}
+
+
+
+ FriendlyName: {0}
+ FriendlyName: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ SettingName: {0}
+ SettingName: {0}
+
+
+
+ Supported File Types:
+ Supported File Types:
+
+
+
+ {0}
+ {0}
+
+
+
+ {0},
+ {0},
+
+
+
+ Default Executor Uri: {0}
+ Default Executor Uri: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+
+
+
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+
+
+
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+
+
+
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+
+
+
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+
+
+
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+
+
+
+ Could not start test run for unit tests for Windows Store app: {0}.
+ Could not start test run for unit tests for Windows Store app: {0}.
+
+
+
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+
+
+
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+
+
+
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+
+
+
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+
+
+
+ Only one app package (.appx file) can be specified for running tests.
+ Only one app package (.appx file) can be specified for running tests.
+
+
+
+ Starting test discovery, please wait...
+ Starting test discovery, please wait...
+
+
+
+ Starting test execution, please wait...
+ Starting test execution, please wait...
+
+
+
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+
+
+
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+
+
+
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+
+
+
+ Settings file provided do not confirm to required format.
+ Settings file provided do not confirm to required format.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+
+
+
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+
+
+
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+
+
+
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+
+
+
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+
+
+
+ Could not start test run for the tests for Windows Phone app: {0}.
+ Could not start test run for the tests for Windows Phone app: {0}.
+
+
+
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+
+
+
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+
+
+
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+
+
+
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+
+
+
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+
+
+
+ Cannot be null or empty
+ Cannot be null or empty
+
+
+
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+
+
+
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+
+
+
+ Unable to find the assembly under test. Please make sure that the project is built.
+ Unable to find the assembly under test. Please make sure that the project is built.
+
+
+
+ The Path {0} does not exist.
+ The Path {0} does not exist.
+
+
+
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+
+
+
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+
+
+
+ The given configuration is invalid.
+ The given configuration is invalid.
+
+
+
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+
+
+
+ The BuildBasePath was not found, provide a valid path and try again.
+ The BuildBasePath was not found, provide a valid path and try again.
+
+
+
+ The Output path was not found, provide a valid path and try again.
+ The Output path was not found, provide a valid path and try again.
+
+
+
+ Additional Information Messages:
+ Additional Information Messages:
+
+
+
+ Days
+ Days
+
+
+
+ Error Message:
+ Error Message:
+
+
+
+ Test execution time: {0:0.0000} {1}
+ Test execution time: {0:0.0000} {1}
+
+
+
+ Hours
+ Hours
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Minutes
+ Minutes
+
+
+
+ Seconds
+ Seconds
+
+
+
+ Stack Trace:
+ Stack Trace:
+
+
+
+ Standard Error Messages:
+ Standard Error Messages:
+
+
+
+ Standard Output Messages:
+ Standard Output Messages:
+
+
+
+
+
+
+
+
+ Attachments:
+ Attachments:
+
+
+
+ {0}
+ {0}
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ Failed {0}
+ Failed {0}
+ Message which is written to the console when a test fails.
+
+
+ Passed {0}
+ Passed {0}
+ Message which is written to the console when a test passes.
+
+
+ Skipped {0}
+ Skipped {0}
+
+
+
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+
+
+
+ Discovery failed for given sources. Exception : {0}
+ Discovery failed for given sources. Exception : {0}
+
+
+
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+
+
+
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+
+
+
+ Arguments:
+ Arguments:
+
+
+
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+
+
+
+ The file {0} provided is read only
+ The file {0} provided is read only
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vstest.console/Resources/xlf/Resources.ko.xlf b/src/vstest.console/Resources/xlf/Resources.ko.xlf
new file mode 100644
index 0000000000..680876ac03
--- /dev/null
+++ b/src/vstest.console/Resources/xlf/Resources.ko.xlf
@@ -0,0 +1,846 @@
+
+
+
+
+
+ Duplicate source {0} specified.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ '{0}' not found.
+ Could not find file {0}.
+
+
+
+ The following Test Discovery Add-Ins are available:
+ The following Test Discovery Add-Ins are available:
+
+
+
+ The following Test Execution Add-Ins are available:
+ The following Test Execution Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ {0}: {1}
+ {0}: {1}
+
+
+
+ The following Test Logger Add-Ins are available:
+ The following Test Logger Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ , {0}
+ , {0}
+ Format used to comma separate a list of values.
+
+
+ The parameter "{0}" should be provided only once.
+ The parameter "{0}" should be provided only once.
+
+
+
+ Exception occurred when instantiating extension '{0}': {1}
+ Exception occurred when instantiating extension '{0}': {1}
+
+
+
+ The following Tests are available:
+ The following Tests are available:
+
+
+
+ Unrecognized parameter "{0}".
+ Unrecognized parameter "{0}".
+
+
+
+ The test source file "{0}" provided was not found.
+ The test source file "{0}" provided was not found.
+
+
+
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ -?|--Help|/?|/Help
+ Display this usage message.
+ -?|--Help|/?|/Help
+ Display this usage message.
+
+
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ Copyright (c) Microsoft Corporation. All rights reserved.
+
+
+
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+
+
+
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+
+
+
+ Description: Runs tests from the specified files.
+ Description: Runs tests from the specified files.
+
+
+
+ Options:
+ Options:
+ Section Header for subsequent command help listing
+
+
+ Usage: vstest.console.exe [Arguments] [Options]
+ Usage: vstest.console.exe [Arguments] [Options]
+
+
+
+ No test source files were specified.
+ No test source files were specified.
+
+
+
+ No arguments were specified.
+ No arguments were specified.
+
+
+
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+
+
+
+ The following Settings Providers Add-Ins are available:
+ The following Settings Providers Add-Ins are available:
+
+
+
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+
+
+
+ The /Settings parameter requires a settings file to be provided.
+ The /Settings parameter requires a settings file to be provided.
+
+
+
+ The Settings file '{0}' could not be found.
+ The Settings file '{0}' could not be found.
+
+
+
+ Test Run Failed.
+ Test Run Failed.
+
+
+
+ Test Run Successful.
+ Test Run Successful.
+
+
+
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+
+
+
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+
+
+
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+
+
+
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+
+
+
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+
+
+
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+
+
+
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+
+
+
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+
+
+
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+
+
+
+ /ListDiscoverers
+ Lists installed test discoverers.
+ /ListDiscoverers
+ Lists installed test discoverers.
+
+
+
+ /ListExecutors
+ Lists installed test executors.
+ /ListExecutors
+ Lists installed test executors.
+
+
+
+ /ListLoggers
+ Lists installed test loggers.
+ /ListLoggers
+ Lists installed test loggers.
+
+
+
+ /ListSettingsProviders
+ Lists installed test settings providers.
+ /ListSettingsProviders
+ Lists installed test settings providers.
+
+
+
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+
+
+
+ Time elapsed :
+ Time elapsed :
+
+
+
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+
+
+
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ ,
+ ,
+
+
+
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ Please verify if the console output looks good after modifiaction.
+
+
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ {0} {1}
+ {0} {1}
+
+
+
+ FriendlyName: {0}
+ FriendlyName: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ SettingName: {0}
+ SettingName: {0}
+
+
+
+ Supported File Types:
+ Supported File Types:
+
+
+
+ {0}
+ {0}
+
+
+
+ {0},
+ {0},
+
+
+
+ Default Executor Uri: {0}
+ Default Executor Uri: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+
+
+
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+
+
+
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+
+
+
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+
+
+
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+
+
+
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+
+
+
+ Could not start test run for unit tests for Windows Store app: {0}.
+ Could not start test run for unit tests for Windows Store app: {0}.
+
+
+
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+
+
+
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+
+
+
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+
+
+
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+
+
+
+ Only one app package (.appx file) can be specified for running tests.
+ Only one app package (.appx file) can be specified for running tests.
+
+
+
+ Starting test discovery, please wait...
+ Starting test discovery, please wait...
+
+
+
+ Starting test execution, please wait...
+ Starting test execution, please wait...
+
+
+
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+
+
+
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+
+
+
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+
+
+
+ Settings file provided do not confirm to required format.
+ Settings file provided do not confirm to required format.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+
+
+
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+
+
+
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+
+
+
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+
+
+
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+
+
+
+ Could not start test run for the tests for Windows Phone app: {0}.
+ Could not start test run for the tests for Windows Phone app: {0}.
+
+
+
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+
+
+
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+
+
+
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+
+
+
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+
+
+
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+
+
+
+ Cannot be null or empty
+ Cannot be null or empty
+
+
+
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+
+
+
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+
+
+
+ Unable to find the assembly under test. Please make sure that the project is built.
+ Unable to find the assembly under test. Please make sure that the project is built.
+
+
+
+ The Path {0} does not exist.
+ The Path {0} does not exist.
+
+
+
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+
+
+
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+
+
+
+ The given configuration is invalid.
+ The given configuration is invalid.
+
+
+
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+
+
+
+ The BuildBasePath was not found, provide a valid path and try again.
+ The BuildBasePath was not found, provide a valid path and try again.
+
+
+
+ The Output path was not found, provide a valid path and try again.
+ The Output path was not found, provide a valid path and try again.
+
+
+
+ Additional Information Messages:
+ Additional Information Messages:
+
+
+
+ Days
+ Days
+
+
+
+ Error Message:
+ Error Message:
+
+
+
+ Test execution time: {0:0.0000} {1}
+ Test execution time: {0:0.0000} {1}
+
+
+
+ Hours
+ Hours
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Minutes
+ Minutes
+
+
+
+ Seconds
+ Seconds
+
+
+
+ Stack Trace:
+ Stack Trace:
+
+
+
+ Standard Error Messages:
+ Standard Error Messages:
+
+
+
+ Standard Output Messages:
+ Standard Output Messages:
+
+
+
+
+
+
+
+
+ Attachments:
+ Attachments:
+
+
+
+ {0}
+ {0}
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ Failed {0}
+ Failed {0}
+ Message which is written to the console when a test fails.
+
+
+ Passed {0}
+ Passed {0}
+ Message which is written to the console when a test passes.
+
+
+ Skipped {0}
+ Skipped {0}
+
+
+
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+
+
+
+ Discovery failed for given sources. Exception : {0}
+ Discovery failed for given sources. Exception : {0}
+
+
+
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+
+
+
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+
+
+
+ Arguments:
+ Arguments:
+
+
+
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+
+
+
+ The file {0} provided is read only
+ The file {0} provided is read only
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vstest.console/Resources/xlf/Resources.pl.xlf b/src/vstest.console/Resources/xlf/Resources.pl.xlf
new file mode 100644
index 0000000000..1ea6bd94f2
--- /dev/null
+++ b/src/vstest.console/Resources/xlf/Resources.pl.xlf
@@ -0,0 +1,846 @@
+
+
+
+
+
+ Duplicate source {0} specified.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ '{0}' not found.
+ Could not find file {0}.
+
+
+
+ The following Test Discovery Add-Ins are available:
+ The following Test Discovery Add-Ins are available:
+
+
+
+ The following Test Execution Add-Ins are available:
+ The following Test Execution Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ {0}: {1}
+ {0}: {1}
+
+
+
+ The following Test Logger Add-Ins are available:
+ The following Test Logger Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ , {0}
+ , {0}
+ Format used to comma separate a list of values.
+
+
+ The parameter "{0}" should be provided only once.
+ The parameter "{0}" should be provided only once.
+
+
+
+ Exception occurred when instantiating extension '{0}': {1}
+ Exception occurred when instantiating extension '{0}': {1}
+
+
+
+ The following Tests are available:
+ The following Tests are available:
+
+
+
+ Unrecognized parameter "{0}".
+ Unrecognized parameter "{0}".
+
+
+
+ The test source file "{0}" provided was not found.
+ The test source file "{0}" provided was not found.
+
+
+
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ -?|--Help|/?|/Help
+ Display this usage message.
+ -?|--Help|/?|/Help
+ Display this usage message.
+
+
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ Copyright (c) Microsoft Corporation. All rights reserved.
+
+
+
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+
+
+
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+
+
+
+ Description: Runs tests from the specified files.
+ Description: Runs tests from the specified files.
+
+
+
+ Options:
+ Options:
+ Section Header for subsequent command help listing
+
+
+ Usage: vstest.console.exe [Arguments] [Options]
+ Usage: vstest.console.exe [Arguments] [Options]
+
+
+
+ No test source files were specified.
+ No test source files were specified.
+
+
+
+ No arguments were specified.
+ No arguments were specified.
+
+
+
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+
+
+
+ The following Settings Providers Add-Ins are available:
+ The following Settings Providers Add-Ins are available:
+
+
+
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+
+
+
+ The /Settings parameter requires a settings file to be provided.
+ The /Settings parameter requires a settings file to be provided.
+
+
+
+ The Settings file '{0}' could not be found.
+ The Settings file '{0}' could not be found.
+
+
+
+ Test Run Failed.
+ Test Run Failed.
+
+
+
+ Test Run Successful.
+ Test Run Successful.
+
+
+
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+
+
+
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+
+
+
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+
+
+
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+
+
+
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+
+
+
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+
+
+
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+
+
+
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+
+
+
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+
+
+
+ /ListDiscoverers
+ Lists installed test discoverers.
+ /ListDiscoverers
+ Lists installed test discoverers.
+
+
+
+ /ListExecutors
+ Lists installed test executors.
+ /ListExecutors
+ Lists installed test executors.
+
+
+
+ /ListLoggers
+ Lists installed test loggers.
+ /ListLoggers
+ Lists installed test loggers.
+
+
+
+ /ListSettingsProviders
+ Lists installed test settings providers.
+ /ListSettingsProviders
+ Lists installed test settings providers.
+
+
+
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+
+
+
+ Time elapsed :
+ Time elapsed :
+
+
+
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+
+
+
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ ,
+ ,
+
+
+
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ Please verify if the console output looks good after modifiaction.
+
+
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ {0} {1}
+ {0} {1}
+
+
+
+ FriendlyName: {0}
+ FriendlyName: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ SettingName: {0}
+ SettingName: {0}
+
+
+
+ Supported File Types:
+ Supported File Types:
+
+
+
+ {0}
+ {0}
+
+
+
+ {0},
+ {0},
+
+
+
+ Default Executor Uri: {0}
+ Default Executor Uri: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+
+
+
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+
+
+
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+
+
+
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+
+
+
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+
+
+
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+
+
+
+ Could not start test run for unit tests for Windows Store app: {0}.
+ Could not start test run for unit tests for Windows Store app: {0}.
+
+
+
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+
+
+
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+
+
+
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+
+
+
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+
+
+
+ Only one app package (.appx file) can be specified for running tests.
+ Only one app package (.appx file) can be specified for running tests.
+
+
+
+ Starting test discovery, please wait...
+ Starting test discovery, please wait...
+
+
+
+ Starting test execution, please wait...
+ Starting test execution, please wait...
+
+
+
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+
+
+
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+
+
+
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+
+
+
+ Settings file provided do not confirm to required format.
+ Settings file provided do not confirm to required format.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+
+
+
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+
+
+
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+
+
+
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+
+
+
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+
+
+
+ Could not start test run for the tests for Windows Phone app: {0}.
+ Could not start test run for the tests for Windows Phone app: {0}.
+
+
+
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+
+
+
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+
+
+
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+
+
+
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+
+
+
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+
+
+
+ Cannot be null or empty
+ Cannot be null or empty
+
+
+
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+
+
+
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+
+
+
+ Unable to find the assembly under test. Please make sure that the project is built.
+ Unable to find the assembly under test. Please make sure that the project is built.
+
+
+
+ The Path {0} does not exist.
+ The Path {0} does not exist.
+
+
+
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+
+
+
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+
+
+
+ The given configuration is invalid.
+ The given configuration is invalid.
+
+
+
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+
+
+
+ The BuildBasePath was not found, provide a valid path and try again.
+ The BuildBasePath was not found, provide a valid path and try again.
+
+
+
+ The Output path was not found, provide a valid path and try again.
+ The Output path was not found, provide a valid path and try again.
+
+
+
+ Additional Information Messages:
+ Additional Information Messages:
+
+
+
+ Days
+ Days
+
+
+
+ Error Message:
+ Error Message:
+
+
+
+ Test execution time: {0:0.0000} {1}
+ Test execution time: {0:0.0000} {1}
+
+
+
+ Hours
+ Hours
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Minutes
+ Minutes
+
+
+
+ Seconds
+ Seconds
+
+
+
+ Stack Trace:
+ Stack Trace:
+
+
+
+ Standard Error Messages:
+ Standard Error Messages:
+
+
+
+ Standard Output Messages:
+ Standard Output Messages:
+
+
+
+
+
+
+
+
+ Attachments:
+ Attachments:
+
+
+
+ {0}
+ {0}
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ Failed {0}
+ Failed {0}
+ Message which is written to the console when a test fails.
+
+
+ Passed {0}
+ Passed {0}
+ Message which is written to the console when a test passes.
+
+
+ Skipped {0}
+ Skipped {0}
+
+
+
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+
+
+
+ Discovery failed for given sources. Exception : {0}
+ Discovery failed for given sources. Exception : {0}
+
+
+
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+
+
+
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+
+
+
+ Arguments:
+ Arguments:
+
+
+
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+
+
+
+ The file {0} provided is read only
+ The file {0} provided is read only
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vstest.console/Resources/xlf/Resources.pt-BR.xlf b/src/vstest.console/Resources/xlf/Resources.pt-BR.xlf
new file mode 100644
index 0000000000..c98a099cbd
--- /dev/null
+++ b/src/vstest.console/Resources/xlf/Resources.pt-BR.xlf
@@ -0,0 +1,846 @@
+
+
+
+
+
+ Duplicate source {0} specified.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ '{0}' not found.
+ Could not find file {0}.
+
+
+
+ The following Test Discovery Add-Ins are available:
+ The following Test Discovery Add-Ins are available:
+
+
+
+ The following Test Execution Add-Ins are available:
+ The following Test Execution Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ {0}: {1}
+ {0}: {1}
+
+
+
+ The following Test Logger Add-Ins are available:
+ The following Test Logger Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ , {0}
+ , {0}
+ Format used to comma separate a list of values.
+
+
+ The parameter "{0}" should be provided only once.
+ The parameter "{0}" should be provided only once.
+
+
+
+ Exception occurred when instantiating extension '{0}': {1}
+ Exception occurred when instantiating extension '{0}': {1}
+
+
+
+ The following Tests are available:
+ The following Tests are available:
+
+
+
+ Unrecognized parameter "{0}".
+ Unrecognized parameter "{0}".
+
+
+
+ The test source file "{0}" provided was not found.
+ The test source file "{0}" provided was not found.
+
+
+
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ -?|--Help|/?|/Help
+ Display this usage message.
+ -?|--Help|/?|/Help
+ Display this usage message.
+
+
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ Copyright (c) Microsoft Corporation. All rights reserved.
+
+
+
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+
+
+
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+
+
+
+ Description: Runs tests from the specified files.
+ Description: Runs tests from the specified files.
+
+
+
+ Options:
+ Options:
+ Section Header for subsequent command help listing
+
+
+ Usage: vstest.console.exe [Arguments] [Options]
+ Usage: vstest.console.exe [Arguments] [Options]
+
+
+
+ No test source files were specified.
+ No test source files were specified.
+
+
+
+ No arguments were specified.
+ No arguments were specified.
+
+
+
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+
+
+
+ The following Settings Providers Add-Ins are available:
+ The following Settings Providers Add-Ins are available:
+
+
+
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+
+
+
+ The /Settings parameter requires a settings file to be provided.
+ The /Settings parameter requires a settings file to be provided.
+
+
+
+ The Settings file '{0}' could not be found.
+ The Settings file '{0}' could not be found.
+
+
+
+ Test Run Failed.
+ Test Run Failed.
+
+
+
+ Test Run Successful.
+ Test Run Successful.
+
+
+
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+
+
+
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+
+
+
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+
+
+
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+
+
+
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+
+
+
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+
+
+
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+
+
+
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+
+
+
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+
+
+
+ /ListDiscoverers
+ Lists installed test discoverers.
+ /ListDiscoverers
+ Lists installed test discoverers.
+
+
+
+ /ListExecutors
+ Lists installed test executors.
+ /ListExecutors
+ Lists installed test executors.
+
+
+
+ /ListLoggers
+ Lists installed test loggers.
+ /ListLoggers
+ Lists installed test loggers.
+
+
+
+ /ListSettingsProviders
+ Lists installed test settings providers.
+ /ListSettingsProviders
+ Lists installed test settings providers.
+
+
+
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+
+
+
+ Time elapsed :
+ Time elapsed :
+
+
+
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+
+
+
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ ,
+ ,
+
+
+
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ Please verify if the console output looks good after modifiaction.
+
+
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ {0} {1}
+ {0} {1}
+
+
+
+ FriendlyName: {0}
+ FriendlyName: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ SettingName: {0}
+ SettingName: {0}
+
+
+
+ Supported File Types:
+ Supported File Types:
+
+
+
+ {0}
+ {0}
+
+
+
+ {0},
+ {0},
+
+
+
+ Default Executor Uri: {0}
+ Default Executor Uri: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+
+
+
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+
+
+
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+
+
+
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+
+
+
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+
+
+
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+
+
+
+ Could not start test run for unit tests for Windows Store app: {0}.
+ Could not start test run for unit tests for Windows Store app: {0}.
+
+
+
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+
+
+
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+
+
+
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+
+
+
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+
+
+
+ Only one app package (.appx file) can be specified for running tests.
+ Only one app package (.appx file) can be specified for running tests.
+
+
+
+ Starting test discovery, please wait...
+ Starting test discovery, please wait...
+
+
+
+ Starting test execution, please wait...
+ Starting test execution, please wait...
+
+
+
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+
+
+
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+
+
+
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+
+
+
+ Settings file provided do not confirm to required format.
+ Settings file provided do not confirm to required format.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+
+
+
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+
+
+
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+
+
+
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+
+
+
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+
+
+
+ Could not start test run for the tests for Windows Phone app: {0}.
+ Could not start test run for the tests for Windows Phone app: {0}.
+
+
+
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+
+
+
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+
+
+
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+
+
+
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+
+
+
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+
+
+
+ Cannot be null or empty
+ Cannot be null or empty
+
+
+
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+
+
+
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+
+
+
+ Unable to find the assembly under test. Please make sure that the project is built.
+ Unable to find the assembly under test. Please make sure that the project is built.
+
+
+
+ The Path {0} does not exist.
+ The Path {0} does not exist.
+
+
+
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+
+
+
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+
+
+
+ The given configuration is invalid.
+ The given configuration is invalid.
+
+
+
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+
+
+
+ The BuildBasePath was not found, provide a valid path and try again.
+ The BuildBasePath was not found, provide a valid path and try again.
+
+
+
+ The Output path was not found, provide a valid path and try again.
+ The Output path was not found, provide a valid path and try again.
+
+
+
+ Additional Information Messages:
+ Additional Information Messages:
+
+
+
+ Days
+ Days
+
+
+
+ Error Message:
+ Error Message:
+
+
+
+ Test execution time: {0:0.0000} {1}
+ Test execution time: {0:0.0000} {1}
+
+
+
+ Hours
+ Hours
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Minutes
+ Minutes
+
+
+
+ Seconds
+ Seconds
+
+
+
+ Stack Trace:
+ Stack Trace:
+
+
+
+ Standard Error Messages:
+ Standard Error Messages:
+
+
+
+ Standard Output Messages:
+ Standard Output Messages:
+
+
+
+
+
+
+
+
+ Attachments:
+ Attachments:
+
+
+
+ {0}
+ {0}
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ Failed {0}
+ Failed {0}
+ Message which is written to the console when a test fails.
+
+
+ Passed {0}
+ Passed {0}
+ Message which is written to the console when a test passes.
+
+
+ Skipped {0}
+ Skipped {0}
+
+
+
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+
+
+
+ Discovery failed for given sources. Exception : {0}
+ Discovery failed for given sources. Exception : {0}
+
+
+
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+
+
+
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+
+
+
+ Arguments:
+ Arguments:
+
+
+
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+
+
+
+ The file {0} provided is read only
+ The file {0} provided is read only
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vstest.console/Resources/xlf/Resources.ru.xlf b/src/vstest.console/Resources/xlf/Resources.ru.xlf
new file mode 100644
index 0000000000..470cad86dc
--- /dev/null
+++ b/src/vstest.console/Resources/xlf/Resources.ru.xlf
@@ -0,0 +1,846 @@
+
+
+
+
+
+ Duplicate source {0} specified.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ '{0}' not found.
+ Could not find file {0}.
+
+
+
+ The following Test Discovery Add-Ins are available:
+ The following Test Discovery Add-Ins are available:
+
+
+
+ The following Test Execution Add-Ins are available:
+ The following Test Execution Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ {0}: {1}
+ {0}: {1}
+
+
+
+ The following Test Logger Add-Ins are available:
+ The following Test Logger Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ , {0}
+ , {0}
+ Format used to comma separate a list of values.
+
+
+ The parameter "{0}" should be provided only once.
+ The parameter "{0}" should be provided only once.
+
+
+
+ Exception occurred when instantiating extension '{0}': {1}
+ Exception occurred when instantiating extension '{0}': {1}
+
+
+
+ The following Tests are available:
+ The following Tests are available:
+
+
+
+ Unrecognized parameter "{0}".
+ Unrecognized parameter "{0}".
+
+
+
+ The test source file "{0}" provided was not found.
+ The test source file "{0}" provided was not found.
+
+
+
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ -?|--Help|/?|/Help
+ Display this usage message.
+ -?|--Help|/?|/Help
+ Display this usage message.
+
+
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ Copyright (c) Microsoft Corporation. All rights reserved.
+
+
+
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+
+
+
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+
+
+
+ Description: Runs tests from the specified files.
+ Description: Runs tests from the specified files.
+
+
+
+ Options:
+ Options:
+ Section Header for subsequent command help listing
+
+
+ Usage: vstest.console.exe [Arguments] [Options]
+ Usage: vstest.console.exe [Arguments] [Options]
+
+
+
+ No test source files were specified.
+ No test source files were specified.
+
+
+
+ No arguments were specified.
+ No arguments were specified.
+
+
+
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+
+
+
+ The following Settings Providers Add-Ins are available:
+ The following Settings Providers Add-Ins are available:
+
+
+
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+
+
+
+ The /Settings parameter requires a settings file to be provided.
+ The /Settings parameter requires a settings file to be provided.
+
+
+
+ The Settings file '{0}' could not be found.
+ The Settings file '{0}' could not be found.
+
+
+
+ Test Run Failed.
+ Test Run Failed.
+
+
+
+ Test Run Successful.
+ Test Run Successful.
+
+
+
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+
+
+
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+
+
+
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+
+
+
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+
+
+
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+
+
+
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+
+
+
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+
+
+
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+
+
+
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+
+
+
+ /ListDiscoverers
+ Lists installed test discoverers.
+ /ListDiscoverers
+ Lists installed test discoverers.
+
+
+
+ /ListExecutors
+ Lists installed test executors.
+ /ListExecutors
+ Lists installed test executors.
+
+
+
+ /ListLoggers
+ Lists installed test loggers.
+ /ListLoggers
+ Lists installed test loggers.
+
+
+
+ /ListSettingsProviders
+ Lists installed test settings providers.
+ /ListSettingsProviders
+ Lists installed test settings providers.
+
+
+
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+
+
+
+ Time elapsed :
+ Time elapsed :
+
+
+
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+
+
+
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ ,
+ ,
+
+
+
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ Please verify if the console output looks good after modifiaction.
+
+
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ {0} {1}
+ {0} {1}
+
+
+
+ FriendlyName: {0}
+ FriendlyName: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ SettingName: {0}
+ SettingName: {0}
+
+
+
+ Supported File Types:
+ Supported File Types:
+
+
+
+ {0}
+ {0}
+
+
+
+ {0},
+ {0},
+
+
+
+ Default Executor Uri: {0}
+ Default Executor Uri: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+
+
+
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+
+
+
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+
+
+
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+
+
+
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+
+
+
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+
+
+
+ Could not start test run for unit tests for Windows Store app: {0}.
+ Could not start test run for unit tests for Windows Store app: {0}.
+
+
+
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+
+
+
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+
+
+
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+
+
+
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+
+
+
+ Only one app package (.appx file) can be specified for running tests.
+ Only one app package (.appx file) can be specified for running tests.
+
+
+
+ Starting test discovery, please wait...
+ Starting test discovery, please wait...
+
+
+
+ Starting test execution, please wait...
+ Starting test execution, please wait...
+
+
+
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+
+
+
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+
+
+
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+
+
+
+ Settings file provided do not confirm to required format.
+ Settings file provided do not confirm to required format.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+
+
+
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+
+
+
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+
+
+
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+
+
+
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+
+
+
+ Could not start test run for the tests for Windows Phone app: {0}.
+ Could not start test run for the tests for Windows Phone app: {0}.
+
+
+
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+
+
+
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+
+
+
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+
+
+
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+
+
+
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+
+
+
+ Cannot be null or empty
+ Cannot be null or empty
+
+
+
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+
+
+
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+
+
+
+ Unable to find the assembly under test. Please make sure that the project is built.
+ Unable to find the assembly under test. Please make sure that the project is built.
+
+
+
+ The Path {0} does not exist.
+ The Path {0} does not exist.
+
+
+
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+
+
+
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+
+
+
+ The given configuration is invalid.
+ The given configuration is invalid.
+
+
+
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+
+
+
+ The BuildBasePath was not found, provide a valid path and try again.
+ The BuildBasePath was not found, provide a valid path and try again.
+
+
+
+ The Output path was not found, provide a valid path and try again.
+ The Output path was not found, provide a valid path and try again.
+
+
+
+ Additional Information Messages:
+ Additional Information Messages:
+
+
+
+ Days
+ Days
+
+
+
+ Error Message:
+ Error Message:
+
+
+
+ Test execution time: {0:0.0000} {1}
+ Test execution time: {0:0.0000} {1}
+
+
+
+ Hours
+ Hours
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Minutes
+ Minutes
+
+
+
+ Seconds
+ Seconds
+
+
+
+ Stack Trace:
+ Stack Trace:
+
+
+
+ Standard Error Messages:
+ Standard Error Messages:
+
+
+
+ Standard Output Messages:
+ Standard Output Messages:
+
+
+
+
+
+
+
+
+ Attachments:
+ Attachments:
+
+
+
+ {0}
+ {0}
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ Failed {0}
+ Failed {0}
+ Message which is written to the console when a test fails.
+
+
+ Passed {0}
+ Passed {0}
+ Message which is written to the console when a test passes.
+
+
+ Skipped {0}
+ Skipped {0}
+
+
+
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+
+
+
+ Discovery failed for given sources. Exception : {0}
+ Discovery failed for given sources. Exception : {0}
+
+
+
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+
+
+
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+
+
+
+ Arguments:
+ Arguments:
+
+
+
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+
+
+
+ The file {0} provided is read only
+ The file {0} provided is read only
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vstest.console/Resources/xlf/Resources.tr.xlf b/src/vstest.console/Resources/xlf/Resources.tr.xlf
new file mode 100644
index 0000000000..201a5900ca
--- /dev/null
+++ b/src/vstest.console/Resources/xlf/Resources.tr.xlf
@@ -0,0 +1,846 @@
+
+
+
+
+
+ Duplicate source {0} specified.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ '{0}' not found.
+ Could not find file {0}.
+
+
+
+ The following Test Discovery Add-Ins are available:
+ The following Test Discovery Add-Ins are available:
+
+
+
+ The following Test Execution Add-Ins are available:
+ The following Test Execution Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ {0}: {1}
+ {0}: {1}
+
+
+
+ The following Test Logger Add-Ins are available:
+ The following Test Logger Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ , {0}
+ , {0}
+ Format used to comma separate a list of values.
+
+
+ The parameter "{0}" should be provided only once.
+ The parameter "{0}" should be provided only once.
+
+
+
+ Exception occurred when instantiating extension '{0}': {1}
+ Exception occurred when instantiating extension '{0}': {1}
+
+
+
+ The following Tests are available:
+ The following Tests are available:
+
+
+
+ Unrecognized parameter "{0}".
+ Unrecognized parameter "{0}".
+
+
+
+ The test source file "{0}" provided was not found.
+ The test source file "{0}" provided was not found.
+
+
+
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ -?|--Help|/?|/Help
+ Display this usage message.
+ -?|--Help|/?|/Help
+ Display this usage message.
+
+
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ Copyright (c) Microsoft Corporation. All rights reserved.
+
+
+
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+
+
+
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+
+
+
+ Description: Runs tests from the specified files.
+ Description: Runs tests from the specified files.
+
+
+
+ Options:
+ Options:
+ Section Header for subsequent command help listing
+
+
+ Usage: vstest.console.exe [Arguments] [Options]
+ Usage: vstest.console.exe [Arguments] [Options]
+
+
+
+ No test source files were specified.
+ No test source files were specified.
+
+
+
+ No arguments were specified.
+ No arguments were specified.
+
+
+
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+
+
+
+ The following Settings Providers Add-Ins are available:
+ The following Settings Providers Add-Ins are available:
+
+
+
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+
+
+
+ The /Settings parameter requires a settings file to be provided.
+ The /Settings parameter requires a settings file to be provided.
+
+
+
+ The Settings file '{0}' could not be found.
+ The Settings file '{0}' could not be found.
+
+
+
+ Test Run Failed.
+ Test Run Failed.
+
+
+
+ Test Run Successful.
+ Test Run Successful.
+
+
+
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+
+
+
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+
+
+
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+
+
+
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+
+
+
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+
+
+
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+
+
+
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+
+
+
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+
+
+
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+
+
+
+ /ListDiscoverers
+ Lists installed test discoverers.
+ /ListDiscoverers
+ Lists installed test discoverers.
+
+
+
+ /ListExecutors
+ Lists installed test executors.
+ /ListExecutors
+ Lists installed test executors.
+
+
+
+ /ListLoggers
+ Lists installed test loggers.
+ /ListLoggers
+ Lists installed test loggers.
+
+
+
+ /ListSettingsProviders
+ Lists installed test settings providers.
+ /ListSettingsProviders
+ Lists installed test settings providers.
+
+
+
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+
+
+
+ Time elapsed :
+ Time elapsed :
+
+
+
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+
+
+
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ ,
+ ,
+
+
+
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ Please verify if the console output looks good after modifiaction.
+
+
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ {0} {1}
+ {0} {1}
+
+
+
+ FriendlyName: {0}
+ FriendlyName: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ SettingName: {0}
+ SettingName: {0}
+
+
+
+ Supported File Types:
+ Supported File Types:
+
+
+
+ {0}
+ {0}
+
+
+
+ {0},
+ {0},
+
+
+
+ Default Executor Uri: {0}
+ Default Executor Uri: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+
+
+
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+
+
+
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+
+
+
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+
+
+
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+
+
+
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+
+
+
+ Could not start test run for unit tests for Windows Store app: {0}.
+ Could not start test run for unit tests for Windows Store app: {0}.
+
+
+
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+
+
+
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+
+
+
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+
+
+
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+
+
+
+ Only one app package (.appx file) can be specified for running tests.
+ Only one app package (.appx file) can be specified for running tests.
+
+
+
+ Starting test discovery, please wait...
+ Starting test discovery, please wait...
+
+
+
+ Starting test execution, please wait...
+ Starting test execution, please wait...
+
+
+
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+
+
+
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+
+
+
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+
+
+
+ Settings file provided do not confirm to required format.
+ Settings file provided do not confirm to required format.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+
+
+
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+
+
+
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+
+
+
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+
+
+
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+
+
+
+ Could not start test run for the tests for Windows Phone app: {0}.
+ Could not start test run for the tests for Windows Phone app: {0}.
+
+
+
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+
+
+
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+
+
+
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+
+
+
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+
+
+
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+
+
+
+ Cannot be null or empty
+ Cannot be null or empty
+
+
+
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+
+
+
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+
+
+
+ Unable to find the assembly under test. Please make sure that the project is built.
+ Unable to find the assembly under test. Please make sure that the project is built.
+
+
+
+ The Path {0} does not exist.
+ The Path {0} does not exist.
+
+
+
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+
+
+
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+
+
+
+ The given configuration is invalid.
+ The given configuration is invalid.
+
+
+
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+
+
+
+ The BuildBasePath was not found, provide a valid path and try again.
+ The BuildBasePath was not found, provide a valid path and try again.
+
+
+
+ The Output path was not found, provide a valid path and try again.
+ The Output path was not found, provide a valid path and try again.
+
+
+
+ Additional Information Messages:
+ Additional Information Messages:
+
+
+
+ Days
+ Days
+
+
+
+ Error Message:
+ Error Message:
+
+
+
+ Test execution time: {0:0.0000} {1}
+ Test execution time: {0:0.0000} {1}
+
+
+
+ Hours
+ Hours
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Minutes
+ Minutes
+
+
+
+ Seconds
+ Seconds
+
+
+
+ Stack Trace:
+ Stack Trace:
+
+
+
+ Standard Error Messages:
+ Standard Error Messages:
+
+
+
+ Standard Output Messages:
+ Standard Output Messages:
+
+
+
+
+
+
+
+
+ Attachments:
+ Attachments:
+
+
+
+ {0}
+ {0}
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ Failed {0}
+ Failed {0}
+ Message which is written to the console when a test fails.
+
+
+ Passed {0}
+ Passed {0}
+ Message which is written to the console when a test passes.
+
+
+ Skipped {0}
+ Skipped {0}
+
+
+
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+
+
+
+ Discovery failed for given sources. Exception : {0}
+ Discovery failed for given sources. Exception : {0}
+
+
+
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+
+
+
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+
+
+
+ Arguments:
+ Arguments:
+
+
+
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+
+
+
+ The file {0} provided is read only
+ The file {0} provided is read only
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vstest.console/Resources/xlf/Resources.xlf b/src/vstest.console/Resources/xlf/Resources.xlf
new file mode 100644
index 0000000000..6cb8e1b7cf
--- /dev/null
+++ b/src/vstest.console/Resources/xlf/Resources.xlf
@@ -0,0 +1,638 @@
+
+
+
+
+
+ Duplicate source {0} specified.
+
+
+
+ '{0}' not found.
+
+
+
+ The following Test Discovery Add-Ins are available:
+
+
+
+ The following Test Execution Add-Ins are available:
+
+
+
+ {0}
+ {Locked}
+
+
+ {0}: {1}
+
+
+
+ The following Test Logger Add-Ins are available:
+
+
+
+ {0}
+ {Locked}
+
+
+ Error: {0}
+
+
+
+ , {0}
+ Format used to comma separate a list of values.
+
+
+ The parameter "{0}" should be provided only once.
+
+
+
+ Exception occurred when instantiating extension '{0}': {1}
+
+
+
+ The following Tests are available:
+
+
+
+ Unrecognized parameter "{0}".
+
+
+
+ The test source file "{0}" provided was not found.
+
+
+
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+
+
+
+ Information: {0}
+
+
+
+ Warning: {0}
+
+
+
+ -?|--Help|/?|/Help
+ Display this usage message.
+
+
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+
+
+
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+
+
+
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+
+
+
+ Description: Runs tests from the specified files.
+
+
+
+ Options:
+ Section Header for subsequent command help listing
+
+
+ Usage: vstest.console.exe [Arguments] [Options]
+
+
+
+ No test source files were specified.
+
+
+
+ No arguments were specified.
+
+
+
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+
+
+
+ The following Settings Providers Add-Ins are available:
+
+
+
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+
+
+
+ The /Settings parameter requires a settings file to be provided.
+
+
+
+ The Settings file '{0}' could not be found.
+
+
+
+ Test Run Failed.
+
+
+
+ Test Run Successful.
+
+
+
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+
+
+
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+
+
+
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+
+
+
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+
+
+
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+
+
+
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+
+
+
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+
+
+
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+
+
+
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+
+
+
+ /ListDiscoverers
+ Lists installed test discoverers.
+
+
+
+ /ListExecutors
+ Lists installed test executors.
+
+
+
+ /ListLoggers
+ Lists installed test loggers.
+
+
+
+ /ListSettingsProviders
+ Lists installed test settings providers.
+
+
+
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+
+
+
+ Time elapsed :
+
+
+
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+
+
+
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ ,
+
+
+
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ Please verify if the console output looks good after modifiaction.
+
+
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ {0} {1}
+
+
+
+ FriendlyName: {0}
+
+
+
+ Uri: {0}
+
+
+
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ SettingName: {0}
+
+
+
+ Supported File Types:
+
+
+
+ {0}
+
+
+
+ {0},
+
+
+
+ Default Executor Uri: {0}
+
+
+
+ Uri: {0}
+
+
+
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+
+
+
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+
+
+
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+
+
+
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+
+
+
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+
+
+
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+
+
+
+ Could not start test run for unit tests for Windows Store app: {0}.
+
+
+
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+
+
+
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+
+
+
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+
+
+
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+
+
+
+ Only one app package (.appx file) can be specified for running tests.
+
+
+
+ Starting test discovery, please wait...
+
+
+
+ Starting test execution, please wait...
+
+
+
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+
+
+
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+
+
+
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+
+
+
+ Settings file provided do not confirm to required format.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+
+
+
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+
+
+
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+
+
+
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+
+
+
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+
+
+
+ Could not start test run for the tests for Windows Phone app: {0}.
+
+
+
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+
+
+
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+
+
+
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+
+
+
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+
+
+
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+
+
+
+ Cannot be null or empty
+
+
+
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+
+
+
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+
+
+
+ Unable to find the assembly under test. Please make sure that the project is built.
+
+
+
+ The Path {0} does not exist.
+
+
+
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+
+
+
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+
+
+
+ The given configuration is invalid.
+
+
+
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+
+
+
+ The BuildBasePath was not found, provide a valid path and try again.
+
+
+
+ The Output path was not found, provide a valid path and try again.
+
+
+
+ Additional Information Messages:
+
+
+
+ Days
+
+
+
+ Error Message:
+
+
+
+ Test execution time: {0:0.0000} {1}
+
+
+
+ Hours
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Minutes
+
+
+
+ Seconds
+
+
+
+ Stack Trace:
+
+
+
+ Standard Error Messages:
+
+
+
+ Standard Output Messages:
+
+
+
+
+
+
+
+ Attachments:
+
+
+
+ {0}
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ Failed {0}
+ Message which is written to the console when a test fails.
+
+
+ Passed {0}
+ Message which is written to the console when a test passes.
+
+
+ Skipped {0}
+
+
+
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+
+
+
+ Discovery failed for given sources. Exception : {0}
+
+
+
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+
+
+
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+
+
+
+ Arguments:
+
+
+
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+
+
+
+ The file {0} provided is read only
+
+
+
+
+
diff --git a/src/vstest.console/Resources/xlf/Resources.zh-Hans.xlf b/src/vstest.console/Resources/xlf/Resources.zh-Hans.xlf
new file mode 100644
index 0000000000..7f3a52e218
--- /dev/null
+++ b/src/vstest.console/Resources/xlf/Resources.zh-Hans.xlf
@@ -0,0 +1,846 @@
+
+
+
+
+
+ Duplicate source {0} specified.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ '{0}' not found.
+ Could not find file {0}.
+
+
+
+ The following Test Discovery Add-Ins are available:
+ The following Test Discovery Add-Ins are available:
+
+
+
+ The following Test Execution Add-Ins are available:
+ The following Test Execution Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ {0}: {1}
+ {0}: {1}
+
+
+
+ The following Test Logger Add-Ins are available:
+ The following Test Logger Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ , {0}
+ , {0}
+ Format used to comma separate a list of values.
+
+
+ The parameter "{0}" should be provided only once.
+ The parameter "{0}" should be provided only once.
+
+
+
+ Exception occurred when instantiating extension '{0}': {1}
+ Exception occurred when instantiating extension '{0}': {1}
+
+
+
+ The following Tests are available:
+ The following Tests are available:
+
+
+
+ Unrecognized parameter "{0}".
+ Unrecognized parameter "{0}".
+
+
+
+ The test source file "{0}" provided was not found.
+ The test source file "{0}" provided was not found.
+
+
+
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ -?|--Help|/?|/Help
+ Display this usage message.
+ -?|--Help|/?|/Help
+ Display this usage message.
+
+
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ Copyright (c) Microsoft Corporation. All rights reserved.
+
+
+
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+
+
+
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+
+
+
+ Description: Runs tests from the specified files.
+ Description: Runs tests from the specified files.
+
+
+
+ Options:
+ Options:
+ Section Header for subsequent command help listing
+
+
+ Usage: vstest.console.exe [Arguments] [Options]
+ Usage: vstest.console.exe [Arguments] [Options]
+
+
+
+ No test source files were specified.
+ No test source files were specified.
+
+
+
+ No arguments were specified.
+ No arguments were specified.
+
+
+
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+
+
+
+ The following Settings Providers Add-Ins are available:
+ The following Settings Providers Add-Ins are available:
+
+
+
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+
+
+
+ The /Settings parameter requires a settings file to be provided.
+ The /Settings parameter requires a settings file to be provided.
+
+
+
+ The Settings file '{0}' could not be found.
+ The Settings file '{0}' could not be found.
+
+
+
+ Test Run Failed.
+ Test Run Failed.
+
+
+
+ Test Run Successful.
+ Test Run Successful.
+
+
+
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+
+
+
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+
+
+
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+
+
+
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+
+
+
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+
+
+
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+
+
+
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+
+
+
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+
+
+
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+
+
+
+ /ListDiscoverers
+ Lists installed test discoverers.
+ /ListDiscoverers
+ Lists installed test discoverers.
+
+
+
+ /ListExecutors
+ Lists installed test executors.
+ /ListExecutors
+ Lists installed test executors.
+
+
+
+ /ListLoggers
+ Lists installed test loggers.
+ /ListLoggers
+ Lists installed test loggers.
+
+
+
+ /ListSettingsProviders
+ Lists installed test settings providers.
+ /ListSettingsProviders
+ Lists installed test settings providers.
+
+
+
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+
+
+
+ Time elapsed :
+ Time elapsed :
+
+
+
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+
+
+
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ ,
+ ,
+
+
+
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ Please verify if the console output looks good after modifiaction.
+
+
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ {0} {1}
+ {0} {1}
+
+
+
+ FriendlyName: {0}
+ FriendlyName: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ SettingName: {0}
+ SettingName: {0}
+
+
+
+ Supported File Types:
+ Supported File Types:
+
+
+
+ {0}
+ {0}
+
+
+
+ {0},
+ {0},
+
+
+
+ Default Executor Uri: {0}
+ Default Executor Uri: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+
+
+
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+
+
+
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+
+
+
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+
+
+
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+
+
+
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+
+
+
+ Could not start test run for unit tests for Windows Store app: {0}.
+ Could not start test run for unit tests for Windows Store app: {0}.
+
+
+
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+
+
+
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+
+
+
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+
+
+
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+
+
+
+ Only one app package (.appx file) can be specified for running tests.
+ Only one app package (.appx file) can be specified for running tests.
+
+
+
+ Starting test discovery, please wait...
+ Starting test discovery, please wait...
+
+
+
+ Starting test execution, please wait...
+ Starting test execution, please wait...
+
+
+
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+
+
+
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+
+
+
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+
+
+
+ Settings file provided do not confirm to required format.
+ Settings file provided do not confirm to required format.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+
+
+
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+
+
+
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+
+
+
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+
+
+
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+
+
+
+ Could not start test run for the tests for Windows Phone app: {0}.
+ Could not start test run for the tests for Windows Phone app: {0}.
+
+
+
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+
+
+
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+
+
+
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+
+
+
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+
+
+
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+
+
+
+ Cannot be null or empty
+ Cannot be null or empty
+
+
+
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+
+
+
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+
+
+
+ Unable to find the assembly under test. Please make sure that the project is built.
+ Unable to find the assembly under test. Please make sure that the project is built.
+
+
+
+ The Path {0} does not exist.
+ The Path {0} does not exist.
+
+
+
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+
+
+
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+
+
+
+ The given configuration is invalid.
+ The given configuration is invalid.
+
+
+
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+
+
+
+ The BuildBasePath was not found, provide a valid path and try again.
+ The BuildBasePath was not found, provide a valid path and try again.
+
+
+
+ The Output path was not found, provide a valid path and try again.
+ The Output path was not found, provide a valid path and try again.
+
+
+
+ Additional Information Messages:
+ Additional Information Messages:
+
+
+
+ Days
+ Days
+
+
+
+ Error Message:
+ Error Message:
+
+
+
+ Test execution time: {0:0.0000} {1}
+ Test execution time: {0:0.0000} {1}
+
+
+
+ Hours
+ Hours
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Minutes
+ Minutes
+
+
+
+ Seconds
+ Seconds
+
+
+
+ Stack Trace:
+ Stack Trace:
+
+
+
+ Standard Error Messages:
+ Standard Error Messages:
+
+
+
+ Standard Output Messages:
+ Standard Output Messages:
+
+
+
+
+
+
+
+
+ Attachments:
+ Attachments:
+
+
+
+ {0}
+ {0}
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ Failed {0}
+ Failed {0}
+ Message which is written to the console when a test fails.
+
+
+ Passed {0}
+ Passed {0}
+ Message which is written to the console when a test passes.
+
+
+ Skipped {0}
+ Skipped {0}
+
+
+
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+
+
+
+ Discovery failed for given sources. Exception : {0}
+ Discovery failed for given sources. Exception : {0}
+
+
+
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+
+
+
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+
+
+
+ Arguments:
+ Arguments:
+
+
+
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+
+
+
+ The file {0} provided is read only
+ The file {0} provided is read only
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vstest.console/Resources/xlf/Resources.zh-Hant.xlf b/src/vstest.console/Resources/xlf/Resources.zh-Hant.xlf
new file mode 100644
index 0000000000..580570b8b7
--- /dev/null
+++ b/src/vstest.console/Resources/xlf/Resources.zh-Hant.xlf
@@ -0,0 +1,846 @@
+
+
+
+
+
+ Duplicate source {0} specified.
+ Ignoring the specified duplicate source '{0}'.
+
+
+
+ '{0}' not found.
+ Could not find file {0}.
+
+
+
+ The following Test Discovery Add-Ins are available:
+ The following Test Discovery Add-Ins are available:
+
+
+
+ The following Test Execution Add-Ins are available:
+ The following Test Execution Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ {0}: {1}
+ {0}: {1}
+
+
+
+ The following Test Logger Add-Ins are available:
+ The following Test Logger Add-Ins are available:
+
+
+
+ {0}
+ {0}
+ {Locked}
+
+
+ Error: {0}
+ Error: {0}
+
+
+
+ , {0}
+ , {0}
+ Format used to comma separate a list of values.
+
+
+ The parameter "{0}" should be provided only once.
+ The parameter "{0}" should be provided only once.
+
+
+
+ Exception occurred when instantiating extension '{0}': {1}
+ Exception occurred when instantiating extension '{0}': {1}
+
+
+
+ The following Tests are available:
+ The following Tests are available:
+
+
+
+ Unrecognized parameter "{0}".
+ Unrecognized parameter "{0}".
+
+
+
+ The test source file "{0}" provided was not found.
+ The test source file "{0}" provided was not found.
+
+
+
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+ The Test Logger URI '{0}' is not valid. The Test Logger will be ignored.
+
+
+
+ Information: {0}
+ Information: {0}
+
+
+
+ Warning: {0}
+ Warning: {0}
+
+
+
+ -?|--Help|/?|/Help
+ Display this usage message.
+ -?|--Help|/?|/Help
+ Display this usage message.
+
+
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ Copyright (c) Microsoft Corporation. All rights reserved.
+
+
+
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+ Microsoft (R) Test Execution Command Line Tool Version {0}
+
+
+
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+ --logger|/logger:<Logger Uri/FriendlyName>
+ Specify a logger for test results. For example, to log results into a
+ Visual Studio Test Results File (TRX) use /logger:trx.
+ To publish test results to Team Foundation Server, use TfsPublisher as shown below
+ Example: /logger:TfsPublisher;
+ Collection=<team project collection url>;
+ BuildName=<build name>;
+ TeamProject=<team project name>
+ [;Platform=<Defaults to "Any CPU">]
+ [;Flavor=<Defaults to "Debug">]
+ [;RunTitle=<title>]
+
+
+
+ Description: Runs tests from the specified files.
+ Description: Runs tests from the specified files.
+
+
+
+ Options:
+ Options:
+ Section Header for subsequent command help listing
+
+
+ Usage: vstest.console.exe [Arguments] [Options]
+ Usage: vstest.console.exe [Arguments] [Options]
+
+
+
+ No test source files were specified.
+ No test source files were specified.
+
+
+
+ No arguments were specified.
+ No arguments were specified.
+
+
+
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+ [TestFileNames]
+ Run tests from the specified files. Separate multiple test file names
+ by spaces.
+ Examples: mytestproject.dll
+ mytestproject.dll myothertestproject.exe
+
+
+
+ The following Settings Providers Add-Ins are available:
+ The following Settings Providers Add-Ins are available:
+
+
+
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+ --Settings|/Settings:<Settings File>
+ Settings to use when running tests.
+
+
+
+ The /Settings parameter requires a settings file to be provided.
+ The /Settings parameter requires a settings file to be provided.
+
+
+
+ The Settings file '{0}' could not be found.
+ The Settings file '{0}' could not be found.
+
+
+
+ Test Run Failed.
+ Test Run Failed.
+
+
+
+ Test Run Successful.
+ Test Run Successful.
+
+
+
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+ Argument {0} is not expected in the 'InIsolation' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /InIsolation) and try again.
+
+
+
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+ Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
+
+
+
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+ The /UseVsixExtensions parameter requires a value. If 'true', the installed VSIX extensions (if any) will be used in the test run. If false, they will be ignored. Example: /UseVsixExtensions:true
+
+
+
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+ Argument {0} is not expected in the 'UseVsixExtensions' command. Specify the command indicating whether the vsix extensions should be used or skipped (Example: vstest.console.exe myTests.dll /UseVsixExtensions:true) and try again.
+
+
+
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+ /InIsolation
+ Runs the tests in an isolated process. This makes vstest.console.exe
+ process less likely to be stopped on an error in the tests, but tests
+ may run slower.
+
+
+
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+ /UseVsixExtensions
+ This makes vstest.console.exe process use or skip the VSIX extensions
+ installed(if any) in the test run.
+ Example /UseVsixExtensions:true
+
+
+
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+ The /BatchSize argument requires the size of the batch. Example: /BatchSize:10
+
+
+
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+ Invalid batch size {0}. The batch size should be greater than zero. Example: /BatchSize:10
+
+
+
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+ To run tests in the same process:
+ >vstest.console.exe tests.dll
+ To run tests in a separate process:
+ >vstest.console.exe /inIsolation tests.dll
+ To run tests with additional settings such as data collectors:
+ >vstest.console.exe tests.dll /Settings:Local.RunSettings
+
+
+
+ /ListDiscoverers
+ Lists installed test discoverers.
+ /ListDiscoverers
+ Lists installed test discoverers.
+
+
+
+ /ListExecutors
+ Lists installed test executors.
+ /ListExecutors
+ Lists installed test executors.
+
+
+
+ /ListLoggers
+ Lists installed test loggers.
+ /ListLoggers
+ Lists installed test loggers.
+
+
+
+ /ListSettingsProviders
+ Lists installed test settings providers.
+ /ListSettingsProviders
+ Lists installed test settings providers.
+
+
+
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+ -lt|--ListTests|/lt|/ListTests:<File Name>
+ Lists discovered tests from the given test container.
+
+
+
+ Time elapsed :
+ Time elapsed :
+
+
+
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+ The /Tests argument requires one or more specific test names or their substrings.
+ Examples: /Tests:TestsMethod1, /Tests:TestMethod1,method2
+
+
+
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but no test matches the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ ,
+ ,
+
+
+
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ --Tests|/Tests:<Test Names>
+ Run tests with names that match the provided values. To provide multiple
+ values, separate them by commas.
+ Examples: /Tests:TestMethod1
+ /Tests:TestMethod1,testMethod2
+ Please verify if the console output looks good after modifiaction.
+
+
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run the tests as diagnostic data adapters were enabled in the runsettings. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Store apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Store apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ {0} {1}
+ {0} {1}
+
+
+
+ FriendlyName: {0}
+ FriendlyName: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Logger Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Executor Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Test Discovery Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+ The Settings Providers Add-Ins installed through a VSIX installation are ignored. Use the /UseVsixExtensions parameter to include them, if your installation supports vsix extensions. Example: vstest.console.exe {0} /UseVsixExtensions:true
+
+
+
+ SettingName: {0}
+ SettingName: {0}
+
+
+
+ Supported File Types:
+ Supported File Types:
+
+
+
+ {0}
+ {0}
+
+
+
+ {0},
+ {0},
+
+
+
+ Default Executor Uri: {0}
+ Default Executor Uri: {0}
+
+
+
+ Uri: {0}
+ Uri: {0}
+
+
+
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+ Invalid platform type:{0}. Valid platform types are x86, x64 and Arm.
+
+
+
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+ The /Platform argument requires the target platform type for the test run to be provided. Example: /Platform:x86
+
+
+
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+ --Platform|/Platform:<Platform type>
+ Target platform architecture to be used for test execution.
+ Valid values are x86, x64 and ARM.
+
+
+
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+ Using Isolation mode to run tests as required by effective Platform:{0} and .Net Framework:{1} settings for test run. Use the /inIsolation parameter to suppress this warning.
+
+
+
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+ --Framework|/Framework:<Framework Version>
+ Target .Net Framework version to be used for test execution.
+ Valid values are ".NETFramework,Version=v4.6", ".NETCoreApp,Version=v1.0" etc.
+ Other supported values are Framework35, Framework40, Framework45 and FrameworkCore10.
+
+
+
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+ The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.6"
+
+
+
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+ Invalid .Net Framework version:{0}. Please give the fullname of the TargetFramework. Other supported .Net Framework versions are Framework35, Framework40 and Framework45.
+
+
+
+ Could not start test run for unit tests for Windows Store app: {0}.
+ Could not start test run for unit tests for Windows Store app: {0}.
+
+
+
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+ --TestCaseFilter|/TestCaseFilter:<Expression>
+ Run tests that match the given expression.
+ <Expression> is of the format <property>Operator<value>[|&<Expression>]
+ where Operator is one of =, != or ~ (Operator ~ has 'contains'
+ semantics and is applicable for string properties like DisplayName).
+ Parenthesis () can be used to group sub-expressions.
+ Examples: /TestCaseFilter:"Priority=1"
+ /TestCaseFilter:"(FullyQualifiedName~Nightly
+ |Name=MyTestMethod)"
+
+
+
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+ The /TestCaseFilter argument requires the filter value.
+ Filter value can be <property>=<value> type.
+ Examples: "Priority=1", "TestCategory=Nightly"
+
+
+
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+ The /TestCaseFilter argument cannot be specified with /Tests. Filtering of test cases is not applicable when tests are specified.
+
+
+
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+ {0} is built for {1}/{2}. The test assemblies specified in a run should have a common target .Net framework and platform.
+
+
+
+ Only one app package (.appx file) can be specified for running tests.
+ Only one app package (.appx file) can be specified for running tests.
+
+
+
+ Starting test discovery, please wait...
+ Starting test discovery, please wait...
+
+
+
+ Starting test execution, please wait...
+ Starting test execution, please wait...
+
+
+
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+ Reading diagnostic data adapter settings threw an running '{0}'. All diagnostic data adapters will be skipped in this run.
+
+
+
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+ /EnableCodeCoverage
+ Enables data diagnostic adapter 'CodeCoverage' in the test run. Default
+ settings are used if not specified using settings file.
+
+
+
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+ Argument {0} is not expected in the 'EnableCodeCoverage' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /EnableCodeCoverage) and try again.
+
+
+
+ Settings file provided do not confirm to required format.
+ Settings file provided do not confirm to required format.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Store apps, create app package using Windows Store app Unit Test Library project.
+
+
+
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Store apps. Code coverage analysis skipped for this test run.
+
+
+
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+ A total of {0} tests were discovered but some tests do not match the specified selection criteria({1}). Use right value(s) and try again.
+
+
+
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+ --TestAdapterPath|/TestAdapterPath
+ This makes vstest.console.exe process use custom test adapters
+ from a given path (if any) in the test run.
+ Example /TestAdapterPath:<pathToCustomAdapters>
+
+
+
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+ The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:\MyCustomAdapters
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+ The path '{0}' specified in the 'TestAdapterPath' is invalid. Error: {1}
+
+
+
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+ The custom test adapter search path provided was not found, provide a valid path and try again.
+
+
+
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+ The path '{0}' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
+
+
+
+ Could not start test run for the tests for Windows Phone app: {0}.
+ Could not start test run for the tests for Windows Phone app: {0}.
+
+
+
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+ Using Isolation mode to run unit tests for Windows Phone apps. Use the /InIsolation parameter to suppress this warning.
+
+
+
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+ Code coverage is not available for Windows Phone apps. Code coverage analysis skipped for this test run.
+
+
+
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+ Diagnostic data adapters are not supported when running unit tests for Windows Phone apps. Remove diagnostic data adapters settings from settings.
+
+
+
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+ App package '{0}' does not has test executor entry point. For running unit tests for Windows Phone apps, create app package using Windows Phone Unit Test App project.
+
+
+
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+ Using framework {0} to run the tests. Specify /Framework:{1} to suppress this warning.
+
+
+
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+ No test found in the specified test containers. Additionally, Microsoft Windows Store Unit test adapter does not support .appxbundle files. Create an appx (set Generate App bundle option to Never) when creating App Package and try again.
+
+
+
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+ --Parallel|/Parallel
+ Specifies that the tests be executed in parallel. By default up
+ to all available cores on the machine may be used.
+ The number of cores to use may be configured using a settings file.
+
+
+
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+ Argument {0} is not expected in the 'Parallel' command. Specify the command without the argument (Example: vstest.console.exe myTests.dll /Parallel) and try again.
+
+
+
+ Cannot be null or empty
+ Cannot be null or empty
+
+
+
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+ --Port|/Port:<Port>
+ The Port for socket connection and receiving the event messages.
+
+
+
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+ The --Port|/Port argument requires the port number which is an integer. Specify the port for socket connection and receiving the event messages.
+
+
+
+ Unable to find the assembly under test. Please make sure that the project is built.
+ Unable to find the assembly under test. Please make sure that the project is built.
+
+
+
+ The Path {0} does not exist.
+ The Path {0} does not exist.
+
+
+
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+ --BuildBasePath|/BuildBasePath:<BuildBasePath>
+ The directory containing the temporary outputs.
+
+
+
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+ -c|--Configuration|/c|/Configuration:<Configuration>
+ The configuration the project is built for i.e. Debug/Release
+
+
+
+ The given configuration is invalid.
+ The given configuration is invalid.
+
+
+
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+ -o|--Output|/o|/Output:<Output>
+ The directory containing the binaries to run.
+
+
+
+ The BuildBasePath was not found, provide a valid path and try again.
+ The BuildBasePath was not found, provide a valid path and try again.
+
+
+
+ The Output path was not found, provide a valid path and try again.
+ The Output path was not found, provide a valid path and try again.
+
+
+
+ Additional Information Messages:
+ Additional Information Messages:
+
+
+
+ Days
+ Days
+
+
+
+ Error Message:
+ Error Message:
+
+
+
+ Test execution time: {0:0.0000} {1}
+ Test execution time: {0:0.0000} {1}
+
+
+
+ Hours
+ Hours
+
+
+
+ Could not find a test logger with URI or FriendlyName '{0}'.
+ Could not find a test logger with URI or FriendlyName '{0}'.
+
+
+
+ Minutes
+ Minutes
+
+
+
+ Seconds
+ Seconds
+
+
+
+ Stack Trace:
+ Stack Trace:
+
+
+
+ Standard Error Messages:
+ Standard Error Messages:
+
+
+
+ Standard Output Messages:
+ Standard Output Messages:
+
+
+
+
+
+
+
+
+ Attachments:
+ Attachments:
+
+
+
+ {0}
+ {0}
+
+
+
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+ No test is available in {0}. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
+
+
+
+ Failed {0}
+ Failed {0}
+ Message which is written to the console when a test fails.
+
+
+ Passed {0}
+ Passed {0}
+ Message which is written to the console when a test passes.
+
+
+ Skipped {0}
+ Skipped {0}
+
+
+
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+ Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.
+
+
+
+ Discovery failed for given sources. Exception : {0}
+ Discovery failed for given sources. Exception : {0}
+
+
+
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+ --ParentProcessId|/ParentProcessId:<ParentProcessId>
+ Process Id of the Parent Process responsible for launching current process.
+
+
+
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+ The --ParentProcessId|/ParentProcessId argument requires the process id which is an integer. Specify the process id of the parent process that launched this process.
+
+
+
+ Arguments:
+ Arguments:
+
+
+
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+ --Diag|/Diag:<Path to log file>
+ Enable verbose logs for test platform.
+ Logs are written to the provided file.
+
+
+
+ The file {0} provided is read only
+ The file {0} provided is read only
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vstest.console/project.json b/src/vstest.console/project.json
index 6091bb1b03..cf8e6aed9b 100644
--- a/src/vstest.console/project.json
+++ b/src/vstest.console/project.json
@@ -5,7 +5,8 @@
"emitEntryPoint": true,
"delaySign": true,
"keyFile": "../../scripts/key.snk",
- "warningsAsErrors": true
+ "warningsAsErrors": true,
+ "embed": [ "Resources/*.resx" ]
},
"dependencies": {
diff --git a/test/Microsoft.TestPlatform.Client.UnitTests/DesignMode/DesignModeClientTests.cs b/test/Microsoft.TestPlatform.Client.UnitTests/DesignMode/DesignModeClientTests.cs
index b607e759ab..a5635d7686 100644
--- a/test/Microsoft.TestPlatform.Client.UnitTests/DesignMode/DesignModeClientTests.cs
+++ b/test/Microsoft.TestPlatform.Client.UnitTests/DesignMode/DesignModeClientTests.cs
@@ -1,33 +1,42 @@
// Copyright (c) Microsoft. All rights reserved.
-
namespace Microsoft.VisualStudio.TestPlatform.Client.UnitTests.DesignMode
{
using System;
using System.Linq;
using System.Threading;
- using Microsoft.VisualStudio.TestPlatform.Common.Interfaces;
-
using Microsoft.VisualStudio.TestPlatform.Client.DesignMode;
using Microsoft.VisualStudio.TestPlatform.Client.RequestHelper;
+ using Microsoft.VisualStudio.TestPlatform.Common.Interfaces;
using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;
using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Interfaces;
using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.Interfaces;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
- using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
- using ObjectModel.Client;
- using ObjectModel.Engine;
- using ObjectModel.Client.Interfaces;
-
[TestClass]
public class DesignModeClientTests
{
+ private const int PortNumber = 123;
+
+ private readonly Mock mockTestRequestManager;
+
+ private readonly Mock mockCommunicationManager;
+
+ private readonly DesignModeClient designModeClient;
+
+ public DesignModeClientTests()
+ {
+ this.mockTestRequestManager = new Mock();
+ this.mockCommunicationManager = new Mock();
+ this.designModeClient = new DesignModeClient(this.mockCommunicationManager.Object, JsonDataSerializer.Instance);
+ }
+
[TestMethod]
public void DesignModeClientBeforeConnectInstanceShouldReturnNull()
{
@@ -44,84 +53,81 @@ public void DesignModeClientInitializeShouldInstantiateClassAndCreateClient()
[TestMethod]
public void DesignModeClientConnectShouldSetupChannel()
{
- int portNumber = 123;
- var testRequestManager = new Mock();
- var communicationManager = new Mock();
- var testDesignModeClient = new DesignModeClient(communicationManager.Object, JsonDataSerializer.Instance);
-
- var verCheck = new Message() { MessageType = MessageType.VersionCheck };
- var sessionEnd = new Message() { MessageType = MessageType.SessionEnd };
- communicationManager.Setup(cm => cm.WaitForServerConnection(It.IsAny())).Returns(true);
- communicationManager.Setup(cm => cm.ReceiveMessage()).Returns(verCheck);
-
- bool verCheckCalled = false;
- communicationManager.Setup(cm => cm.SendMessage(MessageType.VersionCheck, It.IsAny())).Callback
- (() =>
- {
- verCheckCalled = true;
- communicationManager.Setup(cm => cm.ReceiveMessage()).Returns(sessionEnd);
- });
-
- testDesignModeClient.ConnectToClientAndProcessRequests(portNumber, testRequestManager.Object);
-
- communicationManager.Verify(cm => cm.SetupClientAsync(portNumber), Times.Once);
- communicationManager.Verify(cm => cm.WaitForServerConnection(It.IsAny()), Times.Once);
- Assert.IsTrue(verCheckCalled, "Version Check must be called");
+ var verCheck = new Message { MessageType = MessageType.VersionCheck };
+ var sessionEnd = new Message { MessageType = MessageType.SessionEnd };
+ this.mockCommunicationManager.Setup(cm => cm.WaitForServerConnection(It.IsAny())).Returns(true);
+ this.mockCommunicationManager.SetupSequence(cm => cm.ReceiveMessage()).Returns(verCheck).Returns(sessionEnd);
+
+ this.designModeClient.ConnectToClientAndProcessRequests(PortNumber, this.mockTestRequestManager.Object);
+
+ this.mockCommunicationManager.Verify(cm => cm.SetupClientAsync(PortNumber), Times.Once);
+ this.mockCommunicationManager.Verify(cm => cm.WaitForServerConnection(It.IsAny()), Times.Once);
+ this.mockCommunicationManager.Verify(cm => cm.SendMessage(MessageType.SessionConnected), Times.Once());
+ this.mockCommunicationManager.Verify(cm => cm.SendMessage(MessageType.VersionCheck, It.IsAny()), Times.Once());
}
[TestMethod]
- public void DesignModeClientWithGetTestRunnerProcessStartInfoShouldDeserializeTestsWithTraitsCorrectly()
+ public void DesignModeClientConnectShouldNotSendConnectedIfServerConnectionTimesOut()
{
- // Arrange.
- var mockTestRequestManager = new Mock();
- var mockCommunicationManager = new Mock();
+ var verCheck = new Message { MessageType = MessageType.VersionCheck };
+ var sessionEnd = new Message { MessageType = MessageType.SessionEnd };
+ this.mockCommunicationManager.Setup(cm => cm.WaitForServerConnection(It.IsAny())).Returns(false);
+ this.mockCommunicationManager.SetupSequence(cm => cm.ReceiveMessage()).Returns(verCheck).Returns(sessionEnd);
- var testDesignModeClient = new DesignModeClient(mockCommunicationManager.Object, JsonDataSerializer.Instance);
+ Assert.ThrowsException(() => this.designModeClient.ConnectToClientAndProcessRequests(PortNumber, this.mockTestRequestManager.Object));
+ this.mockCommunicationManager.Verify(cm => cm.SetupClientAsync(PortNumber), Times.Once);
+ this.mockCommunicationManager.Verify(cm => cm.WaitForServerConnection(It.IsAny()), Times.Once);
+ this.mockCommunicationManager.Verify(cm => cm.SendMessage(MessageType.SessionConnected), Times.Never);
+ this.mockCommunicationManager.Verify(cm => cm.SendMessage(MessageType.VersionCheck, It.IsAny()), Times.Never);
+ }
+
+ [TestMethod]
+ public void DesignModeClientWithGetTestRunnerProcessStartInfoShouldDeserializeTestsWithTraitsCorrectly()
+ {
+ // Arrange.
var testCase = new TestCase("A.C.M", new Uri("d:\\executor"), "A.dll");
testCase.Traits.Add(new Trait("foo", "bar"));
var testList = new System.Collections.Generic.List { testCase };
- var testRunPayload = new TestRunRequestPayload() { RunSettings = null, TestCases = testList };
+ var testRunPayload = new TestRunRequestPayload { RunSettings = null, TestCases = testList };
- var getProcessStartInfoMessage = new Message()
+ var getProcessStartInfoMessage = new Message
{
- MessageType =
- MessageType
- .GetTestRunnerProcessStartInfoForRunSelected,
+ MessageType = MessageType.GetTestRunnerProcessStartInfoForRunSelected,
Payload = JToken.FromObject("random")
};
- var sessionEnd = new Message() { MessageType = MessageType.SessionEnd };
+ var sessionEnd = new Message { MessageType = MessageType.SessionEnd };
TestRunRequestPayload receivedTestRunPayload = null;
var allTasksComplete = new ManualResetEvent(false);
// Setup mocks.
- mockCommunicationManager.Setup(cm => cm.WaitForServerConnection(It.IsAny())).Returns(true);
- mockCommunicationManager.Setup(cm => cm.DeserializePayload(getProcessStartInfoMessage))
+ this.mockCommunicationManager.Setup(cm => cm.WaitForServerConnection(It.IsAny())).Returns(true);
+ this.mockCommunicationManager.Setup(cm => cm.DeserializePayload(getProcessStartInfoMessage))
.Returns(testRunPayload);
-
- mockTestRequestManager.Setup(
- trm =>
- trm.RunTests(
- It.IsAny(),
- It.IsAny(),
- It.IsAny()))
+
+ this.mockTestRequestManager.Setup(
+ trm =>
+ trm.RunTests(
+ It.IsAny(),
+ It.IsAny(),
+ It.IsAny()))
.Callback(
(TestRunRequestPayload trp,
ITestHostLauncher testHostManager,
ITestRunEventsRegistrar testRunEventsRegistrar) =>
- {
+ {
allTasksComplete.Set();
receivedTestRunPayload = trp;
});
-
- mockCommunicationManager.SetupSequence(cm => cm.ReceiveMessage())
+
+ this.mockCommunicationManager.SetupSequence(cm => cm.ReceiveMessage())
.Returns(getProcessStartInfoMessage)
.Returns(sessionEnd);
// Act.
- testDesignModeClient.ConnectToClientAndProcessRequests(0, mockTestRequestManager.Object);
+ this.designModeClient.ConnectToClientAndProcessRequests(0, this.mockTestRequestManager.Object);
// wait for the internal spawned of tasks to complete.
allTasksComplete.WaitOne(1000);
@@ -141,33 +147,27 @@ public void DesignModeClientWithGetTestRunnerProcessStartInfoShouldDeserializeTe
public void DesignModeClientWithRunSelectedTestCasesShouldDeserializeTestsWithTraitsCorrectly()
{
// Arrange.
- var mockTestRequestManager = new Mock();
- var mockCommunicationManager = new Mock();
-
- var testDesignModeClient = new DesignModeClient(mockCommunicationManager.Object, JsonDataSerializer.Instance);
-
var testCase = new TestCase("A.C.M", new Uri("d:\\executor"), "A.dll");
testCase.Traits.Add(new Trait("foo", "bar"));
var testList = new System.Collections.Generic.List { testCase };
- var testRunPayload = new TestRunRequestPayload() { RunSettings = null, TestCases = testList };
+ var testRunPayload = new TestRunRequestPayload { RunSettings = null, TestCases = testList };
- var getProcessStartInfoMessage = new Message()
- {
- MessageType = MessageType.TestRunSelectedTestCasesDefaultHost,
- Payload = JToken.FromObject("random")
- };
+ var getProcessStartInfoMessage = new Message
+ {
+ MessageType = MessageType.TestRunSelectedTestCasesDefaultHost,
+ Payload = JToken.FromObject("random")
+ };
- var sessionEnd = new Message() { MessageType = MessageType.SessionEnd };
+ var sessionEnd = new Message { MessageType = MessageType.SessionEnd };
TestRunRequestPayload receivedTestRunPayload = null;
var allTasksComplete = new ManualResetEvent(false);
// Setup mocks.
- mockCommunicationManager.Setup(cm => cm.WaitForServerConnection(It.IsAny())).Returns(true);
- mockCommunicationManager.Setup(cm => cm.DeserializePayload(getProcessStartInfoMessage))
+ this.mockCommunicationManager.Setup(cm => cm.WaitForServerConnection(It.IsAny())).Returns(true);
+ this.mockCommunicationManager.Setup(cm => cm.DeserializePayload(getProcessStartInfoMessage))
.Returns(testRunPayload);
-
- mockTestRequestManager.Setup(
+ this.mockTestRequestManager.Setup(
trm =>
trm.RunTests(
It.IsAny(),
@@ -181,13 +181,12 @@ public void DesignModeClientWithRunSelectedTestCasesShouldDeserializeTestsWithTr
allTasksComplete.Set();
receivedTestRunPayload = trp;
});
-
- mockCommunicationManager.SetupSequence(cm => cm.ReceiveMessage())
+ this.mockCommunicationManager.SetupSequence(cm => cm.ReceiveMessage())
.Returns(getProcessStartInfoMessage)
.Returns(sessionEnd);
// Act.
- testDesignModeClient.ConnectToClientAndProcessRequests(0, mockTestRequestManager.Object);
+ this.designModeClient.ConnectToClientAndProcessRequests(0, this.mockTestRequestManager.Object);
// wait for the internal spawned of tasks to complete.
allTasksComplete.WaitOne(1000);
@@ -206,31 +205,21 @@ public void DesignModeClientWithRunSelectedTestCasesShouldDeserializeTestsWithTr
[TestMethod]
public void DesignModeClientOnBadConnectionShouldStopServerAndThrowTimeoutException()
{
- int portNumber = 123;
- var designModeHandler = new Mock();
- var communicationManager = new Mock();
- var testDesignModeClient = new DesignModeClient(communicationManager.Object, JsonDataSerializer.Instance);
+ this.mockCommunicationManager.Setup(cm => cm.WaitForServerConnection(It.IsAny())).Returns(false);
- communicationManager.Setup(cm => cm.WaitForServerConnection(It.IsAny())).Returns(false);
+ Assert.ThrowsException(() => this.designModeClient.ConnectToClientAndProcessRequests(PortNumber, this.mockTestRequestManager.Object));
- Assert.ThrowsException(() =>
- testDesignModeClient.ConnectToClientAndProcessRequests(portNumber, designModeHandler.Object));
-
- communicationManager.Verify(cm => cm.SetupClientAsync(portNumber), Times.Once);
- communicationManager.Verify(cm => cm.WaitForServerConnection(It.IsAny()), Times.Once);
- communicationManager.Verify(cm => cm.StopClient(), Times.Once);
+ this.mockCommunicationManager.Verify(cm => cm.SetupClientAsync(PortNumber), Times.Once);
+ this.mockCommunicationManager.Verify(cm => cm.WaitForServerConnection(It.IsAny()), Times.Once);
+ this.mockCommunicationManager.Verify(cm => cm.StopClient(), Times.Once);
}
[TestMethod]
public void DesignModeClientShouldStopCommunicationOnParentProcessExit()
{
- var designModeHandler = new Mock();
- var communicationManager = new Mock();
- var testDesignModeClient = new DesignModeClient(communicationManager.Object, JsonDataSerializer.Instance);
-
- testDesignModeClient.HandleParentProcessExit();
+ this.designModeClient.HandleParentProcessExit();
- communicationManager.Verify(cm => cm.StopClient(), Times.Once);
+ this.mockCommunicationManager.Verify(cm => cm.StopClient(), Times.Once);
}
}
}
diff --git a/test/Microsoft.TestPlatform.Client.UnitTests/TestPlatformTests.cs b/test/Microsoft.TestPlatform.Client.UnitTests/TestPlatformTests.cs
index ac72e74cbf..ead1d81eee 100644
--- a/test/Microsoft.TestPlatform.Client.UnitTests/TestPlatformTests.cs
+++ b/test/Microsoft.TestPlatform.Client.UnitTests/TestPlatformTests.cs
@@ -6,6 +6,7 @@ namespace Microsoft.VisualStudio.TestPlatform.Client.UnitTests
using System.Collections.Generic;
using Microsoft.VisualStudio.TestPlatform.Client.Execution;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.Interfaces;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine;
@@ -34,7 +35,7 @@ public TestPlatformTests()
[TestMethod]
public void CreateDiscoveryRequestShouldCreateDiscoveryRequestWithGivenCriteriaAndReturnIt()
{
- this.testEngine.Setup(te => te.GetDefaultTestHostManager(ObjectModel.Architecture.X86, ObjectModel.Framework.DefaultFramework)).Returns(this.hostManager.Object);
+ this.testEngine.Setup(te => te.GetDefaultTestHostManager(It.IsAny())).Returns(this.hostManager.Object);
this.discoveryManager.Setup(dm => dm.Initialize()).Verifiable();
this.testEngine.Setup(te => te.GetDiscoveryManager(this.hostManager.Object, It.IsAny())).Returns(this.discoveryManager.Object);
this.testEngine.Setup(te => te.GetExtensionManager()).Returns(this.extensionManager.Object);
@@ -69,7 +70,7 @@ public void UpdateExtensionsShouldUpdateTheEngineWithAdditionalExtensions()
[TestMethod]
public void CreateTestRunRequestShouldCreateTestRunRequestWithSpecifiedCriteria()
{
- this.testEngine.Setup(te => te.GetDefaultTestHostManager(ObjectModel.Architecture.X86, ObjectModel.Framework.DefaultFramework)).Returns(this.hostManager.Object);
+ this.testEngine.Setup(te => te.GetDefaultTestHostManager(It.IsAny())).Returns(this.hostManager.Object);
this.executionManager.Setup(dm => dm.Initialize()).Verifiable();
this.testEngine.Setup(te => te.GetExecutionManager(this.hostManager.Object, It.IsAny())).Returns(this.executionManager.Object);
this.testEngine.Setup(te => te.GetExtensionManager()).Returns(this.extensionManager.Object);
@@ -86,7 +87,7 @@ public void CreateTestRunRequestShouldCreateTestRunRequestWithSpecifiedCriteria(
public void CreateTestRunRequestShouldSetCustomHostLauncherOnEngineDefaultLauncherIfSpecified()
{
var mockCustomLauncher = new Mock();
- this.testEngine.Setup(te => te.GetDefaultTestHostManager(ObjectModel.Architecture.X86, ObjectModel.Framework.DefaultFramework)).Returns(this.hostManager.Object);
+ this.testEngine.Setup(te => te.GetDefaultTestHostManager(It.IsAny())).Returns(this.hostManager.Object);
this.executionManager.Setup(dm => dm.Initialize()).Verifiable();
this.testEngine.Setup(te => te.GetExecutionManager(this.hostManager.Object, It.IsAny())).Returns(this.executionManager.Object);
this.testEngine.Setup(te => te.GetExtensionManager()).Returns(this.extensionManager.Object);
diff --git a/test/Microsoft.TestPlatform.Common.UnitTests/Logging/InternalTestLoggerEventsTests.cs b/test/Microsoft.TestPlatform.Common.UnitTests/Logging/InternalTestLoggerEventsTests.cs
index f44fd3d5e4..74fbf91a0a 100644
--- a/test/Microsoft.TestPlatform.Common.UnitTests/Logging/InternalTestLoggerEventsTests.cs
+++ b/test/Microsoft.TestPlatform.Common.UnitTests/Logging/InternalTestLoggerEventsTests.cs
@@ -9,7 +9,6 @@ namespace TestPlatform.Common.UnitTests.Logging
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Threading;
- using TestPlatform.Common.UnitTests.Utilities;
using TestResult = Microsoft.VisualStudio.TestPlatform.ObjectModel.TestResult;
[TestClass]
@@ -17,6 +16,7 @@ public class InternalTestLoggerEventsBehaviors
{
private TestSessionMessageLogger testSessionMessageLogger;
private InternalTestLoggerEvents loggerEvents;
+
[TestInitialize]
public void Initialize()
{
@@ -39,7 +39,6 @@ public void RaiseMessageShouldNotThrowExceptionIfNoEventHandlersAreRegistered()
}
[TestMethod]
- [Timeout(300)]
public void RaiseMessageShouldInvokeRegisteredEventHandlerIfTestRunMessageEventArgsIsPassed()
{
EventWaitHandle waitHandle = new AutoResetEvent(false);
@@ -59,7 +58,9 @@ public void RaiseMessageShouldInvokeRegisteredEventHandlerIfTestRunMessageEventA
// Send the test mesage event.
loggerEvents.RaiseMessage(new TestRunMessageEventArgs(TestMessageLevel.Informational, message));
- waitHandle.WaitOne();
+ var waitSuccess = waitHandle.WaitOne(500);
+ Assert.IsTrue(waitSuccess, "Event must be raised within timeout.");
+
Assert.IsTrue(testMessageReceived);
Assert.IsNotNull(eventArgs);
Assert.AreEqual(message, eventArgs.Message);
@@ -67,7 +68,6 @@ public void RaiseMessageShouldInvokeRegisteredEventHandlerIfTestRunMessageEventA
}
[TestMethod]
- [Timeout(300)]
public void RaiseMessageShouldInvokeRegisteredEventHandlerIfTestTestResultEventArgsIsPassed()
{
EventWaitHandle waitHandle = new AutoResetEvent(false);
@@ -87,7 +87,9 @@ public void RaiseMessageShouldInvokeRegisteredEventHandlerIfTestTestResultEventA
// Send the test result event.
loggerEvents.RaiseTestResult(new TestResultEventArgs(result));
- waitHandle.WaitOne();
+ var waitSuccess = waitHandle.WaitOne(500);
+ Assert.IsTrue(waitSuccess, "Event must be raised within timeout.");
+
Assert.IsTrue(testResultReceived);
Assert.IsNotNull(eventArgs);
Assert.AreEqual(result, eventArgs.Result);
@@ -112,7 +114,6 @@ public void RaiseMessageShouldThrowExceptioIfNullTestRunMessageEventArgsIsPassed
}
[TestMethod]
- [Timeout(300)]
public void CompleteTestRunShouldInvokeRegisteredEventHandler()
{
bool testRunCompleteReceived = false;
@@ -128,11 +129,12 @@ public void CompleteTestRunShouldInvokeRegisteredEventHandler()
waitHandle.Set();
};
- // Send the test run complete event.
loggerEvents.EnableEvents();
+ // Send the test run complete event.
loggerEvents.CompleteTestRun(null, false, false, null, null, new TimeSpan());
- waitHandle.WaitOne();
+ var waitSuccess = waitHandle.WaitOne(500);
+ Assert.IsTrue(waitSuccess, "Event must be raised within timeout.");
Assert.IsTrue(testRunCompleteReceived);
Assert.IsNotNull(eventArgs);
}
diff --git a/test/Microsoft.TestPlatform.CommunicationUtilities.UnitTests/TestRequestSenderTests.cs b/test/Microsoft.TestPlatform.CommunicationUtilities.UnitTests/TestRequestSenderTests.cs
index a06aa16310..7e977acbf2 100644
--- a/test/Microsoft.TestPlatform.CommunicationUtilities.UnitTests/TestRequestSenderTests.cs
+++ b/test/Microsoft.TestPlatform.CommunicationUtilities.UnitTests/TestRequestSenderTests.cs
@@ -5,6 +5,7 @@ namespace TestPlatform.CommunicationUtilities.UnitTests
using System;
using System.Collections.Generic;
using System.Threading;
+ using System.Threading.Tasks;
using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;
using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Interfaces;
@@ -14,9 +15,9 @@ namespace TestPlatform.CommunicationUtilities.UnitTests
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using CommunicationUtilitiesResources = Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Resources.Resources;
+
using Moq;
- using System.IO;
- using System.Threading.Tasks;
[TestClass]
public class TestRequestSenderTests
@@ -450,7 +451,7 @@ public void StartTestRunShouldCallHandleTestRunCompleteAndHandleLogMessageOnConn
waitHandle.WaitOne();
this.testRequestSender.EndSession();
- mockHandler.Verify(mh => mh.HandleLogMessage(TestMessageLevel.Error, string.Format(Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Resources.AbortedTestRun, Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Resources.ConnectionClosed)), Times.Once);
+ mockHandler.Verify(mh => mh.HandleLogMessage(TestMessageLevel.Error, string.Format(CommunicationUtilitiesResources.AbortedTestRun, CommunicationUtilitiesResources.ConnectionClosed)), Times.Once);
mockHandler.Verify(mh => mh.HandleTestRunComplete(It.IsAny(), null, null, null), Times.Once);
mockHandler.Verify(mh => mh.HandleRawMessage(testCompleteRawMessage), Times.Once);
mockCommunicationManager.Verify(mc => mc.SendMessage(MessageType.SessionEnd), Times.Never);
diff --git a/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/Discovery/DiscoveryManagerTests.cs b/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/Discovery/DiscoveryManagerTests.cs
index 0a29ce71d1..781ee45930 100644
--- a/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/Discovery/DiscoveryManagerTests.cs
+++ b/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/Discovery/DiscoveryManagerTests.cs
@@ -8,17 +8,17 @@ namespace TestPlatform.CrossPlatEngine.UnitTests.Discovery
using System.Reflection;
using Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework;
- using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine;
using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Discovery;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
using TestPlatform.Common.UnitTests.ExtensionFramework;
+ using CrossPlatEngineResources = Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Resources.Resources;
+
[TestClass]
public class DiscoveryManagerTests
{
@@ -87,7 +87,7 @@ public void DiscoverTestsShouldLogIfThereAreNoValidSources()
this.discoveryManager.DiscoverTests(criteria, mockLogger.Object);
var sourcesString = string.Join(",", sources.ToArray());
- var errorMessage = string.Format(CultureInfo.CurrentCulture, Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Resources.NoValidSourceFoundForDiscovery, sourcesString);
+ var errorMessage = string.Format(CultureInfo.CurrentCulture, CrossPlatEngineResources.NoValidSourceFoundForDiscovery, sourcesString);
mockLogger.Verify(
l =>
l.HandleLogMessage(
@@ -114,7 +114,7 @@ public void DiscoverTestsShouldLogIfTheSameSourceIsSpecifiedTwice()
this.discoveryManager.DiscoverTests(criteria, mockLogger.Object);
- var errorMessage = string.Format(CultureInfo.CurrentCulture, Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Resources.DuplicateSource, sources[0]);
+ var errorMessage = string.Format(CultureInfo.CurrentCulture, CrossPlatEngineResources.DuplicateSource, sources[0]);
mockLogger.Verify(
l =>
l.HandleLogMessage(
diff --git a/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/Execution/BaseRunTestsTests.cs b/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/Execution/BaseRunTestsTests.cs
index 738157ce3e..ac63a68028 100644
--- a/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/Execution/BaseRunTestsTests.cs
+++ b/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/Execution/BaseRunTestsTests.cs
@@ -526,7 +526,7 @@ public void RunTestsShouldRaiseTestRunComplete()
Assert.AreEqual(this.runTestsInstance.GetTestRunCache.TestRunStatistics.ExecutedTests, receivedRunStatusArgs.TestRunStatistics.ExecutedTests);
Assert.IsNotNull(receivedRunStatusArgs.NewTestResults);
Assert.IsTrue(receivedRunStatusArgs.NewTestResults.Count() > 0);
- Assert.IsNull(receivedRunStatusArgs.ActiveTests);
+ Assert.IsTrue(receivedRunStatusArgs.ActiveTests == null || receivedRunStatusArgs.ActiveTests.Count() == 0);
// Attachments
Assert.IsNotNull(receivedattachments);
diff --git a/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/Hosting/DefaultTestHostManagerTests.cs b/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/Hosting/DefaultTestHostManagerTests.cs
index 926da979b7..6887b7cf07 100644
--- a/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/Hosting/DefaultTestHostManagerTests.cs
+++ b/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/Hosting/DefaultTestHostManagerTests.cs
@@ -15,6 +15,7 @@ namespace TestPlatform.CrossPlatEngine.UnitTests.Hosting
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Utilities;
[TestClass]
public class DefaultTestHostManagerTests
@@ -28,14 +29,14 @@ public DefaultTestHostManagerTests()
this.mockProcessHelper = new Mock();
this.mockProcessHelper.Setup(ph => ph.GetCurrentProcessFileName()).Returns("vstest.console.exe");
- this.testHostManager = new DefaultTestHostManager(Architecture.X64, Framework.DefaultFramework, this.mockProcessHelper.Object);
+ this.testHostManager = new DefaultTestHostManager(Architecture.X64, Framework.DefaultFramework, this.mockProcessHelper.Object, true);
this.startInfo = this.testHostManager.GetTestHostProcessStartInfo(Enumerable.Empty(), null, default(TestRunnerConnectionInfo));
}
[TestMethod]
public void ConstructorShouldSetX86ProcessForX86Architecture()
{
- this.testHostManager = new DefaultTestHostManager(Architecture.X86, Framework.DefaultFramework, this.mockProcessHelper.Object);
+ this.testHostManager = new DefaultTestHostManager(Architecture.X86, Framework.DefaultFramework, this.mockProcessHelper.Object, true);
var info = this.testHostManager.GetTestHostProcessStartInfo(Enumerable.Empty(), null, default(TestRunnerConnectionInfo));
@@ -82,6 +83,21 @@ public void GetTestHostProcessStartInfoShouldIncludeCurrentWorkingDirectory()
Assert.AreEqual(Directory.GetCurrentDirectory(), this.startInfo.WorkingDirectory);
}
+ [TestMethod]
+ public void GetTestHostProcessStartInfoShouldIncludeTestSourcePathInArgumentsIfNonShared()
+ {
+ this.testHostManager = new DefaultTestHostManager(Architecture.X64, Framework.DefaultFramework, this.mockProcessHelper.Object, shared: false);
+ var connectionInfo = new TestRunnerConnectionInfo { Port = 123, RunnerProcessId = 101 };
+
+ var source = "C:\temp\a.dll";
+ var info = this.testHostManager.GetTestHostProcessStartInfo(
+ new List() { source },
+ null,
+ connectionInfo);
+
+ Assert.AreEqual(" --port 123 --parentprocessid 101 --testsourcepath " + "\"" + source + "\"", info.Arguments);
+ }
+
[TestMethod]
public void LaunchTestHostShouldReturnTestHostProcessId()
{
diff --git a/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/TestEngineTests.cs b/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/TestEngineTests.cs
index cf665cce73..488fdd9313 100644
--- a/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/TestEngineTests.cs
+++ b/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/TestEngineTests.cs
@@ -135,14 +135,16 @@ public void GetExtensionManagerShouldReturnANonNullInstance()
[TestMethod]
public void GetDefaultTestHostManagerReturnsANonNullInstance()
{
- Assert.IsNotNull(this.testEngine.GetDefaultTestHostManager(Architecture.X86, Framework.DefaultFramework));
+ var rc = new RunConfiguration() { TargetFrameworkVersion = Framework.DefaultFramework, TargetPlatform = Architecture.X86 };
+ Assert.IsNotNull(this.testEngine.GetDefaultTestHostManager(rc));
}
[TestMethod]
public void GetDefaultTestHostManagerReturnsANewInstanceEverytime()
{
- var instance1 = this.testEngine.GetDefaultTestHostManager(Architecture.X86, Framework.DefaultFramework);
- var instance2 = this.testEngine.GetDefaultTestHostManager(Architecture.X86, Framework.DefaultFramework);
+ var rc = new RunConfiguration() { TargetFrameworkVersion = Framework.DefaultFramework, TargetPlatform = Architecture.X86 };
+ var instance1 = this.testEngine.GetDefaultTestHostManager(rc);
+ var instance2 = this.testEngine.GetDefaultTestHostManager(rc);
Assert.AreNotEqual(instance1, instance2);
}
@@ -150,11 +152,32 @@ public void GetDefaultTestHostManagerReturnsANewInstanceEverytime()
[TestMethod]
public void GetDefaultTestHostManagerReturnsDotnetCoreHostManagerIfFrameworkIsNetCore()
{
- var testHostManager = this.testEngine.GetDefaultTestHostManager(
- Architecture.X64,
- Framework.FromString(".NETCoreApp,Version=v1.0"));
+ var rc = new RunConfiguration() { TargetFrameworkVersion = Framework.FromString(".NETCoreApp,Version=v1.0"), TargetPlatform = Architecture.X64 };
+ var testHostManager = this.testEngine.GetDefaultTestHostManager(rc);
Assert.AreEqual(typeof(DotnetTestHostManager), testHostManager.GetType());
}
+
+ [TestMethod]
+ public void GetDefaultTestHostManagerReturnsASharedManagerIfDisableAppDomainIsFalse()
+ {
+ var rc = new RunConfiguration() { TargetFrameworkVersion = Framework.FromString(".NETFramework,Version=v4.6"), TargetPlatform = Architecture.X86 };
+
+ var testHostManager = this.testEngine.GetDefaultTestHostManager(rc);
+ Assert.IsNotNull(testHostManager);
+
+ Assert.IsTrue(testHostManager.Shared, "Default TestHostManager must be shared if DisableAppDomain is false");
+ }
+
+ [TestMethod]
+ public void GetDefaultTestHostManagerReturnsANonSharedManagerIfDisableAppDomainIsFalse()
+ {
+ var rc = new RunConfiguration() { TargetFrameworkVersion = Framework.FromString(".NETFramework,Version=v4.6"), TargetPlatform = Architecture.X86, DisableAppDomain = true };
+
+ var testHostManager = this.testEngine.GetDefaultTestHostManager(rc);
+ Assert.IsNotNull(testHostManager);
+
+ Assert.IsFalse(testHostManager.Shared, "Default TestHostManager must NOT be shared if DisableAppDomain is true");
+ }
}
}
diff --git a/test/Microsoft.TestPlatform.Extensions.TrxLogger.UnitTests/TrxLoggerTests.cs b/test/Microsoft.TestPlatform.Extensions.TrxLogger.UnitTests/TrxLoggerTests.cs
index 260570c6ea..12f1674d2b 100644
--- a/test/Microsoft.TestPlatform.Extensions.TrxLogger.UnitTests/TrxLoggerTests.cs
+++ b/test/Microsoft.TestPlatform.Extensions.TrxLogger.UnitTests/TrxLoggerTests.cs
@@ -3,20 +3,25 @@
namespace Microsoft.TestPlatform.Extensions.TrxLogger.UnitTests
{
using System;
+ using System.Collections.Generic;
+ using System.Collections.ObjectModel;
+ using System.Globalization;
+ using System.Linq;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
using Microsoft.VisualStudio.TestPlatform.Extensions.TrxLogger;
- using VisualStudio.TestPlatform.ObjectModel.Client;
+ using Microsoft.VisualStudio.TestTools.UnitTesting;
+
using Moq;
- using System.Collections.Generic;
+
+ using Utility;
+
+ using VisualStudio.TestPlatform.ObjectModel;
+ using VisualStudio.TestPlatform.ObjectModel.Client;
using VisualStudio.TestPlatform.ObjectModel.Logging;
+
using ObjectModel = Microsoft.VisualStudio.TestPlatform.ObjectModel;
using TrxLoggerObjectModel = Microsoft.TestPlatform.Extensions.TrxLogger.ObjectModel;
- using System.Globalization;
- using VisualStudio.TestPlatform.ObjectModel;
- using System.Collections.ObjectModel;
- using Utility;
- using System.Linq;
+ using TrxLoggerResources = Microsoft.TestPlatform.Extensions.TrxLogger.Resources.TrxResource;
[TestClass]
public class TrxLoggerTests
@@ -209,7 +214,7 @@ public void TestResultHandlerLockingAMessageForSkipTest()
this.trxLogger.TestResultHandler(new object(), skip1.Object);
- string expectedMessage = String.Format(CultureInfo.CurrentCulture, TrxResource.MessageForSkippedTests, "Skip1");
+ string expectedMessage = String.Format(CultureInfo.CurrentCulture, TrxLoggerResources.MessageForSkippedTests, "Skip1");
Assert.AreEqual(String.Compare(this.trxLogger.GetRunLevelInformationalMessage(), expectedMessage, true), 0);
}
diff --git a/test/testhost.UnitTests/AppDomainEngineInvokerTests.cs b/test/testhost.UnitTests/AppDomainEngineInvokerTests.cs
new file mode 100644
index 0000000000..5fe14cfaf9
--- /dev/null
+++ b/test/testhost.UnitTests/AppDomainEngineInvokerTests.cs
@@ -0,0 +1,227 @@
+namespace testhost.UnitTests
+{
+#if NET46
+ using Microsoft.VisualStudio.TestPlatform.TestHost;
+ using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using System;
+ using System.IO;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Threading.Tasks;
+ using System.Xml.Linq;
+ using System.Text;
+
+ [TestClass]
+ public class AppDomainEngineInvokerTests
+ {
+ private const string XmlNamespace = "urn:schemas-microsoft-com:asm.v1";
+ private const string testHostConfigXml = @"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ";
+ [TestMethod]
+ public void AppDomainEngineInvokerShouldCreateNewAppDomain()
+ {
+ var tempFile = Path.GetTempFileName();
+ var appDomainInvoker = new TestableEngineInvoker(tempFile);
+
+ Assert.IsNotNull(appDomainInvoker.NewAppDomain, "New AppDomain must be created.");
+ Assert.IsNotNull(appDomainInvoker.ActualInvoker, "Invoker must be created.");
+ Assert.AreNotEqual(AppDomain.CurrentDomain.FriendlyName, appDomainInvoker.NewAppDomain.FriendlyName,
+ "New AppDomain must be different from default one.");
+ }
+
+ [TestMethod]
+ public void AppDomainEngineInvokerShouldInvokeEngineInNewDomainAndUseTestHostConfigFile()
+ {
+ var tempFile = Path.GetTempFileName();
+ var appDomainInvoker = new TestableEngineInvoker(tempFile);
+
+ var newAppDomain = appDomainInvoker.NewAppDomain;
+
+ Assert.IsNotNull(newAppDomain, "New AppDomain must be created.");
+ Assert.IsNotNull(appDomainInvoker.ActualInvoker, "Invoker must be created.");
+ Assert.AreNotEqual(AppDomain.CurrentDomain.FriendlyName,
+ (appDomainInvoker.ActualInvoker as MockEngineInvoker).DomainFriendlyName,
+ "Engine must be invoked in new domain.");
+
+ Assert.AreEqual(newAppDomain.SetupInformation.ConfigurationFile, AppDomain.CurrentDomain.SetupInformation.ConfigurationFile,
+ "TestHost config file must be used in the absence of user config file.");
+ }
+
+ [TestMethod]
+ public void AppDomainEngineInvokerShouldUseTestHostStartupConfigAndRuntimeAfterMerging()
+ {
+ string appConfig = @"
+
+
+
+
+ ";
+
+ var doc = TestableEngineInvoker.MergeConfigXmls(appConfig, testHostConfigXml);
+
+ var startupElements = doc.Descendants("startup");
+
+ Assert.AreEqual(1, startupElements.Count(), "Merged config must have only one 'startup' element");
+
+ var supportedRunTimeXml = startupElements.First().Descendants("supportedRuntime").FirstOrDefault()?.ToString();
+ Assert.AreEqual(supportedRunTimeXml, @"",
+ "TestHost Supported RunTime must be used on merging");
+
+ var runtimeEle = doc.Descendants("runtime").FirstOrDefault();
+ Assert.IsNotNull(runtimeEle, "Runtime element must be present");
+
+ var legacyUnhandledEleExpectedXml = @"";
+
+ Assert.AreEqual(legacyUnhandledEleExpectedXml, runtimeEle.Descendants("legacyUnhandledExceptionPolicy").First()?.ToString(),
+ "legacyUnhandledExceptionPolicy element must be of the TestHost one.");
+
+ Assert.IsFalse(runtimeEle.ToString().Contains("probing"), "Probing element of TestHost must not be present.");
+
+ var assemblyBindingXName = XName.Get("assemblyBinding", XmlNamespace);
+ var mergedDocAssemblyBindingNodes = runtimeEle.Descendants(assemblyBindingXName);
+ Assert.AreEqual(1, mergedDocAssemblyBindingNodes.Count(), "AssemblyRedirect of TestHost must be present.");
+
+ var dependentAssemblyXName = XName.Get("dependentAssembly", XmlNamespace);
+ var dependentAssemblyNodes = mergedDocAssemblyBindingNodes.First().Descendants(dependentAssemblyXName);
+ Assert.AreEqual(1, dependentAssemblyNodes.Count(), "AssemblyRedirect of TestHost must be present.");
+ Assert.IsTrue(dependentAssemblyNodes.First().ToString().Contains("Microsoft.VisualStudio.TestPlatform.ObjectModel"), "Correct AssemblyRedirect must be present.");
+
+ var diagEle = doc.Descendants("system.diagnostics").FirstOrDefault();
+ var appSettingsEle = doc.Descendants("appSettings").FirstOrDefault();
+
+ Assert.IsNull(diagEle, "No Diagnostics element must be present as user config does not have it.");
+ Assert.IsNull(appSettingsEle, "No AppSettings element must be present as user config does not have it.");
+ }
+
+ [TestMethod]
+ public void AppDomainEngineInvokerShouldOnlyMergeAssemblyRedirectionsFromTestHost()
+ {
+ string appConfig = @"
+
+
+
+
+
+
+
+
+
+
+ ";
+
+ var doc = TestableEngineInvoker.MergeConfigXmls(appConfig, testHostConfigXml);
+
+ var runtimeEle = doc.Descendants("runtime").FirstOrDefault();
+
+ Assert.AreEqual(0, runtimeEle.Descendants("legacyUnhandledExceptionPolicy").Count(), "legacyUnhandledExceptionPolicy element must NOT be present.");
+
+ var probingXName = XName.Get("probing", XmlNamespace);
+ var probingEleNodes = runtimeEle.Descendants(probingXName);
+ Assert.AreEqual(1, probingEleNodes.Count(), "Only one Probing element of UserConfig must be present.");
+ Assert.AreEqual(@"", probingEleNodes.First().ToString(), "Probing element must be correct.");
+
+ var assemblyBindingXName = XName.Get("assemblyBinding", XmlNamespace);
+ var mergedDocAssemblyBindingNodes = runtimeEle.Descendants(assemblyBindingXName);
+ Assert.AreEqual(1, mergedDocAssemblyBindingNodes.Count(), "AssemblyBinding Ele must be present.");
+
+ var dependentAssemblyXName = XName.Get("dependentAssembly", XmlNamespace);
+ var dependentAssemblyNodes = mergedDocAssemblyBindingNodes.First().Descendants(dependentAssemblyXName);
+ Assert.AreEqual(2, dependentAssemblyNodes.Count(), "AssemblyBinding of TestHost must be present.");
+
+ Assert.IsTrue(dependentAssemblyNodes.ElementAt(0).ToString().Contains("Microsoft.VisualStudio.UnitTests"), "First AssemblyRedirect must be of UserConfig.");
+ Assert.IsTrue(dependentAssemblyNodes.ElementAt(1).ToString().Contains("Microsoft.VisualStudio.TestPlatform.ObjectModel"), "Second AssemblyRedirect must be from TestHost Node.");
+
+ var diagEle = doc.Descendants("system.diagnostics").FirstOrDefault();
+ var appSettingsEle = doc.Descendants("appSettings").FirstOrDefault();
+
+ Assert.IsNull(diagEle, "No Diagnostics element must be present as user config does not have it.");
+ Assert.IsNull(appSettingsEle, "No AppSettings element must be present as user config does not have it.");
+ }
+
+ [TestMethod]
+ public void AppDomainEngineInvokerShouldUseDiagAndAppSettingsElementsUnMergedFromUserConfig()
+ {
+ string appConfig = @"
+
+
+
+
+
+
+
+
+
+ ";
+
+ var doc = TestableEngineInvoker.MergeConfigXmls(appConfig,testHostConfigXml);
+
+ var diagEle = doc.Descendants("system.diagnostics").FirstOrDefault();
+ var appSettingsEle = doc.Descendants("appSettings").FirstOrDefault();
+
+ Assert.IsNotNull(diagEle, "Diagnostics element must be retained from user config.");
+ Assert.IsNotNull(appSettingsEle, "AppSettings element must be retained from user config.");
+
+ var diagAddNodes = diagEle.Descendants("add");
+ Assert.AreEqual(1, diagAddNodes.Count(), "Only switches from user config should be present.");
+ Assert.AreEqual(@"", diagAddNodes.First().ToString(),
+ "Correct Switch must be merged.");
+
+ var appSettingsAddNodes = appSettingsEle.Descendants("add");
+ Assert.AreEqual(1, appSettingsAddNodes.Count(), "Only switches from user config should be present.");
+ Assert.AreEqual(@"", appSettingsAddNodes.First().ToString(),
+ "Correct Switch must be merged.");
+ }
+
+ private class TestableEngineInvoker : AppDomainEngineInvoker
+ {
+ public TestableEngineInvoker(string testSourcePath) : base(testSourcePath)
+ {
+ }
+
+ public static XDocument MergeConfigXmls(string userConfigText, string testHostConfigText)
+ {
+ return MergeApplicationConfigFiles(
+ XDocument.Load(new MemoryStream(Encoding.UTF8.GetBytes(userConfigText))),
+ XDocument.Load(new MemoryStream(Encoding.UTF8.GetBytes(testHostConfigText))));
+ }
+
+ public AppDomain NewAppDomain => this.appDomain;
+
+ public IEngineInvoker ActualInvoker => this.actualInvoker;
+ }
+
+ private class MockEngineInvoker : MarshalByRefObject, IEngineInvoker
+ {
+ public string DomainFriendlyName { get; private set; }
+
+ public void Invoke(IDictionary argsDictionary)
+ {
+ this.DomainFriendlyName = AppDomain.CurrentDomain.FriendlyName;
+ }
+ }
+ }
+#endif
+}
diff --git a/test/testhost.UnitTests/Properties/AssemblyInfo.cs b/test/testhost.UnitTests/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..8836e952e4
--- /dev/null
+++ b/test/testhost.UnitTests/Properties/AssemblyInfo.cs
@@ -0,0 +1,19 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("testhost.UnitTests")]
+[assembly: AssemblyTrademark("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("124dd88e-5283-4737-8395-d7c1facbfbb9")]
diff --git a/test/testhost.UnitTests/project.json b/test/testhost.UnitTests/project.json
new file mode 100644
index 0000000000..c929c7db79
--- /dev/null
+++ b/test/testhost.UnitTests/project.json
@@ -0,0 +1,47 @@
+{
+ "version": "15.0.0-*",
+
+ "buildOptions": {
+ "delaySign": true,
+ "keyFile": "../../scripts/key.snk",
+ "warningsAsErrors": true
+ },
+
+ "dependencies": {
+ "MSTest.TestFramework": "1.0.4-preview",
+ "MSTest.TestAdapter": {
+ "version": "1.1.3-preview",
+ "exclude": "compile"
+ },
+ "Moq": "4.6.36-*",
+ "testhost": "15.0.0-*"
+ },
+
+ "frameworks": {
+ "netcoreapp1.0": {
+ "imports": [
+ "dnxcore50",
+ "portable-net45+win8"
+ ],
+
+ "dependencies": {
+ "Microsoft.NETCore.App": {
+ "type": "platform",
+ "version": "1.0.0"
+ },
+ "dotnet-test-mstest": {
+ "version": "1.1.1-preview",
+ "exclude": "compile"
+ }
+ }
+ },
+
+ "net46": {
+ "frameworkAssemblies": {
+ "System.Runtime": ""
+ }
+ }
+ },
+
+ "testRunner": "mstest"
+}
diff --git a/test/testhost.UnitTests/testhost.UnitTests.xproj b/test/testhost.UnitTests/testhost.UnitTests.xproj
new file mode 100644
index 0000000000..5bf667458e
--- /dev/null
+++ b/test/testhost.UnitTests/testhost.UnitTests.xproj
@@ -0,0 +1,19 @@
+
+
+
+ 14.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+
+
+
+ 09599f77-a1f2-4366-bb8a-b4b90e05bcbc
+ testhost.UnitTests
+ ..\..\artifacts\obj\$(MSBuildProjectName)
+ ..\..\artifacts\
+ v4.5.2
+
+
+ 2.0
+
+
+
\ No newline at end of file
diff --git a/test/vstest.console.UnitTests/ExecutorUnitTests.cs b/test/vstest.console.UnitTests/ExecutorUnitTests.cs
index 63b272e0e5..9c3c0f363d 100644
--- a/test/vstest.console.UnitTests/ExecutorUnitTests.cs
+++ b/test/vstest.console.UnitTests/ExecutorUnitTests.cs
@@ -13,6 +13,8 @@ namespace Microsoft.VisualStudio.TestPlatform.CommandLine.UnitTests
using Utilities;
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
+
[TestClass]
public class ExecutorUnitTests
{
@@ -41,7 +43,7 @@ public void ExecutorPrintsSplashScreenTest()
// Just check first 20 characters - don't need to check whole thing as assembly version is variable
Assert.IsTrue(mockOutput.Messages.First().Message.Contains(
- Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.MicrosoftCommandLineTitle.Substring(0, 20)),
+ CommandLineResources.MicrosoftCommandLineTitle.Substring(0, 20)),
"First Printed message must be Microsoft Copyright");
}
diff --git a/test/vstest.console.UnitTests/Internal/ConsoleLoggerTests.cs b/test/vstest.console.UnitTests/Internal/ConsoleLoggerTests.cs
index 865d0755ca..cb68c49b56 100644
--- a/test/vstest.console.UnitTests/Internal/ConsoleLoggerTests.cs
+++ b/test/vstest.console.UnitTests/Internal/ConsoleLoggerTests.cs
@@ -2,21 +2,24 @@
namespace Microsoft.VisualStudio.TestPlatform.CommandLine.UnitTests.Internal
{
+ using System;
+ using System.Collections.Generic;
+ using System.Collections.ObjectModel;
+ using System.Globalization;
+ using System.Threading;
+
using Microsoft.VisualStudio.TestPlatform.CommandLine.Internal;
+ using Microsoft.VisualStudio.TestPlatform.CommandLine.UnitTests.Processors;
+ using Microsoft.VisualStudio.TestPlatform.Common.Logging;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
+ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
using Microsoft.VisualStudio.TestPlatform.Utilities;
using Microsoft.VisualStudio.TestTools.UnitTesting;
+
using Moq;
- using System;
- using System.Collections.Generic;
- using Microsoft.VisualStudio.TestPlatform.Common.Logging;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
- using Microsoft.VisualStudio.TestPlatform.CommandLine.UnitTests.Processors;
- using System.Threading;
- using Microsoft.VisualStudio.TestPlatform.ObjectModel;
- using System.Globalization;
- using System.Collections.ObjectModel;
- using Resources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources;
+
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
[TestClass]
public class ConsoleLoggerTests
@@ -102,12 +105,12 @@ public void TestResultHandlerShouldWriteToConsoleIfTestResultEventsAreRaised()
this.testRunRequest.Raise(m => m.OnRunStatsChange += null, eventArgs);
this.FlushLoggerMessages();
- this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.PassedTestIndicator, "TestName"), OutputLevel.Information), Times.Once());
- this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.FailedTestIndicator, "TestName"), OutputLevel.Information), Times.Once());
- this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.SkippedTestIndicator, "TestName"), OutputLevel.Information), Times.Once());
- this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.SkippedTestIndicator, "TestName"), OutputLevel.Information), Times.Once());
- this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.SkippedTestIndicator, "TestName"), OutputLevel.Information), Times.Once());
- this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.SkippedTestIndicator, "TestName"), OutputLevel.Information), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.PassedTestIndicator, "TestName"), OutputLevel.Information), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.FailedTestIndicator, "TestName"), OutputLevel.Information), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.SkippedTestIndicator, "TestName"), OutputLevel.Information), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.SkippedTestIndicator, "TestName"), OutputLevel.Information), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.SkippedTestIndicator, "TestName"), OutputLevel.Information), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.SkippedTestIndicator, "TestName"), OutputLevel.Information), Times.Once());
}
[TestMethod]
@@ -130,8 +133,8 @@ public void TestRunCompleteHandlerShouldWriteToConsoleIfTestsPass()
// Raise an event on mock object
this.testRunRequest.Raise(m => m.OnRunCompletion += null, new TestRunCompleteEventArgs(null, false, false, null, null, new TimeSpan(1, 0, 0, 0)));
- this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.TestRunSummary, 1, 1, 0, 0), OutputLevel.Information), Times.Once());
- this.mockOutput.Verify(o => o.WriteLine(Resources.TestRunSuccessful, OutputLevel.Information), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummary, 1, 1, 0, 0), OutputLevel.Information), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(CommandLineResources.TestRunSuccessful, OutputLevel.Information), Times.Once());
}
[TestMethod]
@@ -144,8 +147,8 @@ public void TestRunCompleteHandlerShouldWriteToConsoleIfTestsFail()
// Raise an event on mock object
this.testRunRequest.Raise(m => m.OnRunCompletion += null, new TestRunCompleteEventArgs(null, false, false, null, null, new TimeSpan(1, 0, 0, 0)));
- this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.TestRunSummary, 1, 0, 1, 0), OutputLevel.Information), Times.Once());
- this.mockOutput.Verify(o => o.WriteLine(Resources.TestRunFailed, OutputLevel.Error), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummary, 1, 0, 1, 0), OutputLevel.Information), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(CommandLineResources.TestRunFailed, OutputLevel.Error), Times.Once());
}
[TestMethod]
@@ -162,10 +165,10 @@ public void PrintTimeHandlerShouldPrintElapsedTimeOnConsole()
this.testRunRequest.Raise(m => m.OnRunCompletion += null, new TestRunCompleteEventArgs(null, false, false, null, null, new TimeSpan(0, 0, 0, 1)));
// Verify PrintTimeSpan with different formats
- this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.ExecutionTimeFormatString, 1, Resources.Days), OutputLevel.Information), Times.Once());
- this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.ExecutionTimeFormatString, 1, Resources.Hours), OutputLevel.Information), Times.Once());
- this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.ExecutionTimeFormatString, 1, Resources.Minutes), OutputLevel.Information), Times.Once());
- this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.ExecutionTimeFormatString, 1, Resources.Seconds), OutputLevel.Information), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.ExecutionTimeFormatString, 1, CommandLineResources.Days), OutputLevel.Information), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.ExecutionTimeFormatString, 1, CommandLineResources.Hours), OutputLevel.Information), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.ExecutionTimeFormatString, 1, CommandLineResources.Minutes), OutputLevel.Information), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.ExecutionTimeFormatString, 1, CommandLineResources.Seconds), OutputLevel.Information), Times.Once());
}
[TestMethod]
@@ -181,10 +184,10 @@ public void DisplayFullInformationShouldWriteErrorMessageAndStackTraceToConsole(
this.testRunRequest.Raise(m => m.OnRunStatsChange += null, eventArgs);
this.FlushLoggerMessages();
- this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, "{0}{1}", Resources.TestMessageFormattingPrefix, "ErrorMessage"), OutputLevel.Error), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, "{0}{1}", CommandLineResources.TestMessageFormattingPrefix, "ErrorMessage"), OutputLevel.Error), Times.Once());
this.mockOutput.Verify(o => o.Write(string.Format(CultureInfo.CurrentCulture, "{0}", "ErrorStackTrace"), OutputLevel.Error), Times.Once());
- this.mockOutput.Verify(o => o.WriteLine(Resources.ErrorMessageBanner, OutputLevel.Error), Times.Once());
- this.mockOutput.Verify(o => o.WriteLine(Resources.StacktraceBanner, OutputLevel.Error), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(CommandLineResources.ErrorMessageBanner, OutputLevel.Error), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(CommandLineResources.StacktraceBanner, OutputLevel.Error), Times.Once());
}
[TestMethod]
@@ -208,13 +211,13 @@ public void GetTestMessagesShouldWriteMessageAndStackTraceToConsole()
// Added this for synchronization
SpinWait.SpinUntil(() => count == 3, 300);
- this.mockOutput.Verify(o => o.WriteLine(Resources.StdOutMessagesBanner, OutputLevel.Information), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(CommandLineResources.StdOutMessagesBanner, OutputLevel.Information), Times.Once());
this.mockOutput.Verify(o => o.Write(" StandardOutCategory", OutputLevel.Information), Times.Once());
- this.mockOutput.Verify(o => o.WriteLine(Resources.StdErrMessagesBanner, OutputLevel.Error), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(CommandLineResources.StdErrMessagesBanner, OutputLevel.Error), Times.Once());
this.mockOutput.Verify(o => o.Write(" StandardErrorCategory", OutputLevel.Error), Times.Once());
- this.mockOutput.Verify(o => o.WriteLine(Resources.AddnlInfoMessagesBanner, OutputLevel.Information), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(CommandLineResources.AddnlInfoMessagesBanner, OutputLevel.Information), Times.Once());
this.mockOutput.Verify(o => o.Write(" AdditionalInfoCategory AnotherAdditionalInfoCategory", OutputLevel.Information), Times.Once());
}
@@ -233,8 +236,8 @@ public void AttachmentInformationShouldBeWrittenToConsoleIfAttachmentsArePresent
// Raise an event on mock object raised to register test case count and mark Outcome as Outcome.Failed
this.testRunRequest.Raise(m => m.OnRunCompletion += null, testRunCompleteEventArgs);
- this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.AttachmentOutputFormat, uriDataAttachment.Uri.LocalPath), OutputLevel.Information), Times.Once());
- this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, Resources.AttachmentOutputFormat, uriDataAttachment1.Uri.LocalPath), OutputLevel.Information), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.AttachmentOutputFormat, uriDataAttachment.Uri.LocalPath), OutputLevel.Information), Times.Once());
+ this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.AttachmentOutputFormat, uriDataAttachment1.Uri.LocalPath), OutputLevel.Information), Times.Once());
}
///
diff --git a/test/vstest.console.UnitTests/Processors/EnableDiagArgumentProcessorTests.cs b/test/vstest.console.UnitTests/Processors/EnableDiagArgumentProcessorTests.cs
index 9e7b8e43c8..42adacbcc6 100644
--- a/test/vstest.console.UnitTests/Processors/EnableDiagArgumentProcessorTests.cs
+++ b/test/vstest.console.UnitTests/Processors/EnableDiagArgumentProcessorTests.cs
@@ -12,7 +12,7 @@ namespace Microsoft.VisualStudio.TestPlatform.CommandLine.UnitTests.Processors
using Moq;
- using Resources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources;
+ using CommandLineResources = Microsoft.VisualStudio.TestPlatform.CommandLine.Resources.Resources;
[TestClass]
public class EnableDiagArgumentProcessorTests
@@ -40,7 +40,7 @@ public void EnableDiagArgumentProcessorMetadataShouldProvideAppropriateCapabilit
Assert.AreEqual(null, this.diagProcessor.Metadata.Value.ShortCommandName);
Assert.AreEqual(ArgumentProcessorPriority.Diag, this.diagProcessor.Metadata.Value.Priority);
Assert.AreEqual(HelpContentPriority.EnableDiagArgumentProcessorHelpPriority, this.diagProcessor.Metadata.Value.HelpPriority);
- Assert.AreEqual(Resources.EnableDiagUsage, this.diagProcessor.Metadata.Value.HelpContentResourceName);
+ Assert.AreEqual(CommandLineResources.EnableDiagUsage, this.diagProcessor.Metadata.Value.HelpContentResourceName);
}
[TestMethod]