Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(408)

Side by Side Diff: visual_studio/NativeClientVSAddIn/UnitTests/ProjectSettingsTest.cs

Issue 11360111: [NaCl Addin] Fix building of libraries in MSVS (Closed) Base URL: http://nativeclient-sdk.googlecode.com/svn/trunk/src
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 namespace UnitTests 5 namespace UnitTests
6 { 6 {
7 using System; 7 using System;
8 using System.IO; 8 using System.IO;
9 9
10 using EnvDTE; 10 using EnvDTE;
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 /// <summary> 94 /// <summary>
95 /// This is run after each test to clean up things created in TestSetup(). 95 /// This is run after each test to clean up things created in TestSetup().
96 /// </summary> 96 /// </summary>
97 [TestCleanup] 97 [TestCleanup]
98 public void TestCleanup() 98 public void TestCleanup()
99 { 99 {
100 TestUtilities.CleanUpVisualStudioInstance(dte_); 100 TestUtilities.CleanUpVisualStudioInstance(dte_);
101 } 101 }
102 102
103 /// <summary> 103 /// <summary>
104 /// Test method to check that the NaCl platform compiles a test project.
105 /// </summary>
106 [TestMethod]
107 public void CheckNaClCompile()
108 {
109 string naclPlatform = NativeClientVSAddIn.Strings.NaCl64PlatformName;
110 TryCompile(naclSolutionEmptyInitialization, "Debug", naclPlatform);
111 TryCompile(naclSolutionEmptyInitialization, "Release", naclPlatform);
112 }
113
114
115
116 /// <summary>
117 /// Test method to check that the NaCl platform compiles a test project.
118 /// </summary>
119 [TestMethod]
120 public void CheckPNaClCompile()
121 {
122 int revision;
123 string root = System.Environment.GetEnvironmentVariable("NACL_SDK_ROOT") ;
124 SDKUtilities.GetSDKVersion(root, out revision);
125 if (revision < SDKUtilities.MinPNaCLSDKVersion)
126 {
127 Assert.Inconclusive();
128 }
129 string naclPlatform = NativeClientVSAddIn.Strings.PNaClPlatformName;
130 TryCompile(naclSolutionEmptyInitialization, "Debug", naclPlatform);
131 TryCompile(naclSolutionEmptyInitialization, "Release", naclPlatform);
132 }
133
134 /// <summary>
135 /// Test method to check that the Pepper platform compiles a test project.
136 /// </summary>
137 [TestMethod]
138 public void CheckPepperCompile()
139 {
140 string pepperPlatform = NativeClientVSAddIn.Strings.PepperPlatformName;
141 TryCompile(naclSolutionEmptyInitialization, "Debug", pepperPlatform);
142 TryCompile(naclSolutionEmptyInitialization, "Release", pepperPlatform);
143 }
144
145 /// <summary>
146 /// Test method which verifies that NaCl and pepper platforms have correct d efault properties 104 /// Test method which verifies that NaCl and pepper platforms have correct d efault properties
147 /// when initialized from the Win32 platform. 105 /// when initialized from the Win32 platform.
148 /// </summary> 106 /// </summary>
149 [TestMethod] 107 [TestMethod]
150 public void VerifySettingsWin32Initialization() 108 public void VerifySettingsWin32Initialization()
151 { 109 {
152 string naclSolutionWin32Initialization = TestUtilities.CreateBlankValidNaC lSolution( 110 string naclSolutionWin32Initialization = TestUtilities.CreateBlankValidNaC lSolution(
153 dte_, "ProjectSettingsTestWin32Init", "Win32", "Win32", TestContext) ; 111 dte_, "ProjectSettingsTestWin32Init", "Win32", "Win32", TestContext) ;
154 VerifyDefaultPepperSettings(naclSolutionWin32Initialization); 112 VerifyDefaultPepperSettings(naclSolutionWin32Initialization);
155 VerifyDefaultNaClSettings(naclSolutionWin32Initialization); 113 VerifyDefaultNaClSettings(naclSolutionWin32Initialization);
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 // C/C++ Advanced 429 // C/C++ Advanced
472 AllConfigsAssertPropertyEquals(page, "CompileAs", "Default", true); 430 AllConfigsAssertPropertyEquals(page, "CompileAs", "Default", true);
473 431
474 // Linker Input 432 // Linker Input
475 page = "Link"; 433 page = "Link";
476 AllConfigsAssertPropertyContains(page, "AdditionalDependencies", "ppapi_cp p;ppapi", true); 434 AllConfigsAssertPropertyContains(page, "AdditionalDependencies", "ppapi_cp p;ppapi", true);
477 dte_.Solution.Close(); 435 dte_.Solution.Close();
478 } 436 }
479 437
480 /// <summary> 438 /// <summary>
481 /// Helper function which opens the given solution, sets the configuration a nd platform and
482 /// tries to compile, failing the test if the build does not succeed.
483 /// </summary>
484 /// <param name="solutionPath">Path to the solution to open.</param>
485 /// <param name="configName">Solution Configuration name (Debug or Release). </param>
486 /// <param name="platformName">Platform name.</param>
487 private void TryCompile(string solutionPath, string configName, string platf ormName)
488 {
489 string failFormat = "Project compile failed for {0} platform {1} config. B uild output: {2}";
490 string cygwinWarningFormat = "Did not pass cygwin nodosfilewarning environ ment var to tools"
491 + " Platform: {0}, configuration: {1}";
492 StringComparison ignoreCase = StringComparison.InvariantCultureIgnoreCase;
493
494 // Open Debug configuration and build.
495 dte_.Solution.Open(solutionPath);
496 TestUtilities.SetSolutionConfiguration(
497 dte_, TestUtilities.BlankNaClProjectUniqueName, configName, platformNa me);
498 dte_.Solution.SolutionBuild.Build(true);
499
500 string compileOutput = TestUtilities.GetPaneText(
501 dte_.ToolWindows.OutputWindow.OutputWindowPanes.Item("Build"));
502 Assert.IsTrue(
503 compileOutput.Contains("Build succeeded.", ignoreCase),
504 string.Format(failFormat, platformName, configName, compileOutput));
505 Assert.IsFalse(
506 compileOutput.Contains("MS-DOS style path detected", ignoreCase),
507 string.Format(cygwinWarningFormat, platformName, configName));
508
509 dte_.Solution.Close();
510 }
511
512 /// <summary>
513 /// Helper function to reduce repeated code. Opens the given solution and s ets the debug_ 439 /// Helper function to reduce repeated code. Opens the given solution and s ets the debug_
514 /// and release_ member variables to point to the given platform type. 440 /// and release_ member variables to point to the given platform type.
515 /// </summary> 441 /// </summary>
516 /// <param name="solutionPath">Path to the solution to open.</param> 442 /// <param name="solutionPath">Path to the solution to open.</param>
517 /// <param name="platformName">Platform type to load.</param> 443 /// <param name="platformName">Platform type to load.</param>
518 private void OpenSolutionAndGetProperties(string solutionPath, string platfo rmName) 444 private void OpenSolutionAndGetProperties(string solutionPath, string platfo rmName)
519 { 445 {
520 // Extract the debug and release configurations for Pepper from the projec t. 446 // Extract the debug and release configurations for Pepper from the projec t.
521 dte_.Solution.Open(solutionPath); 447 dte_.Solution.Open(solutionPath);
522 Project project = dte_.Solution.Projects.Item(TestUtilities.BlankNaClProje ctUniqueName); 448 Project project = dte_.Solution.Projects.Item(TestUtilities.BlankNaClProje ctUniqueName);
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 debug_, 521 debug_,
596 pageName, 522 pageName,
597 propertyName); 523 propertyName);
598 TestUtilities.AssertPropertyIsNotNullOrEmpty( 524 TestUtilities.AssertPropertyIsNotNullOrEmpty(
599 release_, 525 release_,
600 pageName, 526 pageName,
601 propertyName); 527 propertyName);
602 } 528 }
603 } 529 }
604 } 530 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698