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

Unified Diff: visual_studio/NativeClientVSAddIn/UnitTests/TestUtilities.cs

Issue 14122017: [VS Addin] Add visual studio 2012 support (Closed) Base URL: https://nativeclient-sdk.googlecode.com/svn/trunk/src
Patch Set: Created 7 years, 6 months 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 side-by-side diff with in-line comments
Download patch
Index: visual_studio/NativeClientVSAddIn/UnitTests/TestUtilities.cs
diff --git a/visual_studio/NativeClientVSAddIn/UnitTests/TestUtilities.cs b/visual_studio/NativeClientVSAddIn/UnitTests/TestUtilities.cs
index 03fcd3eef6ba533d5958a893f5a17484e2252598..4b31df69bb297228ac0d70c3e94a9844c0308459 100644
--- a/visual_studio/NativeClientVSAddIn/UnitTests/TestUtilities.cs
+++ b/visual_studio/NativeClientVSAddIn/UnitTests/TestUtilities.cs
@@ -52,7 +52,12 @@ namespace UnitTests
// to dte which fail because dte is busy.
ComMessageFilter.Register();
- Type visualStudioType = Type.GetTypeFromProgID("VisualStudio.DTE.10.0");
+ Type visualStudioType;
+ if (IsVS2012())
+ visualStudioType = Type.GetTypeFromProgID("VisualStudio.DTE.11.0");
+ else
+ visualStudioType = Type.GetTypeFromProgID("VisualStudio.DTE.10.0");
+
DTE2 visualStudio = Activator.CreateInstance(visualStudioType) as DTE2;
if (visualStudio == null)
{
@@ -83,6 +88,34 @@ namespace UnitTests
ComMessageFilter.Revoke();
}
+ public static void SetProjectType(Project project, string projectType, string platformName)
+ {
+ 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);
+ }
+
+ public static bool IsVS2012()
+ {
+#if VS2012
+ return true;
+#else
+ return false;
+#endif
+ }
+
+ static void AddPlatform(Project project, String platform, String copyFrom)
+ {
+ project.ConfigurationManager.AddPlatform(platform, copyFrom, true);
+ }
+
/// <summary>
/// Creates a blank valid NaCl project with up-to-date settings. The path to the new solution
/// is returned.
@@ -96,10 +129,13 @@ namespace UnitTests
public static string CreateBlankValidNaClSolution(
DTE2 dte, string name, string pepperCopyFrom, string naclCopyFrom, TestContext testContext)
{
- const string BlankSolution = "BlankValidSolution";
+ string blankSolution = "BlankValidSolution";
+ string srcSolution = blankSolution;
+ if (IsVS2012())
+ srcSolution += "2012";
string newSolutionDir = Path.Combine(testContext.DeploymentDirectory, name);
- string newSolution = Path.Combine(newSolutionDir, BlankSolution + ".sln");
- CopyDirectory(Path.Combine(testContext.DeploymentDirectory, BlankSolution), newSolutionDir);
+ string newSolution = Path.Combine(newSolutionDir, blankSolution + ".sln");
+ CopyDirectory(Path.Combine(testContext.DeploymentDirectory, srcSolution), newSolutionDir);
try
{
@@ -110,27 +146,33 @@ namespace UnitTests
if (PropertyManager.IsNaClPlatform(pepperCopyFrom))
{
// create nacl platforms first
- proj.ConfigurationManager.AddPlatform(Strings.NaCl64PlatformName, naclCopyFrom, true);
- proj.ConfigurationManager.AddPlatform(Strings.NaCl32PlatformName, naclCopyFrom, true);
- proj.ConfigurationManager.AddPlatform(Strings.NaClARMPlatformName, naclCopyFrom, true);
- proj.ConfigurationManager.AddPlatform(Strings.PNaClPlatformName, naclCopyFrom, true);
- proj.ConfigurationManager.AddPlatform(Strings.PepperPlatformName, pepperCopyFrom, true);
+ AddPlatform(proj, Strings.NaCl64PlatformName, naclCopyFrom);
+ AddPlatform(proj, Strings.NaCl32PlatformName, naclCopyFrom);
+ AddPlatform(proj, Strings.NaClARMPlatformName, naclCopyFrom);
+ AddPlatform(proj, Strings.PNaClPlatformName, naclCopyFrom);
+ AddPlatform(proj, Strings.PepperPlatformName, pepperCopyFrom);
}
else
{
// create pepper platform first
- proj.ConfigurationManager.AddPlatform(Strings.PepperPlatformName, pepperCopyFrom, true);
- proj.ConfigurationManager.AddPlatform(Strings.NaCl64PlatformName, naclCopyFrom, true);
- proj.ConfigurationManager.AddPlatform(Strings.NaCl32PlatformName, naclCopyFrom, true);
- proj.ConfigurationManager.AddPlatform(Strings.NaClARMPlatformName, naclCopyFrom, true);
- proj.ConfigurationManager.AddPlatform(Strings.PNaClPlatformName, naclCopyFrom, true);
+ AddPlatform(proj, Strings.PepperPlatformName, pepperCopyFrom);
+ AddPlatform(proj, Strings.NaCl64PlatformName, naclCopyFrom);
+ AddPlatform(proj, Strings.NaCl32PlatformName, naclCopyFrom);
+ AddPlatform(proj, Strings.NaClARMPlatformName, naclCopyFrom);
+ AddPlatform(proj, Strings.PNaClPlatformName, naclCopyFrom);
}
+ proj.Save();
+
// Set the active solution configuration to Debug|NaCl64.
SetSolutionConfiguration(dte, NaClProjectUniqueName, "Debug", Strings.NaCl64PlatformName);
- proj.Save();
dte.Solution.SaveAs(newSolution);
+
+ SetSolutionConfiguration(dte, NaClProjectUniqueName, "Release", Strings.NaCl64PlatformName);
+
+ dte.Solution.SaveAs(newSolution);
+
}
finally
{

Powered by Google App Engine
This is Rietveld 408576698