1 using System; 2 using NUnit.Framework; 3 using Premake.Tests.Framework; 4 5 namespace Premake.Tests.Vs2002.Cs 6 { 7 [TestFixture] 8 public class Test_BuildFlags 9 { 10 Script _script; 11 Project _expects; 12 Parser _parser; 13 14 #region Setup and Teardown 15 [SetUp] Test_Setup()16 public void Test_Setup() 17 { 18 _script = Script.MakeBasic("exe", "c#"); 19 20 _expects = new Project(); 21 _expects.Package.Add(1); 22 _expects.Package[0].Config.Add(2); 23 24 _parser = new Vs2002Parser(); 25 } 26 Run()27 public void Run() 28 { 29 TestEnvironment.Run(_script, _parser, _expects, null); 30 } 31 #endregion 32 33 [Test] Test_SetFlagOnPackage()34 public void Test_SetFlagOnPackage() 35 { 36 _script.Append("package.buildflags = { 'unsafe' }"); 37 _expects.Package[0].Config[0].BuildFlags = new string[] { "unsafe" }; 38 _expects.Package[0].Config[1].BuildFlags = new string[] { "unsafe", "optimize", "no-symbols" }; 39 Run(); 40 } 41 42 [Test] Test_SetFlagOnConfig()43 public void Test_SetFlagOnConfig() 44 { 45 _script.Append("package.config['Debug'].buildflags = { 'unsafe' }"); 46 _expects.Package[0].Config[0].BuildFlags = new string[] { "unsafe" }; 47 _expects.Package[0].Config[1].BuildFlags = new string[] { "optimize", "no-symbols" }; 48 Run(); 49 } 50 Test_SetFlagOnPackageAndConfig()51 public void Test_SetFlagOnPackageAndConfig() 52 { 53 _script.Append("package.buildflags = { 'unsafe' }"); 54 _script.Append("package.config['Release'].buildflags = { 'fatal-warnings' }"); 55 _expects.Package[0].Config[0].BuildFlags = new string[] { "unsafe" }; 56 _expects.Package[0].Config[1].BuildFlags = new string[] { "unsafe", "fatal-warnings" }; 57 Run(); 58 } 59 60 [Test] Test_FatalWarnings()61 public void Test_FatalWarnings() 62 { 63 _script.Append("package.buildflags = { 'fatal-warnings' }"); 64 _expects.Package[0].Config[0].BuildFlags = new string[] { "fatal-warnings" }; 65 _expects.Package[0].Config[1].BuildFlags = new string[] { "fatal-warnings", "optimize", "no-symbols" }; 66 Run(); 67 } 68 69 [Test] Test_NoSymbols()70 public void Test_NoSymbols() 71 { 72 _script.Append("package.buildflags = { 'no-symbols' }"); 73 _expects.Package[0].Config[0].BuildFlags = new string[] { "no-symbols" }; 74 _expects.Package[0].Config[1].BuildFlags = new string[] { "optimize", "no-symbols" }; 75 Run(); 76 } 77 78 [Test] Test_Optimize()79 public void Test_Optimize() 80 { 81 _script.Append("package.buildflags = { 'optimize' }"); 82 _expects.Package[0].Config[0].BuildFlags = new string[] { "optimize" }; 83 _expects.Package[0].Config[1].BuildFlags = new string[] { "optimize", "no-symbols" }; 84 Run(); 85 } 86 87 [Test] Test_Unsafe()88 public void Test_Unsafe() 89 { 90 _script.Append("package.buildflags = { 'unsafe' }"); 91 _expects.Package[0].Config[0].BuildFlags = new string[] { "unsafe" }; 92 _expects.Package[0].Config[1].BuildFlags = new string[] { "unsafe", "optimize", "no-symbols" }; 93 Run(); 94 } 95 } 96 } 97