| Index: visual_studio/NativeClientVSAddIn/UnitTests/CompileTest.cs
|
| diff --git a/visual_studio/NativeClientVSAddIn/UnitTests/CompileTest.cs b/visual_studio/NativeClientVSAddIn/UnitTests/CompileTest.cs
|
| index cb313d8da2d1f1a702cf909d5fc1d9045dbfc2b1..c7218678d1902b1834503fc94636199843a9b1a2 100644
|
| --- a/visual_studio/NativeClientVSAddIn/UnitTests/CompileTest.cs
|
| +++ b/visual_studio/NativeClientVSAddIn/UnitTests/CompileTest.cs
|
| @@ -14,40 +14,14 @@ using NativeClientVSAddIn;
|
| namespace UnitTests
|
| {
|
| [TestClass]
|
| - public class CompileTest
|
| + public class ComileTest : BaseCompileTest
|
| {
|
| - /// <summary>
|
| - /// The main visual studio object.
|
| - /// </summary>
|
| - private DTE2 dte_;
|
| -
|
| - /// <summary>
|
| - /// The path to a NaCl solution used in compile tests.
|
| - /// </summary>
|
| - private static string SolutionName_;
|
| + private static string SolutionBaseName_ = "CompileTest";
|
|
|
| - /// <summary>
|
| - /// This is run one time before any test methods are called. Here we set-up test-copies of
|
| - /// new NaCl solutions for use in the tests.
|
| - /// </summary>
|
| - /// <param name="testContext">Holds information about the current test run</param>
|
| [ClassInitialize]
|
| - public static void ClassSetUp(TestContext testContext)
|
| + public new static void ClassSetUp(TestContext testContext)
|
| {
|
| - DTE2 dte = TestUtilities.StartVisualStudioInstance();
|
| - try
|
| - {
|
| - SolutionName_ = TestUtilities.CreateBlankValidNaClSolution(
|
| - dte,
|
| - "CompileTest",
|
| - Strings.PepperPlatformName,
|
| - Strings.NaCl64PlatformName,
|
| - testContext);
|
| - }
|
| - finally
|
| - {
|
| - TestUtilities.CleanUpVisualStudioInstance(dte);
|
| - }
|
| + BaseCompileTest.ClassSetUp(testContext, SolutionBaseName_);
|
| }
|
|
|
| /// <summary>
|
| @@ -60,77 +34,6 @@ namespace UnitTests
|
| }
|
|
|
| /// <summary>
|
| - /// This is run before each test to create test resources.
|
| - /// </summary>
|
| - [TestInitialize]
|
| - public void TestSetup()
|
| - {
|
| - dte_ = TestUtilities.StartVisualStudioInstance();
|
| - try
|
| - {
|
| - TestUtilities.AssertAddinLoaded(dte_, Strings.AddInName);
|
| - }
|
| - catch
|
| - {
|
| - TestUtilities.CleanUpVisualStudioInstance(dte_);
|
| - throw;
|
| - }
|
| - }
|
| -
|
| - /// <summary>
|
| - /// Helper function which opens the given solution, sets the configuration and platform and
|
| - /// tries to compile, failing the test if the build does not succeed.
|
| - /// </summary>
|
| - /// <param name="solutionPath">Path to the solution to open.</param>
|
| - /// <param name="configName">Solution Configuration name (Debug or Release).</param>
|
| - /// <param name="platformName">Platform name.</param>
|
| - private void TryCompile(string configName, string platformName)
|
| - {
|
| - string failFormat = "Project compile failed for {0} platform {1} config."
|
| - + "Build output: {2}";
|
| - string cygwinWarningFormat = "Did not pass cygwin nodosfilewarning environment var to"
|
| - + " tools Platform: {0}, configuration: {1}";
|
| - StringComparison ignoreCase = StringComparison.InvariantCultureIgnoreCase;
|
| -
|
| - // Open Debug configuration and build.
|
| - dte_.Solution.Open(SolutionName_);
|
| - TestUtilities.SetSolutionConfiguration(
|
| - dte_, TestUtilities.NaClProjectUniqueName, configName, platformName);
|
| - dte_.Solution.SolutionBuild.Build(true);
|
| -
|
| - string compileOutput = TestUtilities.GetPaneText(
|
| - dte_.ToolWindows.OutputWindow.OutputWindowPanes.Item("Build"));
|
| - Assert.IsTrue(
|
| - compileOutput.Contains("Build succeeded.", ignoreCase),
|
| - string.Format(failFormat, platformName, configName, compileOutput));
|
| - Assert.IsFalse(
|
| - compileOutput.Contains("MS-DOS style path detected", ignoreCase),
|
| - string.Format(cygwinWarningFormat, platformName, configName));
|
| -
|
| - dte_.Solution.Close(true);
|
| - }
|
| -
|
| - /// <summary>
|
| - /// Set the type of the project: Executable, DynamicLibrary, StaticLibrary
|
| - /// </summary>
|
| - private void SetProjectType(string projectType, string platformName)
|
| - {
|
| - dte_.Solution.Open(SolutionName_);
|
| - Project project = dte_.Solution.Projects.Item(TestUtilities.NaClProjectUniqueName);
|
| - VCConfiguration config;
|
| - IVCRulePropertyStorage rule;
|
| -
|
| - config = TestUtilities.GetVCConfiguration(project, "Debug", platformName);
|
| - rule = config.Rules.Item("ConfigurationGeneral");
|
| - rule.SetPropertyValue("ConfigurationType", projectType);
|
| -
|
| - config = TestUtilities.GetVCConfiguration(project, "Release", platformName);
|
| - rule = config.Rules.Item("ConfigurationGeneral");
|
| - rule.SetPropertyValue("ConfigurationType", projectType);
|
| - dte_.Solution.Close(true);
|
| - }
|
| -
|
| - /// <summary>
|
| /// Test method to check that the NaCl platform compiles a test project.
|
| /// </summary>
|
| [TestMethod]
|
| @@ -176,20 +79,5 @@ namespace UnitTests
|
| CheckCompile(Strings.PNaClPlatformName, false);
|
| }
|
|
|
| - private void CheckCompile(string platform, bool dll)
|
| - {
|
| - SetProjectType("Executable", platform);
|
| - TryCompile("Debug", platform);
|
| - TryCompile("Release", platform);
|
| - SetProjectType("StaticLibrary", platform);
|
| - TryCompile("Debug", platform);
|
| - TryCompile("Release", platform);
|
| - if (dll)
|
| - {
|
| - SetProjectType("DynamicLibrary", platform);
|
| - TryCompile("Debug", platform);
|
| - TryCompile("Release", platform);
|
| - }
|
| - }
|
| }
|
| }
|
|
|