From d68189ae3d3331e0fb30773aa405c7b42cf234cc Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Mon, 16 Aug 2021 12:18:11 +0200 Subject: [PATCH] Tweaks for native engine tests #601 --- .../TestsMain.cpp => Tests/TestMain.cpp} | 0 .../StringTests.cpp => Tests/TestString.cpp} | 3 --- .../TestsMain.Build.cs => Tests/Tests.Build.cs} | 12 ++++++++---- ...axNativeTests.Build.cs => FlaxTests.Build.cs} | 16 +++++++++------- Source/Tools/Flax.Build/Build/Module.cs | 5 +++++ .../Tools/Flax.Build/Deploy/Deployment.Editor.cs | 2 ++ 6 files changed, 24 insertions(+), 14 deletions(-) rename Source/Engine/{TestsMain/TestsMain.cpp => Tests/TestMain.cpp} (100%) rename Source/Engine/{TestsMain/StringTests.cpp => Tests/TestString.cpp} (99%) rename Source/Engine/{TestsMain/TestsMain.Build.cs => Tests/Tests.Build.cs} (64%) rename Source/{FlaxNativeTests.Build.cs => FlaxTests.Build.cs} (81%) diff --git a/Source/Engine/TestsMain/TestsMain.cpp b/Source/Engine/Tests/TestMain.cpp similarity index 100% rename from Source/Engine/TestsMain/TestsMain.cpp rename to Source/Engine/Tests/TestMain.cpp diff --git a/Source/Engine/TestsMain/StringTests.cpp b/Source/Engine/Tests/TestString.cpp similarity index 99% rename from Source/Engine/TestsMain/StringTests.cpp rename to Source/Engine/Tests/TestString.cpp index c90239b71..69028ddb6 100644 --- a/Source/Engine/TestsMain/StringTests.cpp +++ b/Source/Engine/Tests/TestString.cpp @@ -1,12 +1,9 @@ // Copyright (c) 2012-2021 Wojciech Figat. All rights reserved. - #include "Engine/Core/Types/String.h" #include "Engine/Core/Types/StringView.h" - #include - TEST_CASE("String Replace works") { SECTION("Char, case sensitive") { String str("hello HELLO"); diff --git a/Source/Engine/TestsMain/TestsMain.Build.cs b/Source/Engine/Tests/Tests.Build.cs similarity index 64% rename from Source/Engine/TestsMain/TestsMain.Build.cs rename to Source/Engine/Tests/Tests.Build.cs index cd0bfd6fb..775388c5d 100644 --- a/Source/Engine/TestsMain/TestsMain.Build.cs +++ b/Source/Engine/Tests/Tests.Build.cs @@ -1,15 +1,19 @@ // Copyright (c) 2012-2021 Wojciech Figat. All rights reserved. using System.Collections.Generic; -using System.IO; using Flax.Build; -using Flax.Build.NativeCpp; /// -/// Application startup module. +/// Engine tests module. /// -public class TestsMain : EngineModule +public class Tests : EngineModule { + /// + public Tests() + { + Deploy = false; + } + /// public override void GetFilesToDeploy(List files) { diff --git a/Source/FlaxNativeTests.Build.cs b/Source/FlaxTests.Build.cs similarity index 81% rename from Source/FlaxNativeTests.Build.cs rename to Source/FlaxTests.Build.cs index 37f9e75c0..de951112d 100644 --- a/Source/FlaxNativeTests.Build.cs +++ b/Source/FlaxTests.Build.cs @@ -9,7 +9,7 @@ using Flax.Build.NativeCpp; /// /// Target that builds standalone, native tests. /// -public class FlaxNativeTestsTarget : EngineTarget +public class FlaxTestsTarget : EngineTarget { /// public override void Init() @@ -17,10 +17,10 @@ public class FlaxNativeTestsTarget : EngineTarget base.Init(); // Initialize - OutputName = "FlaxNativeTests"; + OutputName = "FlaxTests"; ConfigurationName = "Tests"; - - // TODO: All platforms would benefit from the tests. + IsPreBuilt = false; + UseSymbolsExports = false; Platforms = new[] { TargetPlatform.Windows, @@ -29,11 +29,14 @@ public class FlaxNativeTestsTarget : EngineTarget Architectures = new[] { TargetArchitecture.x64, - TargetArchitecture.x86, + }; + Configurations = new[] + { + TargetConfiguration.Development, }; Modules.Remove("Main"); - Modules.Add("TestsMain"); + Modules.Add("Tests"); } /// @@ -56,7 +59,6 @@ public class FlaxNativeTestsTarget : EngineTarget var testTargetName = "FlaxNativeTests"; // Should this be added to .flaxproj, similarly as "GameTarget" and "EditorTarget"? var result = projectTargets.FirstOrDefault(x => x.Name == testTargetName); if (result == null) - // Apparently .NET compiler that is used for building .Build.cs files is different that one used for building Flax.Build itself. String interpolation ($) does't work here. throw new Exception(string.Format("Invalid or missing test target {0} specified in project {1} (referenced by project {2}).", testTargetName, project.Name, Project.Name)); return result; } diff --git a/Source/Tools/Flax.Build/Build/Module.cs b/Source/Tools/Flax.Build/Build/Module.cs index a5c1dddc5..61baba9ef 100644 --- a/Source/Tools/Flax.Build/Build/Module.cs +++ b/Source/Tools/Flax.Build/Build/Module.cs @@ -42,6 +42,11 @@ namespace Flax.Build /// public bool BuildCSharp = true; + /// + /// True if module can be deployed. + /// + public bool Deploy = true; + /// /// Initializes a new instance of the class. /// diff --git a/Source/Tools/Flax.Build/Deploy/Deployment.Editor.cs b/Source/Tools/Flax.Build/Deploy/Deployment.Editor.cs index 60c2da62e..29e17654e 100644 --- a/Source/Tools/Flax.Build/Deploy/Deployment.Editor.cs +++ b/Source/Tools/Flax.Build/Deploy/Deployment.Editor.cs @@ -86,6 +86,8 @@ namespace Flax.Deploy var files = new List(); foreach (var module in rules.Modules) { + if (!module.Deploy) + continue; module.GetFilesToDeploy(files); files.Add(module.FilePath); foreach (var file in files)