348
348
DotNetProject lib2 = (DotNetProject) sol.FindProjectByName ("library2");
349
349
Assert.IsNotNull (lib2);
351
Assert.IsTrue (p.NeedsBuilding ("Debug"));
352
Assert.IsTrue (lib1.NeedsBuilding ("Debug"));
353
Assert.IsTrue (lib2.NeedsBuilding ("Debug"));
351
SolutionConfigurationSelector config = (SolutionConfigurationSelector) "Debug";
353
Assert.IsTrue (p.NeedsBuilding (config));
354
Assert.IsTrue (lib1.NeedsBuilding (config));
355
Assert.IsTrue (lib2.NeedsBuilding (config));
355
357
// Build the project and the references
357
BuildResult res = p.Build (Util.GetMonitor (), "Debug", true);
359
BuildResult res = p.Build (Util.GetMonitor (), config, true);
358
360
Assert.AreEqual (0, res.ErrorCount);
359
361
Assert.AreEqual (0, res.WarningCount);
360
362
Assert.AreEqual (3, res.BuildCount);
361
Assert.IsFalse (p.NeedsBuilding ("Debug"));
362
Assert.IsFalse (lib1.NeedsBuilding ("Debug"));
363
Assert.IsFalse (lib2.NeedsBuilding ("Debug"));
363
Assert.IsFalse (p.NeedsBuilding (config));
364
Assert.IsFalse (lib1.NeedsBuilding (config));
365
Assert.IsFalse (lib2.NeedsBuilding (config));
365
367
Assert.IsTrue (File.Exists (Util.Combine (p.BaseDirectory, "bin", "Debug", "console-with-libs-mdp.exe")));
366
368
Assert.IsTrue (File.Exists (Util.Combine (p.BaseDirectory, "bin", "Debug", "console-with-libs-mdp.exe.mdb")));
374
376
p.SetNeedsBuilding (true);
375
377
lib1.SetNeedsBuilding (true);
376
378
lib2.SetNeedsBuilding (true);
377
Assert.IsTrue (p.NeedsBuilding ("Debug"));
378
Assert.IsTrue (lib1.NeedsBuilding ("Debug"));
379
Assert.IsTrue (lib2.NeedsBuilding ("Debug"));
379
Assert.IsTrue (p.NeedsBuilding (config));
380
Assert.IsTrue (lib1.NeedsBuilding (config));
381
Assert.IsTrue (lib2.NeedsBuilding (config));
381
res = p.Build (Util.GetMonitor (), "Debug", false);
383
res = p.Build (Util.GetMonitor (), config, false);
382
384
Assert.AreEqual (0, res.ErrorCount);
383
385
Assert.AreEqual (0, res.WarningCount);
384
386
Assert.AreEqual (1, res.BuildCount);
385
Assert.IsTrue (p.NeedsBuilding ("Debug")); // True because references require building
386
Assert.IsTrue (lib1.NeedsBuilding ("Debug"));
387
Assert.IsTrue (lib2.NeedsBuilding ("Debug"));
387
Assert.IsTrue (p.NeedsBuilding (config)); // True because references require building
388
Assert.IsTrue (lib1.NeedsBuilding (config));
389
Assert.IsTrue (lib2.NeedsBuilding (config));
459
461
// Build the solution folder
461
res = folder.Build (Util.GetMonitor (), "Debug");
463
res = folder.Build (Util.GetMonitor (), (SolutionConfigurationSelector) "Debug");
462
464
Assert.AreEqual (0, res.ErrorCount);
463
465
Assert.AreEqual (0, res.WarningCount);
464
466
Assert.AreEqual (1, res.BuildCount);
473
475
// Clean the solution folder
475
folder.Clean (Util.GetMonitor (), "Debug");
477
folder.Clean (Util.GetMonitor (), (SolutionConfigurationSelector) "Debug");
476
478
Assert.IsFalse (File.Exists (Util.Combine (lib2.BaseDirectory, "bin", "Debug", "library2.dll")));
477
479
Assert.IsFalse (File.Exists (Util.Combine (lib2.BaseDirectory, "bin", "Debug", "library2.dll.mdb")));
570
572
CheckProjectBuildClean (lib4, "Release");
573
void CheckSolutionBuildClean (Solution sol, string config)
575
void CheckSolutionBuildClean (Solution sol, string configuration)
575
string tag = "CheckSolutionBuildClean config=" + config;
577
SolutionConfigurationSelector config = (SolutionConfigurationSelector) configuration;
578
string tag = "CheckSolutionBuildClean config=" + configuration;
576
579
DotNetProject lib1 = (DotNetProject) sol.FindProjectByName ("Lib1");
577
580
DotNetProject lib2 = (DotNetProject) sol.FindProjectByName ("Lib2");
578
581
DotNetProject lib3 = (DotNetProject) sol.FindProjectByName ("Lib3");
600
603
Assert.IsFalse (File.Exists (lib4.GetOutputFileName (config)), tag);
603
void CheckProjectReferencesBuildClean (Solution sol, string config)
606
void CheckProjectReferencesBuildClean (Solution sol, string configuration)
605
string tag = "CheckProjectReferencesBuildClean config=" + config;
608
SolutionConfigurationSelector config = (SolutionConfigurationSelector) configuration;
609
string tag = "CheckProjectReferencesBuildClean config=" + configuration;
606
610
DotNetProject lib1 = (DotNetProject) sol.FindProjectByName ("Lib1");
607
611
DotNetProject lib2 = (DotNetProject) sol.FindProjectByName ("Lib2");
608
612
DotNetProject lib3 = (DotNetProject) sol.FindProjectByName ("Lib3");
625
629
sol.Clean (Util.GetMonitor (), config);
628
void CheckProjectBuildClean (DotNetProject lib, string config)
632
void CheckProjectBuildClean (DotNetProject lib, string configuration)
630
string tag = "CheckProjectBuildClean lib=" + lib.Name + " config=" + config;
634
SolutionConfigurationSelector config = (SolutionConfigurationSelector) configuration;
635
string tag = "CheckProjectBuildClean lib=" + lib.Name + " config=" + configuration;
632
637
Assert.IsFalse (File.Exists (lib.GetOutputFileName (config)), tag);