diff --git a/Cosmos.sln b/Cosmos.sln
index 01088eed9..a238f3ff0 100644
--- a/Cosmos.sln
+++ b/Cosmos.sln
@@ -100,7 +100,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlaygroundSystem", "Users\M
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlaygroundHAL", "Users\Matthijs\PlaygroundHAL\PlaygroundHAL.csproj", "{E978986A-8160-4979-919E-F099A43EF146}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cosmos.Compiler.TestsBase", "Tests\Cosmos.Compiler.TestsBase\Cosmos.Compiler.TestsBase.csproj", "{C264460F-C9C8-41C3-8C26-9BDF4710744C}"
+Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Cosmos.Compiler.TestsBase", "Tests\Cosmos.Compiler.TestsBase\Cosmos.Compiler.TestsBase.xproj", "{C264460F-C9C8-41C3-8C26-9BDF4710744C}"
EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Cosmos.Compiler.Tests.SimpleWriteLine", "Tests\Cosmos.Compiler.Tests.SimpleWriteLine\Cosmos.Compiler.Tests.SimpleWriteLine.xproj", "{57045FE8-B0FE-4FC1-810F-7C3914AEF1DE}"
EndProject
@@ -195,7 +195,7 @@ Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Cosmos.Compiler.Tests.Metho
EndProject
Project("{471EC4BB-E47E-4229-A789-D1F5F83B52D4}") = "Cosmos.Compiler.Tests.MethodTestsBoot", "Tests\Cosmos.Compiler.Tests.MethodTests\Cosmos.Compiler.Tests.MethodTestsBoot.Cosmos", "{0FEE977D-AE52-4381-B513-71C5C1982ED4}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cosmos.Core.Memory.Test", "Tests\Cosmos.Core.Memory.Test\Cosmos.Core.Memory.Test.csproj", "{901EA2C4-5E9C-44E8-B6D2-3B23DEE6D61B}"
+Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Cosmos.TestRunner.UnitTest", "Tests\Cosmos.TestRunner.UnitTest\Cosmos.TestRunner.UnitTest.xproj", "{901EA2C4-5E9C-44E8-B6D2-3B23DEE6D61B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ZMachine", "ZMachine", "{0CB537D9-19BB-4185-9E9A-E1305F100B54}"
EndProject
@@ -326,6 +326,8 @@ Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Cosmos.Debug.Hosts", "sourc
EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "NASM", "source\NASM\NASM.xproj", "{1026BB74-575C-4A96-B36C-56E53914BE4D}"
EndProject
+Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Cosmos.Core.Memory.Test", "Tests\Cosmos.Core.Memory.Test\Cosmos.Core.Memory.Test.xproj", "{8332F402-5438-49E4-8B62-E67F2F0CB375}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -385,11 +387,9 @@ Global
{841A734E-9606-4AAB-9C4A-74E7E303FF5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{841A734E-9606-4AAB-9C4A-74E7E303FF5D}.Release|Any CPU.Build.0 = Release|Any CPU
{44604DA8-CABD-4CBC-AA9A-258AC59F03AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {44604DA8-CABD-4CBC-AA9A-258AC59F03AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{44604DA8-CABD-4CBC-AA9A-258AC59F03AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{44604DA8-CABD-4CBC-AA9A-258AC59F03AD}.Release|Any CPU.Build.0 = Release|Any CPU
{3720749F-1519-4A35-B944-FF05AD01F8DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3720749F-1519-4A35-B944-FF05AD01F8DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3720749F-1519-4A35-B944-FF05AD01F8DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3720749F-1519-4A35-B944-FF05AD01F8DC}.Release|Any CPU.Build.0 = Release|Any CPU
{91CBD640-C07D-4556-B4CB-6F8CD88C67C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -411,9 +411,8 @@ Global
{E978986A-8160-4979-919E-F099A43EF146}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E978986A-8160-4979-919E-F099A43EF146}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{C264460F-C9C8-41C3-8C26-9BDF4710744C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C264460F-C9C8-41C3-8C26-9BDF4710744C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C264460F-C9C8-41C3-8C26-9BDF4710744C}.Release|Any CPU.ActiveCfg = Debug|Any CPU
- {C264460F-C9C8-41C3-8C26-9BDF4710744C}.Release|Any CPU.Build.0 = Debug|Any CPU
+ {C264460F-C9C8-41C3-8C26-9BDF4710744C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C264460F-C9C8-41C3-8C26-9BDF4710744C}.Release|Any CPU.Build.0 = Release|Any CPU
{57045FE8-B0FE-4FC1-810F-7C3914AEF1DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{57045FE8-B0FE-4FC1-810F-7C3914AEF1DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{57045FE8-B0FE-4FC1-810F-7C3914AEF1DE}.Release|Any CPU.ActiveCfg = Debug|Any CPU
@@ -437,7 +436,6 @@ Global
{AB869246-4887-4117-851D-766EB9FF1E29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AB869246-4887-4117-851D-766EB9FF1E29}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{0D2DCE1C-2A34-4CFF-9A33-E9D9B8518D50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0D2DCE1C-2A34-4CFF-9A33-E9D9B8518D50}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0D2DCE1C-2A34-4CFF-9A33-E9D9B8518D50}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{0D2DCE1C-2A34-4CFF-9A33-E9D9B8518D50}.Release|Any CPU.Build.0 = Debug|Any CPU
{EBEAE8DF-31D3-41FF-8BEC-310ABD9B1452}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -538,10 +536,9 @@ Global
{0FEE977D-AE52-4381-B513-71C5C1982ED4}.Release|Any CPU.Build.0 = Debug|x86
{901EA2C4-5E9C-44E8-B6D2-3B23DEE6D61B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{901EA2C4-5E9C-44E8-B6D2-3B23DEE6D61B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {901EA2C4-5E9C-44E8-B6D2-3B23DEE6D61B}.Release|Any CPU.ActiveCfg = Debug|Any CPU
- {901EA2C4-5E9C-44E8-B6D2-3B23DEE6D61B}.Release|Any CPU.Build.0 = Debug|Any CPU
+ {901EA2C4-5E9C-44E8-B6D2-3B23DEE6D61B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {901EA2C4-5E9C-44E8-B6D2-3B23DEE6D61B}.Release|Any CPU.Build.0 = Release|Any CPU
{C18A7CF8-3205-48A8-95C9-08C780A0D51D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C18A7CF8-3205-48A8-95C9-08C780A0D51D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C18A7CF8-3205-48A8-95C9-08C780A0D51D}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{C18A7CF8-3205-48A8-95C9-08C780A0D51D}.Release|Any CPU.Build.0 = Debug|Any CPU
{511C4498-E62A-4FF2-94BA-472CF448B39B}.Debug|Any CPU.ActiveCfg = Debug|x86
@@ -575,7 +572,6 @@ Global
{BD054B3B-D183-4C19-BBD3-E853B736818A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BD054B3B-D183-4C19-BBD3-E853B736818A}.Release|Any CPU.Build.0 = Release|Any CPU
{6BAD532A-7DD4-4BAC-834A-10BA6497E19D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6BAD532A-7DD4-4BAC-834A-10BA6497E19D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6BAD532A-7DD4-4BAC-834A-10BA6497E19D}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{6BAD532A-7DD4-4BAC-834A-10BA6497E19D}.Release|Any CPU.Build.0 = Debug|Any CPU
{AAA0328F-60E1-442D-B949-A13DD34BD0AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -583,11 +579,9 @@ Global
{AAA0328F-60E1-442D-B949-A13DD34BD0AD}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{AAA0328F-60E1-442D-B949-A13DD34BD0AD}.Release|Any CPU.Build.0 = Debug|Any CPU
{EA63FDF9-057F-4E67-9060-74F4E7A09AE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {EA63FDF9-057F-4E67-9060-74F4E7A09AE0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EA63FDF9-057F-4E67-9060-74F4E7A09AE0}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{EA63FDF9-057F-4E67-9060-74F4E7A09AE0}.Release|Any CPU.Build.0 = Debug|Any CPU
{2A59517C-356E-4B55-B155-50335BF482FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2A59517C-356E-4B55-B155-50335BF482FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2A59517C-356E-4B55-B155-50335BF482FB}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{2A59517C-356E-4B55-B155-50335BF482FB}.Release|Any CPU.Build.0 = Debug|Any CPU
{1780684C-6B7F-4360-81C0-69204E343A08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -730,6 +724,10 @@ Global
{1026BB74-575C-4A96-B36C-56E53914BE4D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1026BB74-575C-4A96-B36C-56E53914BE4D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1026BB74-575C-4A96-B36C-56E53914BE4D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8332F402-5438-49E4-8B62-E67F2F0CB375}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8332F402-5438-49E4-8B62-E67F2F0CB375}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8332F402-5438-49E4-8B62-E67F2F0CB375}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8332F402-5438-49E4-8B62-E67F2F0CB375}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -802,7 +800,7 @@ Global
{C1D525C4-B072-4F2F-94BF-4862E6727C4B} = {9637A680-F8E9-4925-A4E4-00045205EC04}
{FE8B9F39-7C96-4866-9A18-386735895CEE} = {F104F6BC-EF8E-4408-A786-D570D7565231}
{0FEE977D-AE52-4381-B513-71C5C1982ED4} = {F104F6BC-EF8E-4408-A786-D570D7565231}
- {901EA2C4-5E9C-44E8-B6D2-3B23DEE6D61B} = {9637A680-F8E9-4925-A4E4-00045205EC04}
+ {901EA2C4-5E9C-44E8-B6D2-3B23DEE6D61B} = {79173AE7-4596-4D33-866F-6F94A2314BE8}
{0CB537D9-19BB-4185-9E9A-E1305F100B54} = {1698DD83-72A3-44CD-B088-4320A4014A95}
{C18A7CF8-3205-48A8-95C9-08C780A0D51D} = {0CB537D9-19BB-4185-9E9A-E1305F100B54}
{511C4498-E62A-4FF2-94BA-472CF448B39B} = {0CB537D9-19BB-4185-9E9A-E1305F100B54}
@@ -861,5 +859,6 @@ Global
{FDA5D609-B634-4C02-89A6-74E68D9B2EBA} = {72617CB8-C572-4F39-A815-A2F6C21F4889}
{24AB9FAE-4021-4D76-99D3-07A3971DDBB7} = {36BC87BD-FAE2-4017-844A-17F440D9657F}
{1026BB74-575C-4A96-B36C-56E53914BE4D} = {D95021E1-A2C9-4829-819E-ED433AF13162}
+ {8332F402-5438-49E4-8B62-E67F2F0CB375} = {9637A680-F8E9-4925-A4E4-00045205EC04}
EndGlobalSection
EndGlobal
diff --git a/Tests/Cosmos.Compiler.Tests/Cosmos.Compiler.Tests.csproj b/Tests/Cosmos.Compiler.Tests/Cosmos.Compiler.Tests.csproj
index a5b670ad1..1d30c8584 100644
--- a/Tests/Cosmos.Compiler.Tests/Cosmos.Compiler.Tests.csproj
+++ b/Tests/Cosmos.Compiler.Tests/Cosmos.Compiler.Tests.csproj
@@ -75,7 +75,7 @@
true
- Cosmos.snk
+ ..\..\Cosmos.snk
@@ -108,14 +108,12 @@
{57045fe8-b0fe-4fc1-810f-7c3914aef1de}
Cosmos.Compiler.Tests.SimpleWriteLine
-
- {C264460F-C9C8-41C3-8C26-9BDF4710744C}
- Cosmos.Compiler.TestsBase
-
+
+ Cosmos.snk
+
-
diff --git a/Tests/Cosmos.Compiler.TestsBase/Cosmos.Compiler.TestsBase.csproj b/Tests/Cosmos.Compiler.TestsBase/Cosmos.Compiler.TestsBase.csproj
deleted file mode 100644
index 4c3f7346b..000000000
--- a/Tests/Cosmos.Compiler.TestsBase/Cosmos.Compiler.TestsBase.csproj
+++ /dev/null
@@ -1,108 +0,0 @@
-
-
-
-
- Debug
- x86
- {C264460F-C9C8-41C3-8C26-9BDF4710744C}
- Library
- Properties
- Cosmos.Compiler.TestsBase
- Cosmos.Compiler.TestsBase
- v4.6.2
- 512
-
-
- true
- bin\Debug\
- DEBUG;TRACE
- full
- x64
- prompt
- MinimumRecommendedRules.ruleset
-
-
- bin\Release\
- TRACE
- true
- pdbonly
- x64
- prompt
- MinimumRecommendedRules.ruleset
-
-
- true
- bin\Debug\
- DEBUG;TRACE
- full
- x86
- prompt
- MinimumRecommendedRules.ruleset
-
-
- bin\Release\
- TRACE
- true
- pdbonly
- x86
- prompt
- MinimumRecommendedRules.ruleset
-
-
- true
- bin\Debug\
- DEBUG;TRACE
- full
- AnyCPU
- prompt
- MinimumRecommendedRules.ruleset
-
-
- bin\Release\
- TRACE
- true
- pdbonly
- AnyCPU
- prompt
- MinimumRecommendedRules.ruleset
-
-
-
- False
- ..\..\Resources\Dependencies\ApprovalTests.3.0.10\ApprovalTests.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {BC6AE974-1F18-4A19-A956-5062E4D3FD53}
- Cosmos.Build.MSBuild
-
-
- {AB24E403-54F3-4F67-B5E0-119A7227AAC1}
- Cosmos.Debug.Common
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Tests/Cosmos.Compiler.TestsBase/Cosmos.Compiler.TestsBase.xproj b/Tests/Cosmos.Compiler.TestsBase/Cosmos.Compiler.TestsBase.xproj
new file mode 100644
index 000000000..f6db55288
--- /dev/null
+++ b/Tests/Cosmos.Compiler.TestsBase/Cosmos.Compiler.TestsBase.xproj
@@ -0,0 +1,19 @@
+
+
+
+ 14.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+
+
+
+ c264460f-c9c8-41c3-8c26-9bdf4710744c
+ Cosmos.Compiler.TestsBase
+ .\obj
+ .\bin\
+ 4.6.2
+
+
+ 2.0
+
+
+
diff --git a/Tests/Cosmos.Compiler.TestsBase/Properties/AssemblyInfo.cs b/Tests/Cosmos.Compiler.TestsBase/Properties/AssemblyInfo.cs
index 5eb998c27..148980c9a 100644
--- a/Tests/Cosmos.Compiler.TestsBase/Properties/AssemblyInfo.cs
+++ b/Tests/Cosmos.Compiler.TestsBase/Properties/AssemblyInfo.cs
@@ -2,35 +2,18 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
+// 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: AssemblyTitle("Cosmos.Compiler.TestsBase")]
-[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Cosmos.Compiler.TestsBase")]
-[assembly: AssemblyCopyright("Copyright © 2014")]
[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-// 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
+// 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("9250b51b-724e-46ed-aef1-9a577800beaa")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: Guid("c264460f-c9c8-41c3-8c26-9bdf4710744c")]
diff --git a/Tests/Cosmos.Compiler.TestsBase/app.config b/Tests/Cosmos.Compiler.TestsBase/app.config
deleted file mode 100644
index 106c2b119..000000000
--- a/Tests/Cosmos.Compiler.TestsBase/app.config
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Tests/Cosmos.Compiler.TestsBase/project.json b/Tests/Cosmos.Compiler.TestsBase/project.json
new file mode 100644
index 000000000..7a4e2b94c
--- /dev/null
+++ b/Tests/Cosmos.Compiler.TestsBase/project.json
@@ -0,0 +1,17 @@
+{
+ "version": "1.0.0-*",
+
+ "dependencies": {
+ "NETStandard.Library": "1.6.1"
+ },
+
+ "frameworks": {
+ "netstandard1.6": {
+ "dependencies": {
+ "Cosmos.Core.Memory": {
+ "target": "project"
+ }
+ }
+ }
+ }
+}
diff --git a/Tests/Cosmos.Core.Memory.Test/Cosmos.Core.Memory.Test.csproj b/Tests/Cosmos.Core.Memory.Test/Cosmos.Core.Memory.Test.csproj
deleted file mode 100644
index 6d8326358..000000000
--- a/Tests/Cosmos.Core.Memory.Test/Cosmos.Core.Memory.Test.csproj
+++ /dev/null
@@ -1,121 +0,0 @@
-
-
-
- Debug
- AnyCPU
- {901EA2C4-5E9C-44E8-B6D2-3B23DEE6D61B}
- Library
- Properties
- Cosmos.Core.Memory.Test
- Cosmos.Core.Memory.Test
- v4.6.2
- 512
- {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- 10.0
- $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
- $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages
- False
- UnitTest
-
-
- true
- full
- bin\Debug\
- DEBUG;TRACE
- prompt
- true
- AnyCPU
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- AnyCPU
-
-
- true
- bin\Debug\
- DEBUG;TRACE
- true
- full
- x86
- prompt
- MinimumRecommendedRules.ruleset
-
-
- bin\Release\
- TRACE
- true
- pdbonly
- x86
- prompt
- MinimumRecommendedRules.ruleset
-
-
- true
- bin\Debug\
- DEBUG;TRACE
- true
- full
- x64
- prompt
- MinimumRecommendedRules.ruleset
-
-
- bin\Release\
- TRACE
- true
- pdbonly
- x64
- prompt
- MinimumRecommendedRules.ruleset
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- False
-
-
- False
-
-
- False
-
-
- False
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Tests/Cosmos.Core.Memory.Test/Cosmos.Core.Memory.Test.xproj b/Tests/Cosmos.Core.Memory.Test/Cosmos.Core.Memory.Test.xproj
new file mode 100644
index 000000000..51ba55d78
--- /dev/null
+++ b/Tests/Cosmos.Core.Memory.Test/Cosmos.Core.Memory.Test.xproj
@@ -0,0 +1,19 @@
+
+
+
+ 14.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+
+
+
+ 8332f402-5438-49e4-8b62-e67f2f0cb375
+ Cosmos.Core.Memory.Test
+ .\obj
+ .\bin\
+ 4.6.2
+
+
+ 2.0
+
+
+
diff --git a/Tests/Cosmos.Core.Memory.Test/Properties/AssemblyInfo.cs b/Tests/Cosmos.Core.Memory.Test/Properties/AssemblyInfo.cs
index 2d449f074..c27296532 100644
--- a/Tests/Cosmos.Core.Memory.Test/Properties/AssemblyInfo.cs
+++ b/Tests/Cosmos.Core.Memory.Test/Properties/AssemblyInfo.cs
@@ -2,35 +2,18 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
+// 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: AssemblyTitle("Cosmos.Core.Memory.Test")]
-[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Cosmos.Core.Memory.Test")]
-[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-// 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
+// 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("901ea2c4-5e9c-44e8-b6d2-3b23dee6d61b")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Tests/Cosmos.Core.Memory.Test/UnitTest1.cs b/Tests/Cosmos.Core.Memory.Test/UnitTest1.cs
index db69826ad..9664d8ca4 100644
--- a/Tests/Cosmos.Core.Memory.Test/UnitTest1.cs
+++ b/Tests/Cosmos.Core.Memory.Test/UnitTest1.cs
@@ -11,7 +11,8 @@ namespace Cosmos.Core.Memory.Test {
xRAM[0] = 1;
fixed (byte* xPtr = xRAM) {
RAT.Debug = true;
- RAT.Init(xPtr, (Native)xRAM.LongLength);
+ //RAT.Init(xPtr, (Native)xRAM.LongLength);
+ RAT.Init(xPtr, (Native)xRAM.Length);
Native xRatPages = RAT.GetPageCount(RAT.PageType.RAT);
Assert.IsTrue(xRatPages > 0);
diff --git a/Tests/Cosmos.Core.Memory.Test/project.json b/Tests/Cosmos.Core.Memory.Test/project.json
new file mode 100644
index 000000000..aeec0552f
--- /dev/null
+++ b/Tests/Cosmos.Core.Memory.Test/project.json
@@ -0,0 +1,25 @@
+{
+ "version": "1.0.0-*",
+ "buildOptions": {
+ "allowUnsafe": true
+ },
+ "testRunner": "mstest",
+ "dependencies": {
+ "NETStandard.Library": "1.6.1",
+ "MSTest.TestFramework": "1.0.8-rc2",
+ "dotnet-test-mstest": "1.1.2-preview"
+ },
+ "frameworks": {
+ "netstandard1.6": {
+ "imports": [ "netcoreapp1.0", "dnxcore50" ],
+ "dependencies": {
+ "Cosmos.Core.Memory": {
+ "target": "project"
+ }
+ }
+ }
+ },
+ "runtimes": {
+ "win7-x64": {}
+ }
+}
diff --git a/Tests/Cosmos.Core.Tests/Cosmos.Core.Tests.csproj b/Tests/Cosmos.Core.Tests/Cosmos.Core.Tests.csproj
index 1cbe702a2..4a16320fb 100644
--- a/Tests/Cosmos.Core.Tests/Cosmos.Core.Tests.csproj
+++ b/Tests/Cosmos.Core.Tests/Cosmos.Core.Tests.csproj
@@ -16,7 +16,8 @@
true
- Cosmos.snk
+
+
true
@@ -98,9 +99,6 @@
Cosmos.Debug.Common
-
-
-
diff --git a/Tests/Cosmos.System.Tests/Cosmos.System.Tests.csproj b/Tests/Cosmos.System.Tests/Cosmos.System.Tests.csproj
index a036336c3..975fbbab2 100644
--- a/Tests/Cosmos.System.Tests/Cosmos.System.Tests.csproj
+++ b/Tests/Cosmos.System.Tests/Cosmos.System.Tests.csproj
@@ -21,7 +21,7 @@
true
- Cosmos.snk
+ ..\..\Cosmos.snk
true
@@ -98,7 +98,9 @@
-
+
+ Cosmos.snk
+
diff --git a/Tests/Cosmos.TestRunner.UnitTest/Cosmos.TestRunner.UnitTest.xproj b/Tests/Cosmos.TestRunner.UnitTest/Cosmos.TestRunner.UnitTest.xproj
new file mode 100644
index 000000000..ebad98664
--- /dev/null
+++ b/Tests/Cosmos.TestRunner.UnitTest/Cosmos.TestRunner.UnitTest.xproj
@@ -0,0 +1,19 @@
+
+
+
+ 14.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+
+
+
+ 901ea2c4-5e9c-44e8-b6d2-3b23dee6d61b
+ Cosmos.TestRunner.UnitTest
+ .\obj
+ .\bin\
+ v4.6.2
+
+
+ 2.0
+
+
+
diff --git a/Tests/Cosmos.TestRunner.UnitTest/MyEngine.cs b/Tests/Cosmos.TestRunner.UnitTest/MyEngine.cs
new file mode 100644
index 000000000..61d9a3a53
--- /dev/null
+++ b/Tests/Cosmos.TestRunner.UnitTest/MyEngine.cs
@@ -0,0 +1,69 @@
+using System;
+using System.IO;
+using System.Reflection;
+
+using Cosmos.Build.Common;
+using Cosmos.TestRunner.Core;
+
+using NUnit.Framework;
+
+namespace Cosmos.TestRunner.UnitTest
+{
+ using Assert = NUnit.Framework.Assert;
+
+ [TestFixture]
+ public class RunKernels
+ {
+ [TestCaseSource(typeof(MySource), nameof(MySource.ProvideData))]
+ public void Test(Type kernelToRun)
+ {
+ try
+ {
+ Directory.SetCurrentDirectory(Path.GetDirectoryName(typeof(RunKernels).GetTypeInfo().Assembly.Location));
+
+ var xEngine = new Engine();
+
+ // Sets the time before an error is registered. For example if set to 60 then if a kernel runs for more than 60 seconds then
+ // that kernel will be marked as a failure and terminated
+ xEngine.AllowedSecondsInKernel = 1200;
+
+ // If you want to test only specific platforms, add them to the list, like next line. By default, all platforms are run.
+ xEngine.RunTargets.Add(RunTargetEnum.Bochs);
+
+ //xEngine.StartBochsDebugGui = false;
+ //xEngine.RunWithGDB = true;
+ // If you're working on the compiler (or other lower parts), you can choose to run the compiler in process
+ // one thing to keep in mind though, is that this only works with 1 kernel at a time!
+ xEngine.RunIL2CPUInProcess = true;
+ xEngine.TraceAssembliesLevel = TraceAssemblies.User;
+
+ xEngine.EnableStackCorruptionChecks = true;
+ xEngine.StackCorruptionChecksLevel = StackCorruptionDetectionLevel.AllInstructions;
+
+ // Select kernels to be tested by adding them to the engine
+ xEngine.AddKernel(kernelToRun.GetTypeInfo().Assembly.Location);
+
+ xEngine.OutputHandler = new TestOutputHandler();
+
+ Assert.IsTrue(xEngine.Execute());
+ }
+ catch (AssertionException)
+ {
+ throw;
+ }
+ catch(Exception E)
+ {
+ Console.WriteLine("Exception occurred: " + E.ToString());
+ Assert.Fail();
+ }
+ }
+
+ private class TestOutputHandler : OutputHandlerFullTextBase
+ {
+ protected override void Log(string message)
+ {
+ TestContext.WriteLine(String.Concat(DateTime.Now.ToString("hh:mm:ss.ffffff "), new String(' ', mLogLevel * 2), message));
+ }
+ }
+ }
+}
diff --git a/Tests/Cosmos.TestRunner.UnitTest/MySource.cs b/Tests/Cosmos.TestRunner.UnitTest/MySource.cs
new file mode 100644
index 000000000..9733eeec1
--- /dev/null
+++ b/Tests/Cosmos.TestRunner.UnitTest/MySource.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using Cosmos.TestRunner.Core;
+using NUnit.Framework;
+using NUnit.Framework.Interfaces;
+
+namespace Cosmos.TestRunner.UnitTest
+{
+ public static class MySource
+ {
+ public static IEnumerable ProvideData()
+ {
+ return TestKernelSets.GetStableKernelTypes();
+ }
+ }
+}
diff --git a/Tests/Cosmos.TestRunner.UnitTest/Properties/AssemblyInfo.cs b/Tests/Cosmos.TestRunner.UnitTest/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..acda2ff53
--- /dev/null
+++ b/Tests/Cosmos.TestRunner.UnitTest/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("Cosmos.TestRunner.UnitTest")]
+[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("8337ec69-5b63-4c19-89dc-42981fd13378")]
diff --git a/Tests/Cosmos.TestRunner.UnitTest/project.json b/Tests/Cosmos.TestRunner.UnitTest/project.json
new file mode 100644
index 000000000..54110fc23
--- /dev/null
+++ b/Tests/Cosmos.TestRunner.UnitTest/project.json
@@ -0,0 +1,23 @@
+{
+ "version": "1.0.0-*",
+ "testRunner": "nunit",
+ "dependencies": {
+ "NETStandard.Library": "1.6.1",
+ "NUnit": "3.6.0",
+ "dotnet-test-nunit": "3.4.0-beta-3",
+ "Microsoft.DotNet.InternalAbstractions": "1.0.500-preview2-1-003177"
+ },
+ "frameworks": {
+ "netstandard1.6": {
+ "imports": "netcoreapp1.0",
+ "dependencies": {
+ "Cosmos.TestRunner.Core": {
+ "target": "project"
+ }
+ }
+ }
+ },
+ "runtimes": {
+ "win7-x64": {}
+ }
+}
diff --git a/appveyor.yml b/appveyor.yml
index a524c32f0..951404252 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -54,7 +54,8 @@ build_script:
test:
assemblies:
# - Cosmos.Core.Memory.Test.dll
- - DebugCompiler.dll
+# - DebugCompiler.dll
+ - Cosmos.TestRunner.UnitTest.dll
notifications:
- provider: Webhook