diff --git a/Microsoft.ML.sln b/Microsoft.ML.sln
index 5e81a5f3b0..2137c9eb15 100644
--- a/Microsoft.ML.sln
+++ b/Microsoft.ML.sln
@@ -170,6 +170,10 @@ Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Microsoft.ML.FSharp.Tests",
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Data.Analysis.PerformanceTests", "test\Microsoft.Data.Analysis.PerformanceTests\Microsoft.Data.Analysis.PerformanceTests.csproj", "{FB8A8823-CC6C-4C2F-8539-05FBFB7C91CD}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.ML.TorchSharp.Tests", "test\Microsoft.ML.TorchSharp.Tests\Microsoft.ML.TorchSharp.Tests.csproj", "{AB8D68F1-6C3E-41FD-B0EC-A093E009341D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.ML.TensorFlow.Tests", "test\Microsoft.ML.TensorFlow.Tests\Microsoft.ML.TensorFlow.Tests.csproj", "{763FF013-8309-4680-A769-B54E7BB99612}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -798,6 +802,22 @@ Global
{FB8A8823-CC6C-4C2F-8539-05FBFB7C91CD}.Release|Any CPU.Build.0 = Release|Any CPU
{FB8A8823-CC6C-4C2F-8539-05FBFB7C91CD}.Release|x64.ActiveCfg = Release|Any CPU
{FB8A8823-CC6C-4C2F-8539-05FBFB7C91CD}.Release|x64.Build.0 = Release|Any CPU
+ {AB8D68F1-6C3E-41FD-B0EC-A093E009341D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AB8D68F1-6C3E-41FD-B0EC-A093E009341D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AB8D68F1-6C3E-41FD-B0EC-A093E009341D}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {AB8D68F1-6C3E-41FD-B0EC-A093E009341D}.Debug|x64.Build.0 = Debug|Any CPU
+ {AB8D68F1-6C3E-41FD-B0EC-A093E009341D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AB8D68F1-6C3E-41FD-B0EC-A093E009341D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AB8D68F1-6C3E-41FD-B0EC-A093E009341D}.Release|x64.ActiveCfg = Release|Any CPU
+ {AB8D68F1-6C3E-41FD-B0EC-A093E009341D}.Release|x64.Build.0 = Release|Any CPU
+ {763FF013-8309-4680-A769-B54E7BB99612}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {763FF013-8309-4680-A769-B54E7BB99612}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {763FF013-8309-4680-A769-B54E7BB99612}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {763FF013-8309-4680-A769-B54E7BB99612}.Debug|x64.Build.0 = Debug|Any CPU
+ {763FF013-8309-4680-A769-B54E7BB99612}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {763FF013-8309-4680-A769-B54E7BB99612}.Release|Any CPU.Build.0 = Release|Any CPU
+ {763FF013-8309-4680-A769-B54E7BB99612}.Release|x64.ActiveCfg = Release|Any CPU
+ {763FF013-8309-4680-A769-B54E7BB99612}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -881,6 +901,8 @@ Global
{C3D82402-F207-4F19-8C57-5AF0FBAF9682} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4}
{041CB5CD-5832-413E-A894-D9DBED210B16} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4}
{FB8A8823-CC6C-4C2F-8539-05FBFB7C91CD} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4}
+ {AB8D68F1-6C3E-41FD-B0EC-A093E009341D} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4}
+ {763FF013-8309-4680-A769-B54E7BB99612} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {41165AF1-35BB-4832-A189-73060F82B01D}
diff --git a/eng/helix.proj b/eng/helix.proj
index 473774667d..4c5de6b839 100644
--- a/eng/helix.proj
+++ b/eng/helix.proj
@@ -70,6 +70,8 @@
+
+
diff --git a/src/Microsoft.ML.Core/Properties/AssemblyInfo.cs b/src/Microsoft.ML.Core/Properties/AssemblyInfo.cs
index 433ad2fa1c..68b9250eeb 100644
--- a/src/Microsoft.ML.Core/Properties/AssemblyInfo.cs
+++ b/src/Microsoft.ML.Core/Properties/AssemblyInfo.cs
@@ -14,6 +14,8 @@
[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.OnnxTransformerTest" + PublicKey.Value)]
[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.AutoML.Tests" + PublicKey.Value)]
[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.PerformanceTests" + PublicKey.Value)]
+[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.TorchSharp.Tests" + PublicKey.TestValue)]
+[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.TensorFlow.Tests" + PublicKey.TestValue)]
[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.EntryPoints" + PublicKey.Value)]
[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.Maml" + PublicKey.Value)]
diff --git a/src/Microsoft.ML.Data/Properties/AssemblyInfo.cs b/src/Microsoft.ML.Data/Properties/AssemblyInfo.cs
index c0b9e1782c..12c25255d5 100644
--- a/src/Microsoft.ML.Data/Properties/AssemblyInfo.cs
+++ b/src/Microsoft.ML.Data/Properties/AssemblyInfo.cs
@@ -14,6 +14,8 @@
[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.TimeSeries.Tests" + PublicKey.Value)]
[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.PerformanceTests" + PublicKey.Value)]
[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.AutoML.Tests" + PublicKey.Value)]
+[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.TorchSharp.Tests" + PublicKey.TestValue)]
+[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.TensorFlow.Tests" + PublicKey.TestValue)]
[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.PerformanceTests" + PublicKey.Value)]
[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.EntryPoints" + PublicKey.Value)]
diff --git a/src/Microsoft.ML.ImageAnalytics/Properties/AssemblyInfo.cs b/src/Microsoft.ML.ImageAnalytics/Properties/AssemblyInfo.cs
index 3f769a0e11..8dd51f9671 100644
--- a/src/Microsoft.ML.ImageAnalytics/Properties/AssemblyInfo.cs
+++ b/src/Microsoft.ML.ImageAnalytics/Properties/AssemblyInfo.cs
@@ -6,5 +6,6 @@
using Microsoft.ML;
[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.Tests" + PublicKey.TestValue)]
+[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.TensorFlow.Tests" + PublicKey.TestValue)]
[assembly: WantsToBeBestFriends]
diff --git a/src/Microsoft.ML.TensorFlow/Properties/AssemblyInfo.cs b/src/Microsoft.ML.TensorFlow/Properties/AssemblyInfo.cs
index 765fc88d8f..b3954bc10e 100644
--- a/src/Microsoft.ML.TensorFlow/Properties/AssemblyInfo.cs
+++ b/src/Microsoft.ML.TensorFlow/Properties/AssemblyInfo.cs
@@ -5,5 +5,5 @@
using System.Runtime.CompilerServices;
using Microsoft.ML;
-[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.Tests" + PublicKey.TestValue)]
+[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.TensorFlow.Tests" + PublicKey.TestValue)]
[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.Vision" + PublicKey.Value)]
diff --git a/src/Microsoft.ML.Transforms/Properties/AssemblyInfo.cs b/src/Microsoft.ML.Transforms/Properties/AssemblyInfo.cs
index 5468600d22..012d0eaf64 100644
--- a/src/Microsoft.ML.Transforms/Properties/AssemblyInfo.cs
+++ b/src/Microsoft.ML.Transforms/Properties/AssemblyInfo.cs
@@ -7,6 +7,7 @@
[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.Ensemble" + PublicKey.Value)]
[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.Core.Tests" + PublicKey.TestValue)]
+[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.TensorFlow.Tests" + PublicKey.TestValue)]
[assembly: InternalsVisibleTo(assemblyName: "RunTests" + InternalPublicKey.Value)]
[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.EntryPoints" + PublicKey.Value)]
diff --git a/src/Microsoft.ML.Vision/Properties/AssemblyInfo.cs b/src/Microsoft.ML.Vision/Properties/AssemblyInfo.cs
index db4c6427b6..cd8cb8383a 100644
--- a/src/Microsoft.ML.Vision/Properties/AssemblyInfo.cs
+++ b/src/Microsoft.ML.Vision/Properties/AssemblyInfo.cs
@@ -6,3 +6,4 @@
using Microsoft.ML;
[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.Tests" + PublicKey.TestValue)]
+[assembly: InternalsVisibleTo(assemblyName: "Microsoft.ML.TensorFlow.Tests" + PublicKey.TestValue)]
diff --git a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj
index 39073412f3..dff9aea4b5 100644
--- a/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj
+++ b/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj
@@ -1,7 +1,5 @@
- $(NoWarn)
-
None
diff --git a/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj b/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj
index dd988c14fe..8e328c997c 100644
--- a/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj
+++ b/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj
@@ -1,7 +1,6 @@
- $(NoWarn)
None
diff --git a/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj b/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj
index 475eb5dbb1..20c173c8d7 100644
--- a/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj
+++ b/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj
@@ -4,7 +4,6 @@
Test
10.0
- $(NoWarn)
None
@@ -37,6 +36,7 @@
+
diff --git a/test/Microsoft.ML.Core.Tests/UnitTests/TestResourceDownload.cs b/test/Microsoft.ML.Core.Tests/UnitTests/TestResourceDownload.cs
index a473abd265..e3a2f6b49e 100644
--- a/test/Microsoft.ML.Core.Tests/UnitTests/TestResourceDownload.cs
+++ b/test/Microsoft.ML.Core.Tests/UnitTests/TestResourceDownload.cs
@@ -14,8 +14,6 @@
using Xunit;
using Xunit.Abstractions;
-[assembly: CollectionBehavior(DisableTestParallelization = true)]
-
namespace Microsoft.ML.Core.Tests.UnitTests
{
public class TestResourceDownload : BaseTestBaseline
diff --git a/test/Microsoft.ML.TensorFlow.Tests/Microsoft.ML.TensorFlow.Tests.csproj b/test/Microsoft.ML.TensorFlow.Tests/Microsoft.ML.TensorFlow.Tests.csproj
new file mode 100644
index 0000000000..30b85c955e
--- /dev/null
+++ b/test/Microsoft.ML.TensorFlow.Tests/Microsoft.ML.TensorFlow.Tests.csproj
@@ -0,0 +1,31 @@
+
+
+ Microsoft.ML.TensorFlow.Tests
+ Test
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/Microsoft.ML.Tests/TensorFlowEstimatorTests.cs b/test/Microsoft.ML.TensorFlow.Tests/TensorFlowEstimatorTests.cs
similarity index 100%
rename from test/Microsoft.ML.Tests/TensorFlowEstimatorTests.cs
rename to test/Microsoft.ML.TensorFlow.Tests/TensorFlowEstimatorTests.cs
diff --git a/test/Microsoft.ML.Tests/ScenariosWithDirectInstantiation/TensorflowTests.cs b/test/Microsoft.ML.TensorFlow.Tests/TensorflowTests.cs
similarity index 100%
rename from test/Microsoft.ML.Tests/ScenariosWithDirectInstantiation/TensorflowTests.cs
rename to test/Microsoft.ML.TensorFlow.Tests/TensorflowTests.cs
diff --git a/test/Microsoft.ML.Tests/DatabaseLoaderTests.cs b/test/Microsoft.ML.Tests/DatabaseLoaderTests.cs
index 4f7ebef980..2c9b9ee010 100644
--- a/test/Microsoft.ML.Tests/DatabaseLoaderTests.cs
+++ b/test/Microsoft.ML.Tests/DatabaseLoaderTests.cs
@@ -233,6 +233,14 @@ public void TestLoadDatetimeColumnWithNullValue()
connection.Open();
using (var command = new SQLiteCommand(connection))
{
+ // Make sure the table doesn't exist.
+ command.CommandText = """
+ BEGIN;
+ DROP TABLE IF EXISTS Datetime;
+ COMMIT;
+ """;
+ command.ExecuteNonQuery();
+
command.CommandText = """
BEGIN;
CREATE TABLE IF NOT EXISTS Datetime (datetime Datetime NULL);
diff --git a/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj b/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj
index b74a92f484..57b7dd3331 100644
--- a/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj
+++ b/test/Microsoft.ML.Tests/Microsoft.ML.Tests.csproj
@@ -4,10 +4,7 @@
Microsoft.ML.Tests
true
Test
- $(NoWarn)
-
- None
@@ -16,7 +13,6 @@
-
@@ -32,21 +28,12 @@
-
-
-
-
-
-
-
-
-
@@ -60,16 +47,13 @@
-
-
-
@@ -78,13 +62,6 @@
-
-
-
-
-
-
-
diff --git a/test/Microsoft.ML.TorchSharp.Tests/Microsoft.ML.TorchSharp.Tests.csproj b/test/Microsoft.ML.TorchSharp.Tests/Microsoft.ML.TorchSharp.Tests.csproj
new file mode 100644
index 0000000000..32d6552e6d
--- /dev/null
+++ b/test/Microsoft.ML.TorchSharp.Tests/Microsoft.ML.TorchSharp.Tests.csproj
@@ -0,0 +1,39 @@
+
+
+ Microsoft.ML.TorchSharp.Tests
+ Test
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/Microsoft.ML.Tests/NerTests.cs b/test/Microsoft.ML.TorchSharp.Tests/NerTests.cs
similarity index 100%
rename from test/Microsoft.ML.Tests/NerTests.cs
rename to test/Microsoft.ML.TorchSharp.Tests/NerTests.cs
diff --git a/test/Microsoft.ML.Tests/ObjectDetectionTests.cs b/test/Microsoft.ML.TorchSharp.Tests/ObjectDetectionTests.cs
similarity index 100%
rename from test/Microsoft.ML.Tests/ObjectDetectionTests.cs
rename to test/Microsoft.ML.TorchSharp.Tests/ObjectDetectionTests.cs
diff --git a/test/Microsoft.ML.Tests/QATests.cs b/test/Microsoft.ML.TorchSharp.Tests/QATests.cs
similarity index 94%
rename from test/Microsoft.ML.Tests/QATests.cs
rename to test/Microsoft.ML.TorchSharp.Tests/QATests.cs
index 49f5d0a683..8684ce0a9d 100644
--- a/test/Microsoft.ML.Tests/QATests.cs
+++ b/test/Microsoft.ML.TorchSharp.Tests/QATests.cs
@@ -4,24 +4,11 @@
using System;
using System.Collections.Generic;
-using System.Data;
-using System.Diagnostics;
-using System.Linq;
-using System.Text;
-using Apache.Arrow;
-using ICSharpCode.SharpZipLib.Tar;
-using Microsoft.Data.Analysis;
using Microsoft.ML.Data;
using Microsoft.ML.RunTests;
-using Microsoft.ML.Runtime;
-using Microsoft.ML.TestFramework.Attributes;
using Microsoft.ML.TorchSharp;
-using Microsoft.ML.TorchSharp.NasBert;
-using TorchSharp;
-using TorchSharp.Modules;
using Xunit;
using Xunit.Abstractions;
-using static TorchSharp.torch.utils;
namespace Microsoft.ML.Tests
{
diff --git a/test/Microsoft.ML.Tests/TextClassificationTests.cs b/test/Microsoft.ML.TorchSharp.Tests/TextClassificationTests.cs
similarity index 100%
rename from test/Microsoft.ML.Tests/TextClassificationTests.cs
rename to test/Microsoft.ML.TorchSharp.Tests/TextClassificationTests.cs