diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 2a90f9b27..28824029a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -31,8 +31,8 @@ jobs: - name: Test run: | Binaries/Editor/Linux/Development/FlaxTests - mono Source/Platforms/DotNet/NUnit/nunit3-console.exe Binaries/Tools/FlaxEngine.Tests.dll --framework=mono-4.0 - mono Source/Platforms/DotNet/NUnit/nunit3-console.exe Binaries/Tools/Flax.Build.Tests.dll --framework=mono-4.0 + mono Source/Platforms/DotNet/NUnit/nunit3-console.exe Binaries/Tools/FlaxEngine.Tests.dll + mono Source/Platforms/DotNet/NUnit/nunit3-console.exe Binaries/Tools/Flax.Build.Tests.dll - name: Test UseLargeWorlds run: | ./Development/Scripts/Linux/CallBuildTool.sh -build -log -arch=x64 -platform=Linux -configuration=Development -buildtargets=FlaxTestsTarget -UseLargeWorlds=true diff --git a/Source/Editor/Utilities/Utils.cs b/Source/Editor/Utilities/Utils.cs index 74ffb721b..7e02055bf 100644 --- a/Source/Editor/Utilities/Utils.cs +++ b/Source/Editor/Utilities/Utils.cs @@ -1027,7 +1027,7 @@ namespace FlaxEditor.Utilities internal static string FormatFloat(string str, bool isNegative) { // Reference: https://stackoverflow.com/questions/1546113/double-to-string-conversion-without-scientific-notation - int x = str.IndexOf('E'); + int x = str.IndexOf('E', StringComparison.OrdinalIgnoreCase); if (x < 0) return str; int x1 = x + 1; diff --git a/Source/Platforms/DotNet/NUnit/NUnit3.TestAdapter.deps.json b/Source/Platforms/DotNet/NUnit/NUnit3.TestAdapter.deps.json new file mode 100644 index 000000000..51e3b6986 --- /dev/null +++ b/Source/Platforms/DotNet/NUnit/NUnit3.TestAdapter.deps.json @@ -0,0 +1,1195 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v3.1", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v3.1": { + "NUnit3.TestAdapter/1.0.0": { + "dependencies": { + "Microsoft.NETFramework.ReferenceAssemblies": "1.0.3", + "Microsoft.TestPlatform.ObjectModel": "15.0.0", + "SourceLink.Create.CommandLine": "2.8.3", + "StyleCop.Analyzers": "1.2.0-beta.435", + "TestCentric.Metadata": "1.7.1", + "jnm2.ReferenceAssemblies.net35": "1.0.1", + "NUnit.Engine": "3.15.2" + }, + "runtime": { + "NUnit3.TestAdapter.dll": {} + } + }, + "jnm2.ReferenceAssemblies.net35/1.0.1": {}, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "Microsoft.NETCore.Targets/1.0.1": {}, + "Microsoft.NETFramework.ReferenceAssemblies/1.0.3": { + "dependencies": { + "Microsoft.NETFramework.ReferenceAssemblies.net461": "1.0.3" + } + }, + "Microsoft.NETFramework.ReferenceAssemblies.net461/1.0.3": {}, + "Microsoft.TestPlatform.ObjectModel/15.0.0": { + "dependencies": { + "NETStandard.Library": "2.0.0", + "System.ComponentModel.EventBasedAsync": "4.0.11", + "System.ComponentModel.TypeConverter": "4.1.0", + "System.Diagnostics.Process": "4.1.0", + "System.Diagnostics.TextWriterTraceListener": "4.0.0", + "System.Diagnostics.TraceSource": "4.0.0", + "System.Diagnostics.Tracing": "4.1.0", + "System.IO.FileSystem": "4.0.1", + "System.Reflection.Metadata": "1.3.0", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.InteropServices": "4.1.0", + "System.Runtime.InteropServices.RuntimeInformation": "4.0.0", + "System.Runtime.Loader": "4.0.0", + "System.Runtime.Serialization.Json": "4.0.2", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Security.Cryptography.Algorithms": "4.2.0", + "System.Threading.Thread": "4.0.0", + "System.Xml.XPath.XmlDocument": "4.0.1" + } + }, + "Microsoft.Win32.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "Microsoft.Win32.Registry/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0" + } + }, + "NETStandard.Library/2.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "NUnit.Engine/3.15.2": { + "dependencies": { + "NETStandard.Library": "2.0.0" + }, + "runtime": { + "lib/netstandard2.0/nunit.engine.api.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.99.0.0" + }, + "lib/netstandard2.0/nunit.engine.core.dll": { + "assemblyVersion": "3.15.2.0", + "fileVersion": "3.15.2.0" + }, + "lib/netstandard2.0/nunit.engine.dll": { + "assemblyVersion": "3.15.2.0", + "fileVersion": "3.15.2.0" + }, + "lib/netstandard2.0/testcentric.engine.metadata.dll": { + "assemblyVersion": "1.7.1.0", + "fileVersion": "1.7.1.0" + } + } + }, + "runtime.native.System/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "runtime.native.System.Security.Cryptography/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "SourceLink.Create.CommandLine/2.8.3": {}, + "StyleCop.Analyzers/1.2.0-beta.435": { + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.435" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.435": {}, + "System.Collections/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Collections.Concurrent/4.0.12": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tracing": "4.1.0", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Collections.Immutable/1.2.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.Linq": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Collections.NonGeneric/4.0.1": { + "dependencies": { + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Collections.Specialized/4.0.1": { + "dependencies": { + "System.Collections.NonGeneric": "4.0.1", + "System.Globalization": "4.0.11", + "System.Globalization.Extensions": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.ComponentModel/4.0.1": { + "dependencies": { + "System.Runtime": "4.1.0" + } + }, + "System.ComponentModel.EventBasedAsync/4.0.11": { + "dependencies": { + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.ComponentModel.Primitives/4.1.0": { + "dependencies": { + "System.ComponentModel": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.ComponentModel.TypeConverter/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Collections.NonGeneric": "4.0.1", + "System.Collections.Specialized": "4.0.1", + "System.ComponentModel": "4.0.1", + "System.ComponentModel.Primitives": "4.1.0", + "System.Globalization": "4.0.11", + "System.Linq": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Diagnostics.Debug/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Process/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.0.1", + "Microsoft.Win32.Registry": "4.0.0", + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.IO.FileSystem": "4.0.1", + "System.IO.FileSystem.Primitives": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11", + "System.Threading.Thread": "4.0.0", + "System.Threading.ThreadPool": "4.0.10", + "runtime.native.System": "4.0.0" + } + }, + "System.Diagnostics.TextWriterTraceListener/4.0.0": { + "dependencies": { + "System.Diagnostics.TraceSource": "4.0.0", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Diagnostics.TraceSource/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11", + "runtime.native.System": "4.0.0" + } + }, + "System.Diagnostics.Tracing/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.InteropServices": "4.1.0" + } + }, + "System.IO/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.IO.FileSystem/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.IO.FileSystem.Primitives": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.IO.FileSystem.Primitives/4.0.1": { + "dependencies": { + "System.Runtime": "4.1.0" + } + }, + "System.Linq/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Private.DataContractSerialization/4.1.1": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Collections.Concurrent": "4.0.12", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Emit.Lightweight": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Text.Encoding": "4.0.11", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11", + "System.Xml.ReaderWriter": "4.0.11", + "System.Xml.XmlDocument": "4.0.1", + "System.Xml.XmlSerializer": "4.0.11" + } + }, + "System.Reflection/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit/4.0.1": { + "dependencies": { + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Metadata/1.3.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Collections.Immutable": "1.2.0", + "System.Diagnostics.Debug": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.InteropServices": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Threading": "4.0.11" + } + }, + "System.Reflection.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.TypeExtensions/4.1.0": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Resources.ResourceManager/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "System.Runtime.Extensions/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Handles/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.InteropServices/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Handles": "4.0.1" + } + }, + "System.Runtime.InteropServices.RuntimeInformation/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Reflection": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.InteropServices": "4.1.0", + "System.Threading": "4.0.11", + "runtime.native.System": "4.0.0" + } + }, + "System.Runtime.Loader/4.0.0": { + "dependencies": { + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Numerics/4.0.1": { + "dependencies": { + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Runtime.Serialization.Json/4.0.2": { + "dependencies": { + "System.IO": "4.1.0", + "System.Private.DataContractSerialization": "4.1.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "dependencies": { + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Security.Cryptography.Algorithms/4.2.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.0.11", + "System.IO": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Runtime.Numerics": "4.0.1", + "System.Security.Cryptography.Encoding": "4.0.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Text.Encoding": "4.0.11", + "runtime.native.System.Security.Cryptography": "4.0.0" + } + }, + "System.Security.Cryptography.Encoding/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.0.11", + "System.Collections.Concurrent": "4.0.12", + "System.Linq": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Text.Encoding": "4.0.11", + "runtime.native.System.Security.Cryptography": "4.0.0" + } + }, + "System.Security.Cryptography.Primitives/4.0.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Text.Encoding/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding.Extensions/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Text.RegularExpressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Threading/4.0.11": { + "dependencies": { + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Tasks/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Threading.Tasks.Extensions/4.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Thread/4.0.0": { + "dependencies": { + "System.Runtime": "4.1.0" + } + }, + "System.Threading.ThreadPool/4.0.10": { + "dependencies": { + "System.Runtime": "4.1.0", + "System.Runtime.Handles": "4.0.1" + } + }, + "System.Xml.ReaderWriter/4.0.11": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.IO.FileSystem": "4.0.1", + "System.IO.FileSystem.Primitives": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.InteropServices": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0", + "System.Threading.Tasks": "4.0.11", + "System.Threading.Tasks.Extensions": "4.0.0" + } + }, + "System.Xml.XmlDocument/4.0.1": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading": "4.0.11", + "System.Xml.ReaderWriter": "4.0.11" + } + }, + "System.Xml.XmlSerializer/4.0.11": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit": "4.0.1", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Text.RegularExpressions": "4.1.0", + "System.Threading": "4.0.11", + "System.Xml.ReaderWriter": "4.0.11", + "System.Xml.XmlDocument": "4.0.1" + } + }, + "System.Xml.XPath/4.0.1": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11", + "System.Xml.ReaderWriter": "4.0.11" + } + }, + "System.Xml.XPath.XmlDocument/4.0.1": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11", + "System.Xml.ReaderWriter": "4.0.11", + "System.Xml.XPath": "4.0.1", + "System.Xml.XmlDocument": "4.0.1" + } + }, + "TestCentric.Metadata/1.7.1": {} + } + }, + "libraries": { + "NUnit3.TestAdapter/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "jnm2.ReferenceAssemblies.net35/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v0inupvZNhNKp4ZiZjOm12dj/JLLOeFmtnXRP8qTWT/3SkJknXYgUosL2HRzYeVy7fXpX3WZq76BYEGrmIFc5w==", + "path": "jnm2.referenceassemblies.net35/1.0.1", + "hashPath": "jnm2.referenceassemblies.net35.1.0.1.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", + "path": "microsoft.netcore.targets/1.0.1", + "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512" + }, + "Microsoft.NETFramework.ReferenceAssemblies/1.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==", + "path": "microsoft.netframework.referenceassemblies/1.0.3", + "hashPath": "microsoft.netframework.referenceassemblies.1.0.3.nupkg.sha512" + }, + "Microsoft.NETFramework.ReferenceAssemblies.net461/1.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AmOJZwCqnOCNp6PPcf9joyogScWLtwy0M1WkqfEQ0M9nYwyDD7EX9ZjscKS5iYnyvteX7kzSKFCKt9I9dXA6mA==", + "path": "microsoft.netframework.referenceassemblies.net461/1.0.3", + "hashPath": "microsoft.netframework.referenceassemblies.net461.1.0.3.nupkg.sha512" + }, + "Microsoft.TestPlatform.ObjectModel/15.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-cmnwtae/q/DKcWT6aF3fvexPhQ/rhr0twc+2VLEhzDBfE0khtBGrlDvnCfcWktGjShtTCB0OO204JdS3QtAByQ==", + "path": "microsoft.testplatform.objectmodel/15.0.0", + "hashPath": "microsoft.testplatform.objectmodel.15.0.0.nupkg.sha512" + }, + "Microsoft.Win32.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fQnBHO9DgcmkC9dYSJoBqo6sH1VJwJprUHh8F3hbcRlxiQiBUuTntdk8tUwV490OqC2kQUrinGwZyQHTieuXRA==", + "path": "microsoft.win32.primitives/4.0.1", + "hashPath": "microsoft.win32.primitives.4.0.1.nupkg.sha512" + }, + "Microsoft.Win32.Registry/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-q+eLtROUAQ3OxYA5mpQrgyFgzLQxIyrfT2eLpYX5IEPlHmIio2nh4F5bgOaQoGOV865kFKZZso9Oq9RlazvXtg==", + "path": "microsoft.win32.registry/4.0.0", + "hashPath": "microsoft.win32.registry.4.0.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7jnbRU+L08FXKMxqUflxEXtVymWvNOrS8yHgu9s6EM8Anr6T/wIX4nZ08j/u3Asz+tCufp3YVwFSEvFTPYmBPA==", + "path": "netstandard.library/2.0.0", + "hashPath": "netstandard.library.2.0.0.nupkg.sha512" + }, + "NUnit.Engine/3.15.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-SadAHGoFzbF39XsrluQ2qBsPLOltMAZPy9Ltf4jRbBQnyLW85ikkjjYXRAJ1tNqGDKRVfR9EDv5gOhtbPIudIA==", + "path": "nunit.engine/3.15.2", + "hashPath": "nunit.engine.3.15.2.nupkg.sha512" + }, + "runtime.native.System/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QfS/nQI7k/BLgmLrw7qm7YBoULEvgWnPI+cYsbfCVFTW8Aj+i8JhccxcFMu1RWms0YZzF+UHguNBK4Qn89e2Sg==", + "path": "runtime.native.system/4.0.0", + "hashPath": "runtime.native.system.4.0.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2CQK0jmO6Eu7ZeMgD+LOFbNJSXHFVQbCJJkEyEwowh1SCgYnrn9W9RykMfpeeVGw7h4IBvYikzpGUlmZTUafJw==", + "path": "runtime.native.system.security.cryptography/4.0.0", + "hashPath": "runtime.native.system.security.cryptography.4.0.0.nupkg.sha512" + }, + "SourceLink.Create.CommandLine/2.8.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IG9yWuEwkGDC94Be8U7XC/YwzGPGUhH7cF2/AzN3DeyJwo9Epp0kiwT8UGNg1lNkH1mXyjOTS7oN0DZSqMmoBQ==", + "path": "sourcelink.create.commandline/2.8.3", + "hashPath": "sourcelink.create.commandline.2.8.3.nupkg.sha512" + }, + "StyleCop.Analyzers/1.2.0-beta.435": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TADk7vdGXtfTnYCV7GyleaaRTQjfoSfZXprQrVMm7cSJtJbFc1QIbWPyLvrgrfGdfHbGmUPvaN4ODKNxg2jgPQ==", + "path": "stylecop.analyzers/1.2.0-beta.435", + "hashPath": "stylecop.analyzers.1.2.0-beta.435.nupkg.sha512" + }, + "StyleCop.Analyzers.Unstable/1.2.0.435": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ouwPWZxbOV3SmCZxIRqHvljkSzkCyi1tDoMzQtDb/bRP8ctASV/iRJr+A2Gdj0QLaLmWnqTWDrH82/iP+X80Lg==", + "path": "stylecop.analyzers.unstable/1.2.0.435", + "hashPath": "stylecop.analyzers.unstable.1.2.0.435.nupkg.sha512" + }, + "System.Collections/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", + "path": "system.collections/4.0.11", + "hashPath": "system.collections.4.0.11.nupkg.sha512" + }, + "System.Collections.Concurrent/4.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2gBcbb3drMLgxlI0fBfxMA31ec6AEyYCHygGse4vxceJan8mRIWeKJ24BFzN7+bi/NFTgdIgufzb94LWO5EERQ==", + "path": "system.collections.concurrent/4.0.12", + "hashPath": "system.collections.concurrent.4.0.12.nupkg.sha512" + }, + "System.Collections.Immutable/1.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Cma8cBW6di16ZLibL8LYQ+cLjGzoKxpOTu/faZfDcx94ZjAGq6Nv5RO7+T1YZXqEXTZP9rt1wLVEONVpURtUqw==", + "path": "system.collections.immutable/1.2.0", + "hashPath": "system.collections.immutable.1.2.0.nupkg.sha512" + }, + "System.Collections.NonGeneric/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==", + "path": "system.collections.nongeneric/4.0.1", + "hashPath": "system.collections.nongeneric.4.0.1.nupkg.sha512" + }, + "System.Collections.Specialized/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==", + "path": "system.collections.specialized/4.0.1", + "hashPath": "system.collections.specialized.4.0.1.nupkg.sha512" + }, + "System.ComponentModel/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oBZFnm7seFiVfugsIyOvQCWobNZs7FzqDV/B7tx20Ep/l3UUFCPDkdTnCNaJZTU27zjeODmy2C/cP60u3D4c9w==", + "path": "system.componentmodel/4.0.1", + "hashPath": "system.componentmodel.4.0.1.nupkg.sha512" + }, + "System.ComponentModel.EventBasedAsync/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Z7SO6vvQIR84daPE4uhaNdef9CjgjDMGYkas8epUhf0U3WGuaGgZ0Mm4QuNycMdbHUY8KEdZrtgxonkAiJaAlA==", + "path": "system.componentmodel.eventbasedasync/4.0.11", + "hashPath": "system.componentmodel.eventbasedasync.4.0.11.nupkg.sha512" + }, + "System.ComponentModel.Primitives/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sc/7eVCdxPrp3ljpgTKVaQGUXiW05phNWvtv/m2kocXqrUQvTVWKou1Edas2aDjTThLPZOxPYIGNb/HN0QjURg==", + "path": "system.componentmodel.primitives/4.1.0", + "hashPath": "system.componentmodel.primitives.4.1.0.nupkg.sha512" + }, + "System.ComponentModel.TypeConverter/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MnDAlaeJZy9pdB5ZdOlwdxfpI+LJQ6e0hmH7d2+y2LkiD8DRJynyDYl4Xxf3fWFm7SbEwBZh4elcfzONQLOoQw==", + "path": "system.componentmodel.typeconverter/4.1.0", + "hashPath": "system.componentmodel.typeconverter.4.1.0.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", + "path": "system.diagnostics.debug/4.0.11", + "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Process/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==", + "path": "system.diagnostics.process/4.1.0", + "hashPath": "system.diagnostics.process.4.1.0.nupkg.sha512" + }, + "System.Diagnostics.TextWriterTraceListener/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w36Dr8yKy8xP150qPANe7Td+/zOI3G62ImRcHDIEW+oUXUuTKZHd4DHmqRx5+x8RXd85v3tXd1uhNTfsr+yxjA==", + "path": "system.diagnostics.textwritertracelistener/4.0.0", + "hashPath": "system.diagnostics.textwritertracelistener.4.0.0.nupkg.sha512" + }, + "System.Diagnostics.TraceSource/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==", + "path": "system.diagnostics.tracesource/4.0.0", + "hashPath": "system.diagnostics.tracesource.4.0.0.nupkg.sha512" + }, + "System.Diagnostics.Tracing/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vDN1PoMZCkkdNjvZLql592oYJZgS7URcJzJ7bxeBgGtx5UtR5leNm49VmfHGqIffX4FKacHbI3H6UyNSHQknBg==", + "path": "system.diagnostics.tracing/4.1.0", + "hashPath": "system.diagnostics.tracing.4.1.0.nupkg.sha512" + }, + "System.Globalization/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", + "path": "system.globalization/4.0.11", + "hashPath": "system.globalization.4.0.11.nupkg.sha512" + }, + "System.Globalization.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KKo23iKeOaIg61SSXwjANN7QYDr/3op3OWGGzDzz7mypx0Za0fZSeG0l6cco8Ntp8YMYkIQcAqlk8yhm5/Uhcg==", + "path": "system.globalization.extensions/4.0.1", + "hashPath": "system.globalization.extensions.4.0.1.nupkg.sha512" + }, + "System.IO/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", + "path": "system.io/4.1.0", + "hashPath": "system.io.4.1.0.nupkg.sha512" + }, + "System.IO.FileSystem/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IBErlVq5jOggAD69bg1t0pJcHaDbJbWNUZTPI96fkYWzwYbN6D9wRHMULLDd9dHsl7C2YsxXL31LMfPI1SWt8w==", + "path": "system.io.filesystem/4.0.1", + "hashPath": "system.io.filesystem.4.0.1.nupkg.sha512" + }, + "System.IO.FileSystem.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kWkKD203JJKxJeE74p8aF8y4Qc9r9WQx4C0cHzHPrY3fv/L/IhWnyCHaFJ3H1QPOH6A93whlQ2vG5nHlBDvzWQ==", + "path": "system.io.filesystem.primitives/4.0.1", + "hashPath": "system.io.filesystem.primitives.4.0.1.nupkg.sha512" + }, + "System.Linq/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", + "path": "system.linq/4.1.0", + "hashPath": "system.linq.4.1.0.nupkg.sha512" + }, + "System.Private.DataContractSerialization/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", + "path": "system.private.datacontractserialization/4.1.1", + "hashPath": "system.private.datacontractserialization.4.1.1.nupkg.sha512" + }, + "System.Reflection/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", + "path": "system.reflection/4.1.0", + "hashPath": "system.reflection.4.1.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", + "path": "system.reflection.emit/4.0.1", + "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", + "path": "system.reflection.emit.ilgeneration/4.0.1", + "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", + "path": "system.reflection.emit.lightweight/4.0.1", + "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512" + }, + "System.Reflection.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", + "path": "system.reflection.extensions/4.0.1", + "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512" + }, + "System.Reflection.Metadata/1.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jMSCxA4LSyKBGRDm/WtfkO03FkcgRzHxwvQRib1bm2GZ8ifKM1MX1al6breGCEQK280mdl9uQS7JNPXRYk90jw==", + "path": "system.reflection.metadata/1.3.0", + "hashPath": "system.reflection.metadata.1.3.0.nupkg.sha512" + }, + "System.Reflection.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", + "path": "system.reflection.primitives/4.0.1", + "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", + "path": "system.reflection.typeextensions/4.1.0", + "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", + "path": "system.resources.resourcemanager/4.0.1", + "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512" + }, + "System.Runtime/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", + "path": "system.runtime/4.1.0", + "hashPath": "system.runtime.4.1.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", + "path": "system.runtime.extensions/4.1.0", + "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512" + }, + "System.Runtime.Handles/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nCJvEKguXEvk2ymk1gqj625vVnlK3/xdGzx0vOKicQkoquaTBJTP13AIYkocSUwHCLNBwUbXTqTWGDxBTWpt7g==", + "path": "system.runtime.handles/4.0.1", + "hashPath": "system.runtime.handles.4.0.1.nupkg.sha512" + }, + "System.Runtime.InteropServices/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-16eu3kjHS633yYdkjwShDHZLRNMKVi/s0bY8ODiqJ2RfMhDMAwxZaUaWVnZ2P71kr/or+X9o/xFWtNqz8ivieQ==", + "path": "system.runtime.interopservices/4.1.0", + "hashPath": "system.runtime.interopservices.4.1.0.nupkg.sha512" + }, + "System.Runtime.InteropServices.RuntimeInformation/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hWPhJxc453RCa8Z29O91EmfGeZIHX1ZH2A8L6lYQVSaKzku2DfArSfMEb1/MYYzPQRJZeu0c9dmYeJKxW5Fgng==", + "path": "system.runtime.interopservices.runtimeinformation/4.0.0", + "hashPath": "system.runtime.interopservices.runtimeinformation.4.0.0.nupkg.sha512" + }, + "System.Runtime.Loader/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4UN78GOVU/mbDFcXkEWtetJT/sJ0yic2gGk1HSlSpWI0TDf421xnrZTDZnwNBapk1GQeYN7U1lTj/aQB1by6ow==", + "path": "system.runtime.loader/4.0.0", + "hashPath": "system.runtime.loader.4.0.0.nupkg.sha512" + }, + "System.Runtime.Numerics/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+XbKFuzdmLP3d1o9pdHu2nxjNr2OEPqGzKeegPLCUMM71a0t50A/rOcIRmGs9wR7a8KuHX6hYs/7/TymIGLNqg==", + "path": "system.runtime.numerics/4.0.1", + "hashPath": "system.runtime.numerics.4.0.1.nupkg.sha512" + }, + "System.Runtime.Serialization.Json/4.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", + "path": "system.runtime.serialization.json/4.0.2", + "hashPath": "system.runtime.serialization.json.4.0.2.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", + "path": "system.runtime.serialization.primitives/4.1.1", + "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512" + }, + "System.Security.Cryptography.Algorithms/4.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8JQFxbLVdrtIOKMDN38Fn0GWnqYZw/oMlwOUG/qz1jqChvyZlnUmu+0s7wLx7JYua/nAXoESpHA3iw11QFWhXg==", + "path": "system.security.cryptography.algorithms/4.2.0", + "hashPath": "system.security.cryptography.algorithms.4.2.0.nupkg.sha512" + }, + "System.Security.Cryptography.Encoding/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FbKgE5MbxSQMPcSVRgwM6bXN3GtyAh04NkV8E5zKCBE26X0vYW0UtTa2FIgkH33WVqBVxRgxljlVYumWtU+HcQ==", + "path": "system.security.cryptography.encoding/4.0.0", + "hashPath": "system.security.cryptography.encoding.4.0.0.nupkg.sha512" + }, + "System.Security.Cryptography.Primitives/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Wkd7QryWYjkQclX0bngpntW5HSlMzeJU24UaLJQ7YTfI8ydAVAaU2J+HXLLABOVJlKTVvAeL0Aj39VeTe7L+oA==", + "path": "system.security.cryptography.primitives/4.0.0", + "hashPath": "system.security.cryptography.primitives.4.0.0.nupkg.sha512" + }, + "System.Text.Encoding/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", + "path": "system.text.encoding/4.0.11", + "hashPath": "system.text.encoding.4.0.11.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", + "path": "system.text.encoding.extensions/4.0.11", + "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", + "path": "system.text.regularexpressions/4.1.0", + "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512" + }, + "System.Threading/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", + "path": "system.threading/4.0.11", + "hashPath": "system.threading.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", + "path": "system.threading.tasks/4.0.11", + "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks.Extensions/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pH4FZDsZQ/WmgJtN4LWYmRdJAEeVkyriSwrv2Teoe5FOU0Yxlb6II6GL8dBPOfRmutHGATduj3ooMt7dJ2+i+w==", + "path": "system.threading.tasks.extensions/4.0.0", + "hashPath": "system.threading.tasks.extensions.4.0.0.nupkg.sha512" + }, + "System.Threading.Thread/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", + "path": "system.threading.thread/4.0.0", + "hashPath": "system.threading.thread.4.0.0.nupkg.sha512" + }, + "System.Threading.ThreadPool/4.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==", + "path": "system.threading.threadpool/4.0.10", + "hashPath": "system.threading.threadpool.4.0.10.nupkg.sha512" + }, + "System.Xml.ReaderWriter/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZIiLPsf67YZ9zgr31vzrFaYQqxRPX9cVHjtPSnmx4eN6lbS/yEyYNr2vs1doGDEscF0tjCZFsk9yUg1sC9e8tg==", + "path": "system.xml.readerwriter/4.0.11", + "hashPath": "system.xml.readerwriter.4.0.11.nupkg.sha512" + }, + "System.Xml.XmlDocument/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==", + "path": "system.xml.xmldocument/4.0.1", + "hashPath": "system.xml.xmldocument.4.0.1.nupkg.sha512" + }, + "System.Xml.XmlSerializer/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", + "path": "system.xml.xmlserializer/4.0.11", + "hashPath": "system.xml.xmlserializer.4.0.11.nupkg.sha512" + }, + "System.Xml.XPath/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UWd1H+1IJ9Wlq5nognZ/XJdyj8qPE4XufBUkAW59ijsCPjZkZe0MUzKKJFBr+ZWBe5Wq1u1d5f2CYgE93uH7DA==", + "path": "system.xml.xpath/4.0.1", + "hashPath": "system.xml.xpath.4.0.1.nupkg.sha512" + }, + "System.Xml.XPath.XmlDocument/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Zm2BdeanuncYs3NhCj4c9e1x3EXFzFBVv2wPEc/Dj4ZbI9R8ecLSR5frAsx4zJCPBtKQreQ7Q/KxJEohJZbfzA==", + "path": "system.xml.xpath.xmldocument/4.0.1", + "hashPath": "system.xml.xpath.xmldocument.4.0.1.nupkg.sha512" + }, + "TestCentric.Metadata/1.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QjdwsUJXJbGmFKNiTZbWeRpwhqRcEAtgb+dwR4YVK8xUBBEfXfrFV074f1DBtnrOfAIT+LnZCeVVeg/fYUlAEA==", + "path": "testcentric.metadata/1.7.1", + "hashPath": "testcentric.metadata.1.7.1.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/Source/Platforms/DotNet/NUnit/NUnit3.TestAdapter.dll b/Source/Platforms/DotNet/NUnit/NUnit3.TestAdapter.dll new file mode 100644 index 000000000..f1dfb1f0d --- /dev/null +++ b/Source/Platforms/DotNet/NUnit/NUnit3.TestAdapter.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db876c61b9fb2d989b1cf805287e1538d2617ffb9ee14e82b8e93d8b03ef27de +size 133120 diff --git a/Source/Platforms/DotNet/NUnit/NUnit3.TestAdapter.pdb b/Source/Platforms/DotNet/NUnit/NUnit3.TestAdapter.pdb new file mode 100644 index 000000000..4d27b92d7 --- /dev/null +++ b/Source/Platforms/DotNet/NUnit/NUnit3.TestAdapter.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5de62e3777ea5b3f72a33c7d3896c582e58590d57a9395aef3086aed675c556f +size 52508 diff --git a/Source/Platforms/DotNet/NUnit/NUnit3TestAdapter.props b/Source/Platforms/DotNet/NUnit/NUnit3TestAdapter.props new file mode 100644 index 000000000..5e45aede9 --- /dev/null +++ b/Source/Platforms/DotNet/NUnit/NUnit3TestAdapter.props @@ -0,0 +1,35 @@ + + + + + NUnit3.TestAdapter.dll + PreserveNewest + False + + + NUnit3.TestAdapter.pdb + PreserveNewest + False + + + nunit.engine.dll + PreserveNewest + False + + + nunit.engine.api.dll + PreserveNewest + False + + + nunit.engine.core.dll + PreserveNewest + False + + + testcentric.engine.metadata.dll + PreserveNewest + False + + + diff --git a/Source/Platforms/DotNet/NUnit/agents/net40/nunit-agent.exe b/Source/Platforms/DotNet/NUnit/agents/net40/nunit-agent.exe deleted file mode 100644 index dd1c1932f..000000000 --- a/Source/Platforms/DotNet/NUnit/agents/net40/nunit-agent.exe +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e7b4b2dbd4ffa955a1ae369859816f734969e0d7f6e45f38ffb00e79e11a0315 -size 73728 diff --git a/Source/Platforms/DotNet/NUnit/agents/net40/nunit.engine.api.dll b/Source/Platforms/DotNet/NUnit/agents/net40/nunit.engine.api.dll deleted file mode 100644 index a45e82745..000000000 --- a/Source/Platforms/DotNet/NUnit/agents/net40/nunit.engine.api.dll +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f6a0a660f2dccf4e3afd4c0bbe505f37b9886417bbd15934b967b5531d92c9f5 -size 18432 diff --git a/Source/Platforms/DotNet/NUnit/agents/net40/nunit.engine.core.dll b/Source/Platforms/DotNet/NUnit/agents/net40/nunit.engine.core.dll deleted file mode 100644 index 935b70004..000000000 --- a/Source/Platforms/DotNet/NUnit/agents/net40/nunit.engine.core.dll +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b41b23f245b05e16838d0fa6dfba0e378c9f87f6017ce501871f324c85f9a0ac -size 107520 diff --git a/Source/Platforms/DotNet/NUnit/agents/net40/testcentric.engine.metadata.dll b/Source/Platforms/DotNet/NUnit/agents/net40/testcentric.engine.metadata.dll deleted file mode 100644 index 8d16a9559..000000000 --- a/Source/Platforms/DotNet/NUnit/agents/net40/testcentric.engine.metadata.dll +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b08bf44fd3270243def47673d606959915ba723db7e694e58cb44a92145b0ebb -size 176640 diff --git a/Source/Platforms/DotNet/NUnit/agents/net7.0/Microsoft.Extensions.DependencyModel.dll b/Source/Platforms/DotNet/NUnit/agents/net7.0/Microsoft.Extensions.DependencyModel.dll new file mode 100644 index 000000000..c0315dc59 --- /dev/null +++ b/Source/Platforms/DotNet/NUnit/agents/net7.0/Microsoft.Extensions.DependencyModel.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:693ad69d561f8533c9c45c41d8bcd9810547e2e862dffb275b10b5eb0dab9a6b +size 67960 diff --git a/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit-agent.deps.json b/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit-agent.deps.json new file mode 100644 index 000000000..b9b912138 --- /dev/null +++ b/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit-agent.deps.json @@ -0,0 +1,305 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v7.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v7.0": { + "nunit-agent/3.16.0": { + "dependencies": { + "nunit.engine.api": "1.0.0", + "nunit.engine.core": "1.0.0" + }, + "runtime": { + "nunit-agent.dll": {} + } + }, + "Microsoft.Extensions.DependencyModel/3.1.0": { + "dependencies": { + "System.Text.Json": "4.7.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll": { + "assemblyVersion": "3.1.0.0", + "fileVersion": "3.100.19.56502" + } + } + }, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "Microsoft.NETCore.Targets/1.1.0": {}, + "Microsoft.Win32.Registry/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "System.Collections/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.IO/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Reflection/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Text.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Json/4.7.0": {}, + "System.Threading.Tasks/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "TestCentric.Metadata/1.7.1": { + "runtime": { + "lib/netstandard2.0/testcentric.engine.metadata.dll": { + "assemblyVersion": "1.7.1.0", + "fileVersion": "1.7.1.0" + } + } + }, + "nunit.engine.api/1.0.0": { + "runtime": { + "nunit.engine.api.dll": {} + } + }, + "nunit.engine.core/1.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyModel": "3.1.0", + "Microsoft.Win32.Registry": "4.3.0", + "TestCentric.Metadata": "1.7.1", + "nunit.engine.api": "1.0.0" + }, + "runtime": { + "nunit.engine.core.dll": {} + } + } + } + }, + "libraries": { + "nunit-agent/3.16.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.DependencyModel/3.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8tBjqI1xU3CNjdXMZF7BaY71ChU44x30QtHI2rVmPB3+3PjYi+YGhVTV5+IOlc40F81Bylh4gWwHET3jVKFE4Q==", + "path": "microsoft.extensions.dependencymodel/3.1.0", + "hashPath": "microsoft.extensions.dependencymodel.3.1.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==", + "path": "microsoft.netcore.targets/1.1.0", + "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512" + }, + "Microsoft.Win32.Registry/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Lw1/VwLH1yxz6SfFEjVRCN0pnflLEsWgnV4qsdJ512/HhTwnKXUG+zDQ4yTO3K/EJQemGoNaBHX5InISNKTzUQ==", + "path": "microsoft.win32.registry/4.3.0", + "hashPath": "microsoft.win32.registry.4.3.0.nupkg.sha512" + }, + "System.Collections/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "path": "system.collections/4.3.0", + "hashPath": "system.collections.4.3.0.nupkg.sha512" + }, + "System.Globalization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "path": "system.globalization/4.3.0", + "hashPath": "system.globalization.4.3.0.nupkg.sha512" + }, + "System.IO/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "path": "system.io/4.3.0", + "hashPath": "system.io.4.3.0.nupkg.sha512" + }, + "System.Reflection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "path": "system.reflection/4.3.0", + "hashPath": "system.reflection.4.3.0.nupkg.sha512" + }, + "System.Reflection.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "path": "system.reflection.primitives/4.3.0", + "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "path": "system.resources.resourcemanager/4.3.0", + "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" + }, + "System.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "path": "system.runtime/4.3.0", + "hashPath": "system.runtime.4.3.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "path": "system.runtime.extensions/4.3.0", + "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" + }, + "System.Runtime.Handles/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "path": "system.runtime.handles/4.3.0", + "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" + }, + "System.Runtime.InteropServices/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "path": "system.runtime.interopservices/4.3.0", + "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "path": "system.text.encoding/4.3.0", + "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" + }, + "System.Text.Json/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IPq/x/d5nAcnD3vIyM3AbPOaTgcqrh0AqPSx7U53UFu3M6k1TH1u/eXc9/h4jm/3mpP1WRUpevlPY4PACd7AWw==", + "path": "system.text.json/4.7.0", + "hashPath": "system.text.json.4.7.0.nupkg.sha512" + }, + "System.Threading.Tasks/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "path": "system.threading.tasks/4.3.0", + "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" + }, + "TestCentric.Metadata/1.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QjdwsUJXJbGmFKNiTZbWeRpwhqRcEAtgb+dwR4YVK8xUBBEfXfrFV074f1DBtnrOfAIT+LnZCeVVeg/fYUlAEA==", + "path": "testcentric.metadata/1.7.1", + "hashPath": "testcentric.metadata.1.7.1.nupkg.sha512" + }, + "nunit.engine.api/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "nunit.engine.core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit-agent.dll b/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit-agent.dll new file mode 100644 index 000000000..d4e9668db --- /dev/null +++ b/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit-agent.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0db0362abeeb64de2e1c9565ef71f95284beedc6f14eb4f6cfb499261b83a956 +size 74240 diff --git a/Source/Platforms/DotNet/NUnit/agents/net40/nunit-agent.exe.config b/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit-agent.dll.config similarity index 100% rename from Source/Platforms/DotNet/NUnit/agents/net40/nunit-agent.exe.config rename to Source/Platforms/DotNet/NUnit/agents/net7.0/nunit-agent.dll.config diff --git a/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit-agent.runtimeconfig.json b/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit-agent.runtimeconfig.json new file mode 100644 index 000000000..bcebc2c14 --- /dev/null +++ b/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit-agent.runtimeconfig.json @@ -0,0 +1,22 @@ +{ + "runtimeOptions": { + "tfm": "net7.0", + "frameworks": [ + { + "name": "Microsoft.NETCore.App", + "version": "7.0.0" + }, + { + "name": "Microsoft.WindowsDesktop.App", + "version": "7.0.0" + }, + { + "name": "Microsoft.AspNetCore.App", + "version": "7.0.0" + } + ], + "configProperties": { + "System.Reflection.Metadata.MetadataUpdater.IsSupported": false + } + } +} \ No newline at end of file diff --git a/Source/Platforms/DotNet/NUnit/agents/net40/nunit.agent.addins b/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit.agent.addins similarity index 100% rename from Source/Platforms/DotNet/NUnit/agents/net40/nunit.agent.addins rename to Source/Platforms/DotNet/NUnit/agents/net7.0/nunit.agent.addins diff --git a/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit.engine.api.dll b/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit.engine.api.dll new file mode 100644 index 000000000..65a8d3e89 --- /dev/null +++ b/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit.engine.api.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bebaef819565704ecd9b400bd1868ca4d2002f0d1955ac85ad0d316a96bd81e3 +size 17920 diff --git a/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit.engine.api.xml b/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit.engine.api.xml new file mode 100644 index 000000000..52687344e --- /dev/null +++ b/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit.engine.api.xml @@ -0,0 +1,1161 @@ + + + + nunit.engine.api + + + + + NUnitEngineException is thrown when the engine has been + called with improper values or when a particular facility + is not available. + + + + + Construct with a message + + + + + Construct with a message and inner exception + + + + + Serialization constructor + + + + + The exception that is thrown if a valid test engine is not found + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The minimum version. + + + + NUnitEngineUnloadException is thrown when a test run has completed successfully + but one or more errors were encountered when attempting to unload + and shut down the test run cleanly. + + + + + Construct with a message + + + + + Construct with a message and inner exception + + + + + Construct with a message and a collection of exceptions. + + + + + Serialization constructor. + + + + + Gets the collection of exceptions . + + + + + The ExtensionAttribute is used to identify a class that is intended + to serve as an extension. + + + + + Initializes a new instance of the class. + + + + + A unique string identifying the ExtensionPoint for which this Extension is + intended. This is an optional field provided NUnit is able to deduce the + ExtensionPoint from the Type of the extension class. + + + + + An optional description of what the extension does. + + + + + Flag indicating whether the extension is enabled. + + true if enabled; otherwise, false. + + + + The minimum Engine version for which this extension is designed + + + + + ExtensionPointAttribute is used at the assembly level to identify and + document any ExtensionPoints supported by the assembly. + + + + + Construct an ExtensionPointAttribute + + A unique string identifying the extension point. + The required Type of any extension that is installed at this extension point. + + + + The unique string identifying this ExtensionPoint. This identifier + is typically formatted as a path using '/' and the set of extension + points is sometimes viewed as forming a tree. + + + + + The required Type (usually an interface) of any extension that is + installed at this ExtensionPoint. + + + + + An optional description of the purpose of the ExtensionPoint + + + + + The ExtensionPropertyAttribute is used to specify named properties for an extension. + + + + + Construct an ExtensionPropertyAttribute + + The name of the property + The property value + + + + The name of the property. + + + + + The property value + + + + + Interface implemented by a Type that knows how to create a driver for a test assembly. + + + + + Gets a flag indicating whether a given AssemblyName + represents a test framework supported by this factory. + + An AssemblyName referring to the possible test framework. + + + + Gets a driver for a given test assembly and a framework + which the assembly is already known to reference. + + An AssemblyName referring to the test framework. + + + + + The IExtensionNode interface is implemented by a class that represents a + single extension being installed on a particular extension point. + + + + + Gets the full name of the Type of the extension object. + + + + + Gets a value indicating whether this is enabled. + + true if enabled; otherwise, false. + + + + Gets the unique string identifying the ExtensionPoint for which + this Extension is intended. This identifier may be supplied by the attribute + marking the extension or deduced by NUnit from the Type of the extension class. + + + + + Gets an optional description of what the extension does. + + + + + The TargetFramework of the extension assembly. + + + + + Gets a collection of the names of all this extension's properties + + + + + Gets a collection of the values of a particular named property + If none are present, returns an empty enumerator. + + The property name + A collection of values + + + + The path to the assembly implementing this extension. + + + + + The version of the assembly implementing this extension. + + + + + An ExtensionPoint represents a single point in the TestEngine + that may be extended by user addins and extensions. + + + + + Gets the unique path identifying this extension point. + + + + + Gets the description of this extension point. May be null. + + + + + Gets the FullName of the Type required for any extension to be installed at this extension point. + + + + + Gets an enumeration of IExtensionNodes for extensions installed on this extension point. + + + + + The IFrameworkDriver interface is implemented by a class that + is able to use an external framework to explore or run tests + under the engine. + + + + + Gets and sets the unique identifier for this driver, + used to ensure that test ids are unique across drivers. + + + + + Loads the tests in an assembly. + + An Xml string representing the loaded test + + + + Count the test cases that would be executed. + + An XML string representing the TestFilter to use in counting the tests + The number of test cases counted + + + + Executes the tests in an assembly. + + An ITestEventHandler that receives progress notices + A XML string representing the filter that controls which tests are executed + An Xml string representing the result + + + + Returns information about the tests in an assembly. + + An XML string representing the filter that controls which tests are included + An Xml string representing the tests + + + + Cancel the ongoing test run. If no test is running, the call is ignored. + + If true, cancel any ongoing test threads, otherwise wait for them to complete. + + + + Interface for the various project types that the engine can load. + + + + + Gets the path to the file storing this project, if any. + If the project has not been saved, this is null. + + + + + Gets the active configuration, as defined + by the particular project. + + + + + Gets a list of the configs for this project + + + + + Gets a test package for the primary or active + configuration within the project. The package + includes all the assemblies and any settings + specified in the project format. + + A TestPackage + + + + Gets a TestPackage for a specific configuration + within the project. The package includes all the + assemblies and any settings specified in the + project format. + + The name of the config to use + A TestPackage for the named configuration. + + + + The IProjectLoader interface is implemented by any class + that knows how to load projects in a specific format. + + + + + Returns true if the file indicated is one that this + loader knows how to load. + + The path of the project file + True if the loader knows how to load this file, otherwise false + + + + Loads a project of a known format. + + The path of the project file + An IProject interface to the loaded project or null if the project cannot be loaded + + + + Common interface for objects that process and write out test results + + + + + Checks if the output path is writable. If the output is not + writable, this method should throw an exception. + + + + + + Writes result to the specified output path. + + XmlNode for the result + Path to which it should be written + + + + Writes result to a TextWriter. + + XmlNode for the result + TextWriter to which it should be written + + + + TypeExtensionPointAttribute is used to bind an extension point + to a class or interface. + + + + + Construct a TypeExtensionPointAttribute, specifying the path. + + A unique string identifying the extension point. + + + + Construct an TypeExtensionPointAttribute, without specifying the path. + The extension point will use a path constructed based on the interface + or class to which the attribute is applied. + + + + + The unique string identifying this ExtensionPoint. This identifier + is typically formatted as a path using '/' and the set of extension + points is sometimes viewed as forming a tree. + + + + + An optional description of the purpose of the ExtensionPoint + + + + + Interface that returns a list of available runtime frameworks. + + + + + Gets a list of available runtime frameworks. + + + + + The IExtensionService interface allows a runner to manage extensions. + + + + + Gets an enumeration of all ExtensionPoints in the engine. + + + + + Gets an enumeration of all installed Extensions. + + + + + Get an ExtensionPoint based on its unique identifying path. + + + + + Get an enumeration of ExtensionNodes based on their identifying path. + + + + + Enable or disable an extension + + + + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + Interface to abstract getting loggers + + + + + Gets the logger. + + The name of the logger to get. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + The IRecentFiles interface is used to isolate the app + from various implementations of recent files. + + + + + The max number of files saved + + + + + Get a list of all the file entries + + The most recent file list + + + + Set the most recent file name, reordering + the saved names as needed and removing the oldest + if the max number of files would be exceeded. + The current CLR version is used to create the entry. + + + + + Remove a file from the list + + The name of the file to remove + + + + IResultWriterService provides result writers for a specified + well-known format. + + + + + Gets an array of the available formats + + + + + Gets a ResultWriter for a given format and set of arguments. + + The name of the format to be used + A set of arguments to be used in constructing the writer or null if non arguments are needed + An IResultWriter + + + + Interface implemented by objects representing a runtime framework. + + + + + Gets the inique Id for this runtime, such as "net-4.5" + + + + + Gets the display name of the framework, such as ".NET 4.5" + + + + + Gets the framework version: usually contains two components, Major + and Minor, which match the corresponding CLR components, but not always. + + + + + Gets the Version of the CLR for this framework + + + + + Gets a string representing the particular profile installed, + or null if there is no profile. Currently. the only defined + values are Full and Client. + + + + + Implemented by a type that provides information about the + current and other available runtimes. + + + + + Returns true if the runtime framework represented by + the string passed as an argument is available. + + A string representing a framework, like 'net-4.0' + True if the framework is available, false if unavailable or nonexistent + + + + Selects a target runtime framework for a TestPackage based on + the settings in the package and the assemblies themselves. + The package RuntimeFramework setting may be updated as a + result and the selected runtime is returned. + + Note that if a package has subpackages, the subpackages may run on a different + framework to the top-level package. In future, this method should + probably not return a simple string, and instead require runners + to inspect the test package structure, to find all desired frameworks. + + A TestPackage + The selected RuntimeFramework + + + + Enumeration representing the status of a service + + + + Service was never started or has been stopped + + + Started successfully + + + Service failed to start and is unavailable + + + + The IService interface is implemented by all Services. Although it + is extensible, it does not reside in the Extensibility namespace + because it is so widely used by the engine. + + + + + The ServiceContext + + + + + Gets the ServiceStatus of this service + + + + + Initialize the Service + + + + + Do any cleanup needed before terminating the service + + + + + IServiceLocator allows clients to locate any NUnit services + for which the interface is referenced. In normal use, this + linits it to those services using interfaces defined in the + nunit.engine.api assembly. + + + + + Return a specified type of service + + + + + Return a specified type of service + + + + + Event handler for settings changes + + The sender. + The instance containing the event data. + + + + Event argument for settings changes + + + + + Initializes a new instance of the class. + + Name of the setting that has changed. + + + + Gets the name of the setting that has changed + + + + + The ISettings interface is used to access all user + settings and options. + + + + + Occurs when the settings are changed. + + + + + Load a setting from the storage. + + Name of the setting to load + Value of the setting or null + + + + Load a setting from the storage or return a default value + + Name of the setting to load + Value to return if the setting is missing + Value of the setting or the default value + + + + Remove a setting from the storage + + Name of the setting to remove + + + + Remove an entire group of settings from the storage + + Name of the group to remove + + + + Save a setting in the storage + + Name of the setting to save + Value to be saved + + + + ITestEngine represents an instance of the test engine. + Clients wanting to discover, explore or run tests start + require an instance of the engine, which is generally + acquired from the TestEngineActivator class. + + + + + Gets the IServiceLocator interface, which gives access to + certain services provided by the engine. + + + + + Gets and sets the directory path used by the engine for saving files. + Some services may ignore changes to this path made after initialization. + The default value is the current directory. + + + + + Gets and sets the InternalTraceLevel used by the engine. Changing this + setting after initialization will have no effect. The default value + is the value saved in the NUnit settings. + + + + + Initialize the engine. This includes initializing mono addins, + setting the trace level and creating the standard set of services + used in the Engine. + + This interface is not normally called by user code. Programs linking + only to the nunit.engine.api assembly are given a + pre-initialized instance of TestEngine. Programs + that link directly to nunit.engine usually do so + in order to perform custom initialization. + + + + + Returns a test runner instance for use by clients in discovering, + exploring and executing tests. + + The TestPackage for which the runner is intended. + An ITestRunner. + + + + The ITestListener interface is used to receive notices of significant + events while a test is running. Its single method accepts an Xml string, + which may represent any event generated by the test framework, the driver + or any of the runners internal to the engine. Use of Xml means that + any driver and framework may add additional events and the engine will + simply pass them on through this interface. + + + + + Handle a progress report or other event. + + An XML progress report. + + + + Interface to a TestFilterBuilder, which is used to create TestFilters + + + + + Add a test to be selected + + The full name of the test, as created by NUnit + + + + Specify what is to be included by the filter using a where clause. + + A where clause that will be parsed by NUnit to create the filter. + + + + Get a TestFilter constructed according to the criteria specified by the other calls. + + A TestFilter. + + + + The TestFilterService provides builders that can create TestFilters + + + + + Get an uninitialized TestFilterBuilder + + + + + The ITestRun class represents an ongoing test run. + + + + + Get the result of the test. + + An XmlNode representing the test run result + + + + Blocks the current thread until the current test run completes + or the timeout is reached + + A that represents the number of milliseconds to wait or -1 milliseconds to wait indefinitely. + True if the run completed + + + + Interface implemented by all test runners. + + + + + Get a flag indicating whether a test is running + + + + + Load a TestPackage for possible execution + + An XmlNode representing the loaded package. + + This method is normally optional, since Explore and Run call + it automatically when necessary. The method is kept in order + to make it easier to convert older programs that use it. + + + + + Unload any loaded TestPackage. If none is loaded, + the call is ignored. + + + + + Reload the current TestPackage + + An XmlNode representing the loaded package. + + + + Count the test cases that would be run under + the specified filter. + + A TestFilter + The count of test cases + + + + Run the tests in the loaded TestPackage and return a test result. The tests + are run synchronously and the listener interface is notified as it progresses. + + The listener that is notified as the run progresses + A TestFilter used to select tests + An XmlNode giving the result of the test execution + + + + Start a run of the tests in the loaded TestPackage. The tests are run + asynchronously and the listener interface is notified as it progresses. + + The listener that is notified as the run progresses + A TestFilter used to select tests + + + + + Cancel the ongoing test run. If no test is running, the call is ignored. + + If true, cancel any ongoing test threads, otherwise wait for them to complete. + + + + Explore a loaded TestPackage and return information about the tests found. + + The TestFilter to be used in selecting tests to explore. + An XmlNode representing the tests found. + + + + TestEngineActivator creates an instance of the test engine and returns an ITestEngine interface. + + + + + Create an instance of the test engine. + + An + + + + Abstract base for all test filters. A filter is represented + by an XmlNode with <filter> as its topmost element. + In the console runner, filters serve only to carry this + XML representation, as all filtering is done by the engine. + + + + + Initializes a new instance of the class. + + The XML text that specifies the filter. + + + + The empty filter - one that always passes. + + + + + Gets the XML representation of this filter as a string. + + + + + TestPackage holds information about a set of test files to + be loaded by a TestRunner. Each TestPackage represents + tests for one or more test files. TestPackages may be named + or anonymous, depending on the constructor used. + + Upon construction, a package is given an ID (string), which + remains unchanged for the lifetime of the TestPackage instance. + The package ID is passed to the test framework for use in generating + test IDs. + + A runner that reloads test assemblies and wants the ids to remain stable + should avoid creating a new package but should instead use the original + package, changing settings as needed. This gives the best chance for the + tests in the reloaded assembly to match those originally loaded. + + + + + Construct a named TestPackage, specifying a file path for + the assembly or project to be used. + + The file path. + + + + Construct an anonymous TestPackage that wraps test files. + + + + + + Every test package gets a unique ID used to prefix test IDs within that package. + + + The generated ID is only unique for packages created within the same application domain. + For that reason, NUnit pre-creates all test packages that will be needed. + + + + + Gets the name of the package + + + + + Gets the path to the file containing tests. It may be + an assembly or a recognized project type. + + + + + Gets the list of SubPackages contained in this package + + + + + Gets the settings dictionary for this package. + + + + + Add a subproject to the package. + + The subpackage to be added + + + + Add a setting to a package and all of its subpackages. + + The name of the setting + The value of the setting + + Once a package is created, subpackages may have been created + as well. If you add a setting directly to the Settings dictionary + of the package, the subpackages are not updated. This method is + used when the settings are intended to be reflected to all the + subpackages under the package. + + + + + Return the value of a setting or a default. + + The name of the setting + The default value + + + + + TestSelectionParserException is thrown when an error + is found while parsing the selection expression. + + + + + Construct with a message + + + + + Construct with a message and inner exception + + + + + + + Serialization constructor + + + + diff --git a/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit.engine.core.dll b/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit.engine.core.dll new file mode 100644 index 000000000..9a39faa8f --- /dev/null +++ b/Source/Platforms/DotNet/NUnit/agents/net7.0/nunit.engine.core.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72a3987104e07bfcb530b5f1351f63246b8fd689daa54b621adb8527820fe435 +size 88064 diff --git a/Source/Platforms/DotNet/NUnit/agents/net7.0/testcentric.engine.metadata.dll b/Source/Platforms/DotNet/NUnit/agents/net7.0/testcentric.engine.metadata.dll new file mode 100644 index 000000000..4ffc2c0e6 --- /dev/null +++ b/Source/Platforms/DotNet/NUnit/agents/net7.0/testcentric.engine.metadata.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69e4533ee53bfcee5305ee16c1fe485c4d4d8525ac3d367d9e04d5b4baa4a6c6 +size 177664 diff --git a/Source/Platforms/DotNet/NUnit/nunit.engine.api.dll b/Source/Platforms/DotNet/NUnit/nunit.engine.api.dll index a45e82745..9afd14e77 100644 --- a/Source/Platforms/DotNet/NUnit/nunit.engine.api.dll +++ b/Source/Platforms/DotNet/NUnit/nunit.engine.api.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f6a0a660f2dccf4e3afd4c0bbe505f37b9886417bbd15934b967b5531d92c9f5 +oid sha256:c68caf77b584b124418b5e10862020c224aa691461755b2ba1f50f378f8f03a7 size 18432 diff --git a/Source/Platforms/DotNet/NUnit/nunit.engine.api.xml b/Source/Platforms/DotNet/NUnit/nunit.engine.api.xml new file mode 100644 index 000000000..fa8e3cdeb --- /dev/null +++ b/Source/Platforms/DotNet/NUnit/nunit.engine.api.xml @@ -0,0 +1,1173 @@ + + + + nunit.engine.api + + + + + NUnitEngineException is thrown when the engine has been + called with improper values or when a particular facility + is not available. + + + + + Construct with a message + + + + + Construct with a message and inner exception + + + + + Serialization constructor + + + + + The exception that is thrown if a valid test engine is not found + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The minimum version. + + + + NUnitEngineUnloadException is thrown when a test run has completed successfully + but one or more errors were encountered when attempting to unload + and shut down the test run cleanly. + + + + + Construct with a message + + + + + Construct with a message and inner exception + + + + + Construct with a message and a collection of exceptions. + + + + + Serialization constructor. + + + + + Gets the collection of exceptions . + + + + + The ExtensionAttribute is used to identify a class that is intended + to serve as an extension. + + + + + Initializes a new instance of the class. + + + + + A unique string identifying the ExtensionPoint for which this Extension is + intended. This is an optional field provided NUnit is able to deduce the + ExtensionPoint from the Type of the extension class. + + + + + An optional description of what the extension does. + + + + + Flag indicating whether the extension is enabled. + + true if enabled; otherwise, false. + + + + The minimum Engine version for which this extension is designed + + + + + ExtensionPointAttribute is used at the assembly level to identify and + document any ExtensionPoints supported by the assembly. + + + + + Construct an ExtensionPointAttribute + + A unique string identifying the extension point. + The required Type of any extension that is installed at this extension point. + + + + The unique string identifying this ExtensionPoint. This identifier + is typically formatted as a path using '/' and the set of extension + points is sometimes viewed as forming a tree. + + + + + The required Type (usually an interface) of any extension that is + installed at this ExtensionPoint. + + + + + An optional description of the purpose of the ExtensionPoint + + + + + The ExtensionPropertyAttribute is used to specify named properties for an extension. + + + + + Construct an ExtensionPropertyAttribute + + The name of the property + The property value + + + + The name of the property. + + + + + The property value + + + + + Interface implemented by a Type that knows how to create a driver for a test assembly. + + + + + Gets a flag indicating whether a given AssemblyName + represents a test framework supported by this factory. + + An AssemblyName referring to the possible test framework. + + + + Gets a driver for a given test assembly and a framework + which the assembly is already known to reference. + + The domain in which the assembly will be loaded + An AssemblyName referring to the test framework. + + + + + The IExtensionNode interface is implemented by a class that represents a + single extension being installed on a particular extension point. + + + + + Gets the full name of the Type of the extension object. + + + + + Gets a value indicating whether this is enabled. + + true if enabled; otherwise, false. + + + + Gets the unique string identifying the ExtensionPoint for which + this Extension is intended. This identifier may be supplied by the attribute + marking the extension or deduced by NUnit from the Type of the extension class. + + + + + Gets an optional description of what the extension does. + + + + + The TargetFramework of the extension assembly. + + + + + Gets a collection of the names of all this extension's properties + + + + + Gets a collection of the values of a particular named property + If none are present, returns an empty enumerator. + + The property name + A collection of values + + + + The path to the assembly implementing this extension. + + + + + The version of the assembly implementing this extension. + + + + + An ExtensionPoint represents a single point in the TestEngine + that may be extended by user addins and extensions. + + + + + Gets the unique path identifying this extension point. + + + + + Gets the description of this extension point. May be null. + + + + + Gets the FullName of the Type required for any extension to be installed at this extension point. + + + + + Gets an enumeration of IExtensionNodes for extensions installed on this extension point. + + + + + The IFrameworkDriver interface is implemented by a class that + is able to use an external framework to explore or run tests + under the engine. + + + + + Gets and sets the unique identifier for this driver, + used to ensure that test ids are unique across drivers. + + + + + Loads the tests in an assembly. + + An Xml string representing the loaded test + + + + Count the test cases that would be executed. + + An XML string representing the TestFilter to use in counting the tests + The number of test cases counted + + + + Executes the tests in an assembly. + + An ITestEventHandler that receives progress notices + A XML string representing the filter that controls which tests are executed + An Xml string representing the result + + + + Returns information about the tests in an assembly. + + An XML string representing the filter that controls which tests are included + An Xml string representing the tests + + + + Cancel the ongoing test run. If no test is running, the call is ignored. + + If true, cancel any ongoing test threads, otherwise wait for them to complete. + + + + Interface for the various project types that the engine can load. + + + + + Gets the path to the file storing this project, if any. + If the project has not been saved, this is null. + + + + + Gets the active configuration, as defined + by the particular project. + + + + + Gets a list of the configs for this project + + + + + Gets a test package for the primary or active + configuration within the project. The package + includes all the assemblies and any settings + specified in the project format. + + A TestPackage + + + + Gets a TestPackage for a specific configuration + within the project. The package includes all the + assemblies and any settings specified in the + project format. + + The name of the config to use + A TestPackage for the named configuration. + + + + The IProjectLoader interface is implemented by any class + that knows how to load projects in a specific format. + + + + + Returns true if the file indicated is one that this + loader knows how to load. + + The path of the project file + True if the loader knows how to load this file, otherwise false + + + + Loads a project of a known format. + + The path of the project file + An IProject interface to the loaded project or null if the project cannot be loaded + + + + Common interface for objects that process and write out test results + + + + + Checks if the output path is writable. If the output is not + writable, this method should throw an exception. + + + + + + Writes result to the specified output path. + + XmlNode for the result + Path to which it should be written + + + + Writes result to a TextWriter. + + XmlNode for the result + TextWriter to which it should be written + + + + TypeExtensionPointAttribute is used to bind an extension point + to a class or interface. + + + + + Construct a TypeExtensionPointAttribute, specifying the path. + + A unique string identifying the extension point. + + + + Construct an TypeExtensionPointAttribute, without specifying the path. + The extension point will use a path constructed based on the interface + or class to which the attribute is applied. + + + + + The unique string identifying this ExtensionPoint. This identifier + is typically formatted as a path using '/' and the set of extension + points is sometimes viewed as forming a tree. + + + + + An optional description of the purpose of the ExtensionPoint + + + + + Interface that returns a list of available runtime frameworks. + + + + + Gets a list of available runtime frameworks. + + + + + The IExtensionService interface allows a runner to manage extensions. + + + + + Gets an enumeration of all ExtensionPoints in the engine. + + + + + Gets an enumeration of all installed Extensions. + + + + + Get an ExtensionPoint based on its unique identifying path. + + + + + Get an enumeration of ExtensionNodes based on their identifying path. + + + + + Enable or disable an extension + + + + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + Interface to abstract getting loggers + + + + + Gets the logger. + + The name of the logger to get. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + The IRecentFiles interface is used to isolate the app + from various implementations of recent files. + + + + + The max number of files saved + + + + + Get a list of all the file entries + + The most recent file list + + + + Set the most recent file name, reordering + the saved names as needed and removing the oldest + if the max number of files would be exceeded. + The current CLR version is used to create the entry. + + + + + Remove a file from the list + + The name of the file to remove + + + + IResultWriterService provides result writers for a specified + well-known format. + + + + + Gets an array of the available formats + + + + + Gets a ResultWriter for a given format and set of arguments. + + The name of the format to be used + A set of arguments to be used in constructing the writer or null if non arguments are needed + An IResultWriter + + + + Interface implemented by objects representing a runtime framework. + + + + + Gets the inique Id for this runtime, such as "net-4.5" + + + + + Gets the display name of the framework, such as ".NET 4.5" + + + + + Gets the framework version: usually contains two components, Major + and Minor, which match the corresponding CLR components, but not always. + + + + + Gets the Version of the CLR for this framework + + + + + Gets a string representing the particular profile installed, + or null if there is no profile. Currently. the only defined + values are Full and Client. + + + + + Implemented by a type that provides information about the + current and other available runtimes. + + + + + Returns true if the runtime framework represented by + the string passed as an argument is available. + + A string representing a framework, like 'net-4.0' + True if the framework is available, false if unavailable or nonexistent + + + + Selects a target runtime framework for a TestPackage based on + the settings in the package and the assemblies themselves. + The package RuntimeFramework setting may be updated as a + result and the selected runtime is returned. + + Note that if a package has subpackages, the subpackages may run on a different + framework to the top-level package. In future, this method should + probably not return a simple string, and instead require runners + to inspect the test package structure, to find all desired frameworks. + + A TestPackage + The selected RuntimeFramework + + + + Enumeration representing the status of a service + + + + Service was never started or has been stopped + + + Started successfully + + + Service failed to start and is unavailable + + + + The IService interface is implemented by all Services. Although it + is extensible, it does not reside in the Extensibility namespace + because it is so widely used by the engine. + + + + + The ServiceContext + + + + + Gets the ServiceStatus of this service + + + + + Initialize the Service + + + + + Do any cleanup needed before terminating the service + + + + + IServiceLocator allows clients to locate any NUnit services + for which the interface is referenced. In normal use, this + linits it to those services using interfaces defined in the + nunit.engine.api assembly. + + + + + Return a specified type of service + + + + + Return a specified type of service + + + + + Event handler for settings changes + + The sender. + The instance containing the event data. + + + + Event argument for settings changes + + + + + Initializes a new instance of the class. + + Name of the setting that has changed. + + + + Gets the name of the setting that has changed + + + + + The ISettings interface is used to access all user + settings and options. + + + + + Occurs when the settings are changed. + + + + + Load a setting from the storage. + + Name of the setting to load + Value of the setting or null + + + + Load a setting from the storage or return a default value + + Name of the setting to load + Value to return if the setting is missing + Value of the setting or the default value + + + + Remove a setting from the storage + + Name of the setting to remove + + + + Remove an entire group of settings from the storage + + Name of the group to remove + + + + Save a setting in the storage + + Name of the setting to save + Value to be saved + + + + ITestEngine represents an instance of the test engine. + Clients wanting to discover, explore or run tests start + require an instance of the engine, which is generally + acquired from the TestEngineActivator class. + + + + + Gets the IServiceLocator interface, which gives access to + certain services provided by the engine. + + + + + Gets and sets the directory path used by the engine for saving files. + Some services may ignore changes to this path made after initialization. + The default value is the current directory. + + + + + Gets and sets the InternalTraceLevel used by the engine. Changing this + setting after initialization will have no effect. The default value + is the value saved in the NUnit settings. + + + + + Initialize the engine. This includes initializing mono addins, + setting the trace level and creating the standard set of services + used in the Engine. + + This interface is not normally called by user code. Programs linking + only to the nunit.engine.api assembly are given a + pre-initialized instance of TestEngine. Programs + that link directly to nunit.engine usually do so + in order to perform custom initialization. + + + + + Returns a test runner instance for use by clients in discovering, + exploring and executing tests. + + The TestPackage for which the runner is intended. + An ITestRunner. + + + + The ITestListener interface is used to receive notices of significant + events while a test is running. Its single method accepts an Xml string, + which may represent any event generated by the test framework, the driver + or any of the runners internal to the engine. Use of Xml means that + any driver and framework may add additional events and the engine will + simply pass them on through this interface. + + + + + Handle a progress report or other event. + + An XML progress report. + + + + Interface to a TestFilterBuilder, which is used to create TestFilters + + + + + Add a test to be selected + + The full name of the test, as created by NUnit + + + + Specify what is to be included by the filter using a where clause. + + A where clause that will be parsed by NUnit to create the filter. + + + + Get a TestFilter constructed according to the criteria specified by the other calls. + + A TestFilter. + + + + The TestFilterService provides builders that can create TestFilters + + + + + Get an uninitialized TestFilterBuilder + + + + + The ITestRun class represents an ongoing test run. + + + + + Get the result of the test. + + An XmlNode representing the test run result + + + + Blocks the current thread until the current test run completes + or the timeout is reached + + A that represents the number of milliseconds to wait or -1 milliseconds to wait indefinitely. + True if the run completed + + + + Interface implemented by all test runners. + + + + + Get a flag indicating whether a test is running + + + + + Load a TestPackage for possible execution + + An XmlNode representing the loaded package. + + This method is normally optional, since Explore and Run call + it automatically when necessary. The method is kept in order + to make it easier to convert older programs that use it. + + + + + Unload any loaded TestPackage. If none is loaded, + the call is ignored. + + + + + Reload the current TestPackage + + An XmlNode representing the loaded package. + + + + Count the test cases that would be run under + the specified filter. + + A TestFilter + The count of test cases + + + + Run the tests in the loaded TestPackage and return a test result. The tests + are run synchronously and the listener interface is notified as it progresses. + + The listener that is notified as the run progresses + A TestFilter used to select tests + An XmlNode giving the result of the test execution + + + + Start a run of the tests in the loaded TestPackage. The tests are run + asynchronously and the listener interface is notified as it progresses. + + The listener that is notified as the run progresses + A TestFilter used to select tests + + + + + Cancel the ongoing test run. If no test is running, the call is ignored. + + If true, cancel any ongoing test threads, otherwise wait for them to complete. + + + + Explore a loaded TestPackage and return information about the tests found. + + The TestFilter to be used in selecting tests to explore. + An XmlNode representing the tests found. + + + + TestEngineActivator creates an instance of the test engine and returns an ITestEngine interface. + + + + + Create an instance of the test engine. + + This parameter is no longer used but has not been removed to ensure API compatibility. + Thrown when a test engine of the required minimum version is not found + An + + + + Create an instance of the test engine with a minimum version. + + The minimum version of the engine to return inclusive. + This parameter is no longer used but has not been removed to ensure API compatibility. + Thrown when a test engine of the required minimum version is not found + An + + + + Abstract base for all test filters. A filter is represented + by an XmlNode with <filter> as its topmost element. + In the console runner, filters serve only to carry this + XML representation, as all filtering is done by the engine. + + + + + Initializes a new instance of the class. + + The XML text that specifies the filter. + + + + The empty filter - one that always passes. + + + + + Gets the XML representation of this filter as a string. + + + + + TestPackage holds information about a set of test files to + be loaded by a TestRunner. Each TestPackage represents + tests for one or more test files. TestPackages may be named + or anonymous, depending on the constructor used. + + Upon construction, a package is given an ID (string), which + remains unchanged for the lifetime of the TestPackage instance. + The package ID is passed to the test framework for use in generating + test IDs. + + A runner that reloads test assemblies and wants the ids to remain stable + should avoid creating a new package but should instead use the original + package, changing settings as needed. This gives the best chance for the + tests in the reloaded assembly to match those originally loaded. + + + + + Construct a named TestPackage, specifying a file path for + the assembly or project to be used. + + The file path. + + + + Construct an anonymous TestPackage that wraps test files. + + + + + + Every test package gets a unique ID used to prefix test IDs within that package. + + + The generated ID is only unique for packages created within the same application domain. + For that reason, NUnit pre-creates all test packages that will be needed. + + + + + Gets the name of the package + + + + + Gets the path to the file containing tests. It may be + an assembly or a recognized project type. + + + + + Gets the list of SubPackages contained in this package + + + + + Gets the settings dictionary for this package. + + + + + Add a subproject to the package. + + The subpackage to be added + + + + Add a setting to a package and all of its subpackages. + + The name of the setting + The value of the setting + + Once a package is created, subpackages may have been created + as well. If you add a setting directly to the Settings dictionary + of the package, the subpackages are not updated. This method is + used when the settings are intended to be reflected to all the + subpackages under the package. + + + + + Return the value of a setting or a default. + + The name of the setting + The default value + + + + + TestSelectionParserException is thrown when an error + is found while parsing the selection expression. + + + + + Construct with a message + + + + + Construct with a message and inner exception + + + + + + + Serialization constructor + + + + diff --git a/Source/Platforms/DotNet/NUnit/nunit.engine.core.dll b/Source/Platforms/DotNet/NUnit/nunit.engine.core.dll index 935b70004..b52d4237f 100644 --- a/Source/Platforms/DotNet/NUnit/nunit.engine.core.dll +++ b/Source/Platforms/DotNet/NUnit/nunit.engine.core.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b41b23f245b05e16838d0fa6dfba0e378c9f87f6017ce501871f324c85f9a0ac -size 107520 +oid sha256:44f5d56c9a16f600e24dcc14a3475a9086023d533960475da1be4bc2ca739df4 +size 111616 diff --git a/Source/Platforms/DotNet/NUnit/nunit.engine.dll b/Source/Platforms/DotNet/NUnit/nunit.engine.dll index 4c113f5fe..cc7db1f08 100644 --- a/Source/Platforms/DotNet/NUnit/nunit.engine.dll +++ b/Source/Platforms/DotNet/NUnit/nunit.engine.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4d41aada1f54dc87a4b26db80a3a04ef879a76c55cddfcd42586ee28565b98ae +oid sha256:ba2c0510a1426f5b5a943543d783b6179bbff59b4c1b74b02a504e8519daf4d0 size 65024 diff --git a/Source/Platforms/DotNet/NUnit/nunit3-console.exe b/Source/Platforms/DotNet/NUnit/nunit3-console.exe index 107e5526f..ca7bf6dd9 100644 --- a/Source/Platforms/DotNet/NUnit/nunit3-console.exe +++ b/Source/Platforms/DotNet/NUnit/nunit3-console.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:44535aeab2d5bf758bda9ed7783d8afdb8494f7518f9e71004ae857e7c958a97 -size 166912 +oid sha256:a4cea437e36e7bafd32220f0d8060d83865ebfda3e9744fd20894bd69f99db32 +size 165376 diff --git a/Source/Platforms/DotNet/NUnit/nunit3-console.exe.config b/Source/Platforms/DotNet/NUnit/nunit3-console.exe.config index 086bd73df..bf784cbb9 100644 --- a/Source/Platforms/DotNet/NUnit/nunit3-console.exe.config +++ b/Source/Platforms/DotNet/NUnit/nunit3-console.exe.config @@ -1,12 +1,29 @@ + + + + + + + \ No newline at end of file diff --git a/Source/Platforms/DotNet/NUnit/testcentric.engine.metadata.dll b/Source/Platforms/DotNet/NUnit/testcentric.engine.metadata.dll index f2f4e639f..8d16a9559 100644 --- a/Source/Platforms/DotNet/NUnit/testcentric.engine.metadata.dll +++ b/Source/Platforms/DotNet/NUnit/testcentric.engine.metadata.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b6975c9821f1bd152de573516847cf0d7bfde33a7dae52553e8149a0cd490e4 -size 177152 +oid sha256:b08bf44fd3270243def47673d606959915ba723db7e694e58cb44a92145b0ebb +size 176640 diff --git a/Source/Tools/Flax.Build.Tests/Flax.Build.Tests.csproj b/Source/Tools/Flax.Build.Tests/Flax.Build.Tests.csproj index 7e0d667bc..d89fd2d40 100644 --- a/Source/Tools/Flax.Build.Tests/Flax.Build.Tests.csproj +++ b/Source/Tools/Flax.Build.Tests/Flax.Build.Tests.csproj @@ -7,11 +7,16 @@ 11.0 disable annotations + false ..\..\..\Binaries\Tools\ false false USE_NETCORE;FLAX_ASSERTIONS portable + false + false + false + false diff --git a/Source/Tools/Flax.Build/Flax.Build.csproj b/Source/Tools/Flax.Build/Flax.Build.csproj index fc6682836..497bc8580 100644 --- a/Source/Tools/Flax.Build/Flax.Build.csproj +++ b/Source/Tools/Flax.Build/Flax.Build.csproj @@ -9,11 +9,12 @@ ..\..\..\Binaries\Tools ..\..\..\Binaries\Tools false + false true false USE_NETCORE portable - False + false none true 1701;1702;8981 @@ -31,7 +32,7 @@ - False + false ..\..\..\Source\Platforms\DotNet\Newtonsoft.Json.dll diff --git a/Source/Tools/Flax.Build/Projects/VisualStudio/CSSDKProjectGenerator.cs b/Source/Tools/Flax.Build/Projects/VisualStudio/CSSDKProjectGenerator.cs index b69c39aa5..039c7e907 100644 --- a/Source/Tools/Flax.Build/Projects/VisualStudio/CSSDKProjectGenerator.cs +++ b/Source/Tools/Flax.Build/Projects/VisualStudio/CSSDKProjectGenerator.cs @@ -43,11 +43,15 @@ namespace Flax.Build.Projects.VisualStudio break; } } - var defaultConfiguration = TargetConfiguration.Debug; - var defaultArchitecture = TargetArchitecture.AnyCPU; - var projectTypes = ProjectTypeGuids.ToOption(ProjectTypeGuids.WindowsCSharp); - if (vsProject.CSharp.UseFlaxVS && VisualStudioInstance.HasFlaxVS) - projectTypes = ProjectTypeGuids.ToOption(ProjectTypeGuids.FlaxVS) + ';' + projectTypes; + var defaultConfiguration = project.Configurations.First(); + foreach (var e in project.Configurations) + { + if (e.Configuration == defaultConfiguration.Configuration && e.Target == defaultTarget && e.Platform == Platform.BuildTargetPlatform) + { + defaultConfiguration = e; + break; + } + } // Header csProjectFileContent.AppendLine(""); @@ -57,6 +61,16 @@ namespace Flax.Build.Projects.VisualStudio csProjectFileContent.AppendLine(" "); + // List supported platforms and configurations + var allConfigurations = project.Configurations.Select(x => x.Text).Distinct().ToArray(); + var allPlatforms = project.Configurations.Select(x => x.ArchitectureName).Distinct().ToArray(); + csProjectFileContent.AppendLine(string.Format(" {0}", string.Join(";", allConfigurations))); + csProjectFileContent.AppendLine(string.Format(" {0}", string.Join(";", allPlatforms))); + + // Provide default platform and configuration + csProjectFileContent.AppendLine(string.Format(" {0}", defaultConfiguration.Text)); + csProjectFileContent.AppendLine(string.Format(" {0}", defaultConfiguration.ArchitectureName)); + switch (project.OutputType ?? defaultTarget.OutputType) { case TargetOutputType.Executable: @@ -71,39 +85,36 @@ namespace Flax.Build.Projects.VisualStudio var baseConfiguration = project.Configurations.First(); var baseOutputDir = Utilities.MakePathRelativeTo(project.CSharp.OutputPath ?? baseConfiguration.TargetBuildOptions.OutputFolder, projectDirectory); var baseIntermediateOutputPath = Utilities.MakePathRelativeTo(project.CSharp.IntermediateOutputPath ?? Path.Combine(baseConfiguration.TargetBuildOptions.IntermediateFolder, "CSharp"), projectDirectory); - var baseConfigurations = project.Configurations.Select(x => x.Name.Split('|')[0]).Distinct().ToArray(); csProjectFileContent.AppendLine(" net7.0"); csProjectFileContent.AppendLine(" disable"); csProjectFileContent.AppendLine(" annotations"); - csProjectFileContent.AppendLine(string.Format(" {0}", string.Join(";", baseConfigurations))); csProjectFileContent.AppendLine(" false"); - csProjectFileContent.AppendLine(" true"); // Needed for Hostfxr - csProjectFileContent.AppendLine(" true"); // ? csProjectFileContent.AppendLine(" false"); + csProjectFileContent.AppendLine(" false"); csProjectFileContent.AppendLine(" false"); csProjectFileContent.AppendLine(" false"); + csProjectFileContent.AppendLine(" false"); csProjectFileContent.AppendLine(string.Format(" {0}", project.BaseName)); csProjectFileContent.AppendLine(string.Format(" {0}.CSharp", project.BaseName)); csProjectFileContent.AppendLine(" 11.0"); csProjectFileContent.AppendLine(" 512"); - csProjectFileContent.AppendLine(string.Format(" {0}", baseOutputDir)); // This needs to be set here to fix errors in VS - csProjectFileContent.AppendLine(string.Format(" {0}", baseIntermediateOutputPath)); // This needs to be set here to fix errors in VS + + // Needed for Hostfxr + csProjectFileContent.AppendLine(" true"); + csProjectFileContent.AppendLine(" true"); + //csProjectFileContent.AppendLine(" false"); // TODO: use it to reduce burden of framework libs + + // This needs to be set here to fix errors in VS + csProjectFileContent.AppendLine(string.Format(" {0}", baseOutputDir)); + csProjectFileContent.AppendLine(string.Format(" {0}", baseIntermediateOutputPath)); csProjectFileContent.AppendLine(" "); csProjectFileContent.AppendLine(""); // Default configuration { - var configuration = project.Configurations.First(); - foreach (var e in project.Configurations) - { - if (e.Configuration == defaultConfiguration && e.Target == defaultTarget && e.Platform == Platform.BuildTargetPlatform) - { - configuration = e; - break; - } - } + var configuration = defaultConfiguration; var defines = string.Join(";", project.Defines); if (configuration.TargetBuildOptions.ScriptingAPI.Defines.Count != 0) { @@ -114,10 +125,10 @@ namespace Flax.Build.Projects.VisualStudio var outputPath = Utilities.MakePathRelativeTo(project.CSharp.OutputPath ?? configuration.TargetBuildOptions.OutputFolder, projectDirectory); var intermediateOutputPath = Utilities.MakePathRelativeTo(project.CSharp.IntermediateOutputPath ?? Path.Combine(configuration.TargetBuildOptions.IntermediateFolder, "CSharp"), projectDirectory); - csProjectFileContent.AppendLine(string.Format(" ", defaultConfiguration, defaultArchitecture)); + csProjectFileContent.AppendLine(string.Format(" ", configuration.Name)); csProjectFileContent.AppendLine(" true"); csProjectFileContent.AppendLine(" portable"); - csProjectFileContent.AppendLine(string.Format(" {0}", defaultConfiguration == TargetConfiguration.Debug ? "false" : "true")); + csProjectFileContent.AppendLine(string.Format(" {0}", configuration.Configuration == TargetConfiguration.Debug ? "false" : "true")); csProjectFileContent.AppendLine(string.Format(" {0}\\", outputPath)); csProjectFileContent.AppendLine(string.Format(" {0}\\", intermediateOutputPath)); csProjectFileContent.AppendLine(string.Format(" {0}\\", intermediateOutputPath)); @@ -127,9 +138,10 @@ namespace Flax.Build.Projects.VisualStudio csProjectFileContent.AppendLine(" true"); if (configuration.TargetBuildOptions.ScriptingAPI.IgnoreMissingDocumentationWarnings) csProjectFileContent.AppendLine(" 1591"); - csProjectFileContent.AppendLine(string.Format(" {0}\\{1}.CSharp.xml", outputPath, project.Name)); + csProjectFileContent.AppendLine(string.Format(" {0}\\{1}.CSharp.xml", outputPath, project.BaseName)); csProjectFileContent.AppendLine(" true"); csProjectFileContent.AppendLine(" "); + csProjectFileContent.AppendLine(""); } // Configurations @@ -145,7 +157,7 @@ namespace Flax.Build.Projects.VisualStudio var outputPath = Utilities.MakePathRelativeTo(project.CSharp.OutputPath ?? configuration.TargetBuildOptions.OutputFolder, projectDirectory); var intermediateOutputPath = Utilities.MakePathRelativeTo(project.CSharp.IntermediateOutputPath ?? Path.Combine(configuration.TargetBuildOptions.IntermediateFolder, "CSharp"), projectDirectory); - csProjectFileContent.AppendLine(string.Format(" ", configuration.Name, configuration.Name.Replace(configuration.ArchitectureName, "AnyCPU"))); + csProjectFileContent.AppendLine(string.Format(" ", configuration.Name)); csProjectFileContent.AppendLine(" true"); csProjectFileContent.AppendLine(" portable"); csProjectFileContent.AppendLine(string.Format(" {0}", configuration.Configuration == TargetConfiguration.Release ? "true" : "false")); @@ -158,9 +170,10 @@ namespace Flax.Build.Projects.VisualStudio csProjectFileContent.AppendLine(" true"); if (configuration.TargetBuildOptions.ScriptingAPI.IgnoreMissingDocumentationWarnings) csProjectFileContent.AppendLine(" 1591"); - csProjectFileContent.AppendLine(string.Format(" {0}\\{1}.CSharp.xml", outputPath, project.Name)); + csProjectFileContent.AppendLine(string.Format(" {0}\\{1}.CSharp.xml", outputPath, project.BaseName)); csProjectFileContent.AppendLine(" true"); csProjectFileContent.AppendLine(" "); + csProjectFileContent.AppendLine(""); } // References @@ -184,11 +197,12 @@ namespace Flax.Build.Projects.VisualStudio { csProjectFileContent.AppendLine(string.Format(" ", Utilities.MakePathRelativeTo(dependency.Path, projectDirectory))); csProjectFileContent.AppendLine(string.Format(" {0}", ((VisualStudioProject)dependency).ProjectGuid.ToString("B").ToUpperInvariant())); - csProjectFileContent.AppendLine(string.Format(" {0}", dependency.Name)); + csProjectFileContent.AppendLine(string.Format(" {0}", dependency.BaseName)); csProjectFileContent.AppendLine(" "); } csProjectFileContent.AppendLine(" "); + csProjectFileContent.AppendLine(""); // Files and folders diff --git a/Source/Tools/FlaxEngine.Tests/FlaxEngine.Tests.csproj b/Source/Tools/FlaxEngine.Tests/FlaxEngine.Tests.csproj index 66caa2167..42a7cbf96 100644 --- a/Source/Tools/FlaxEngine.Tests/FlaxEngine.Tests.csproj +++ b/Source/Tools/FlaxEngine.Tests/FlaxEngine.Tests.csproj @@ -1,5 +1,9 @@  + Editor.Windows.Debug;Editor.Linux.Debug + x64 + Editor.Windows.Debug + x64 {4AAED6A2-38B1-4A31-AB04-9264A94A8ECA} {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} UnitTest @@ -7,20 +11,18 @@ 11.0 disable annotations + false + pdbonly true ..\..\..\Binaries\Tools\ + ..\..\..\Cache\Intermediate\FlaxEngine.Tests\Debug false false USE_NETCORE;FLAX_ASSERTIONS - - - - full - ..\..\..\Cache\Intermediate\FlaxEngine.Tests\Debug - - - pdbonly - ..\..\..\Cache\Intermediate\FlaxEngine.Tests\Release + false + false + false + false diff --git a/Source/Tools/FlaxEngine.Tests/TestEditorUtils.cs b/Source/Tools/FlaxEngine.Tests/TestEditorUtils.cs index 5ff507e34..119642d5d 100644 --- a/Source/Tools/FlaxEngine.Tests/TestEditorUtils.cs +++ b/Source/Tools/FlaxEngine.Tests/TestEditorUtils.cs @@ -1,5 +1,7 @@ // Copyright (c) 2012-2022 Wojciech Figat. All rights reserved. +using System; +using System.Globalization; using NUnit.Framework; namespace FlaxEngine.Tests @@ -16,6 +18,8 @@ namespace FlaxEngine.Tests [Test] public void TestFormatFloat() { + CultureInfo.CurrentCulture = CultureInfo.InvariantCulture; + Assert.AreEqual("0", FlaxEditor.Utilities.Utils.FormatFloat(0.0f)); Assert.AreEqual("0", FlaxEditor.Utilities.Utils.FormatFloat(0.0d)); Assert.AreEqual("0.1234", FlaxEditor.Utilities.Utils.FormatFloat(0.1234f)); @@ -37,8 +41,8 @@ namespace FlaxEngine.Tests { double value1 = sign * value; string text = FlaxEditor.Utilities.Utils.FormatFloat(value1); - Assert.IsFalse(text.Contains("e")); - Assert.IsFalse(text.Contains("E")); + Assert.IsFalse(text.Contains("e", StringComparison.Ordinal)); + Assert.IsFalse(text.Contains("E", StringComparison.Ordinal)); double value2 = double.Parse(text); Assert.AreEqual(value2, value1); } @@ -49,8 +53,8 @@ namespace FlaxEngine.Tests { float value1 = (float)(sign * value); string text = FlaxEditor.Utilities.Utils.FormatFloat(value1); - Assert.IsFalse(text.Contains("e")); - Assert.IsFalse(text.Contains("E")); + Assert.IsFalse(text.Contains("e", StringComparison.Ordinal)); + Assert.IsFalse(text.Contains("E", StringComparison.Ordinal)); float value2 = float.Parse(text); Assert.AreEqual(value2, value1); }