298
318
engine.BuildProject (null, (string)null);
321
// Tests to check global properties behavior
323
public void TestGlobalProperties1 ()
325
string mainProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
326
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild"" AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
327
<Target Name=""main"">
328
<MSBuild Projects=""first.proj"" Targets = ""1;2""/>
329
<Message Text=""second""/>
330
<MSBuild Projects=""first.proj"" Targets = ""1;2""/>
334
string firstProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
335
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild""
336
AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
337
<Target Name = ""1"">
338
<MSBuild Projects=""second.proj"" Properties=""foo=bar""/>
339
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo""/>
342
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
343
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
344
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo1"" />
345
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo"" />
350
CreateAndCheckGlobalPropertiesTest (mainProject, firstProject, secondProject,
353
"(TargetA) foo: bar A: External: ",
354
"(TargetB) foo: foofoo A: External: ",
355
"(TargetA) foo: A: External: ",
356
"(TargetB) foo: foofoo1 A: External: ",
361
public void TestGlobalProperties1a ()
363
Directory.CreateDirectory ("Test/resources/foo");
364
string mainProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
365
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild"" AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
366
<Target Name=""main"">
367
<MSBuild Projects=""first.proj"" Targets = ""1;2""/>
368
<Message Text=""second""/>
369
<MSBuild Projects=""first.proj"" Targets = ""1;2""/>
373
string firstProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
374
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild""
375
AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
376
<Target Name = ""1"">
377
<MSBuild Projects=""second.proj"" Properties=""foo=bar""/>
378
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo""/>
381
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
382
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
383
<MSBuild Projects=""second.proj"" Targets = ""TargetA"" Properties=""foo=bar""/>
384
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo"" />
385
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo1"" />
389
CreateAndCheckGlobalPropertiesTest (mainProject, firstProject, secondProject,
392
"(TargetA) foo: bar A: External: ",
393
"(TargetB) foo: foofoo A: External: ",
394
"(TargetA) foo: A: External: ",
395
"(TargetB) foo: foofoo1 A: External: ",
400
public void TestGlobalProperties1b ()
402
string mainProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
403
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild"" AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
404
<Target Name=""main"">
405
<MSBuild Projects=""first.proj"" Targets = ""1;2""/>
406
<Message Text=""second""/>
407
<MSBuild Projects=""first.proj"" Targets = ""1;2""/>
411
string firstProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
412
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild""
413
AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
414
<Target Name = ""1"">
415
<MSBuild Projects=""second.proj"" Properties=""foo=bar""/>
416
<MSBuild Projects=""second.proj""/>
417
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo""/>
420
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
421
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
422
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo1"" />
423
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo"" />
427
CreateAndCheckGlobalPropertiesTest (mainProject, firstProject, secondProject,
430
"(TargetA) foo: bar A: External: ",
431
"(TargetA) foo: A: External: ",
432
"(TargetB) foo: foofoo A: External: ",
433
"(TargetB) foo: foofoo1 A: External: ",
438
public void TestGlobalProperties2 ()
440
string mainProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
441
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild"" AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
442
<Target Name=""main"">
443
<MSBuild Projects=""first.proj"" Targets = ""1""/>
444
<MSBuild Projects=""first.proj"" Targets = ""2""/>
445
<Message Text=""second""/>
446
<MSBuild Projects=""first.proj"" Targets = ""1;2""/>
450
string firstProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
451
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild""
452
AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
453
<Target Name = ""1"">
454
<MSBuild Projects=""second.proj"" Properties=""foo=bar""/>
455
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo""/>
458
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
459
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
460
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo"" />
461
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo1"" />
466
CreateAndCheckGlobalPropertiesTest (mainProject, firstProject, secondProject,
469
"(TargetA) foo: bar A: External: ",
470
"(TargetB) foo: foofoo A: External: ",
471
"(TargetA) foo: A: External: ",
472
"(TargetB) foo: foofoo1 A: External: ",
477
public void TestGlobalProperties3 ()
479
string mainProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
480
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild"" AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
481
<Target Name=""main"">
482
<MSBuild Projects=""first.proj"" Targets = ""1""/>
483
<CallTarget Targets=""Call2""/>
484
<Message Text=""second""/>
485
<MSBuild Projects=""first.proj"" Targets = ""1;2""/>
487
<Target Name=""Call2"">
488
<MSBuild Projects=""first.proj"" Targets = ""2""/>
492
string firstProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
493
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild""
494
AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
495
<Target Name = ""1"">
496
<MSBuild Projects=""second.proj"" Properties=""foo=bar""/>
497
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo""/>
500
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
501
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
502
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo"" />
503
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo1"" />
508
CreateAndCheckGlobalPropertiesTest (mainProject, firstProject, secondProject,
511
"(TargetA) foo: bar A: External: ",
512
"(TargetB) foo: foofoo A: External: ",
513
"(TargetA) foo: A: External: ",
514
"(TargetB) foo: foofoo1 A: External: ",
518
//externally set global properties
520
public void TestGlobalProperties4 ()
522
string mainProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
523
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild"" AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
524
<Target Name=""main"">
525
<MSBuild Projects=""first.proj"" Targets = ""1""/>
526
<CallTarget Targets=""Call2""/>
527
<Message Text=""second""/>
528
<MSBuild Projects=""first.proj"" Targets = ""1;2""/>
530
<Target Name=""Call2"">
531
<MSBuild Projects=""first.proj"" Targets = ""2""/>
535
string firstProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
536
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild""
537
AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
538
<Target Name = ""1"">
539
<MSBuild Projects=""second.proj"" Properties=""foo=bar""/>
540
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo""/>
543
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
544
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
545
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo"" />
546
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo1"" />
551
BuildPropertyGroup globalprops = new BuildPropertyGroup ();
552
globalprops.SetProperty ("foo", "hello");
553
engine.GlobalProperties = globalprops;
555
CreateAndCheckGlobalPropertiesTest (mainProject, firstProject, secondProject,
556
globalprops, null, 10, 8, 15,
558
"(TargetA) foo: bar A: External: ",
559
"(TargetB) foo: foofoo A: External: ",
560
"(TargetA) foo: hello A: FooWasHello External: ",
561
"(TargetB) foo: foofoo1 A: External: ",
565
//externally set global properties, merge with explicit
567
public void TestGlobalProperties4a ()
569
string mainProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
570
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild"" AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
571
<Target Name=""main"">
572
<MSBuild Projects=""first.proj"" Targets = ""1""/>
573
<CallTarget Targets=""Call2""/>
574
<Message Text=""second""/>
575
<MSBuild Projects=""first.proj"" Targets = ""1;2""/>
577
<Target Name=""Call2"">
578
<MSBuild Projects=""first.proj"" Targets = ""2""/>
582
string firstProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
583
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild""
584
AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
585
<Target Name = ""1"">
586
<MSBuild Projects=""second.proj"" Properties=""foo=bar""/>
587
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo""/>
590
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
591
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
592
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo"" />
593
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo1"" />
598
BuildPropertyGroup globalprops = new BuildPropertyGroup ();
599
globalprops.SetProperty ("external", "ExternalValue");
601
CreateAndCheckGlobalPropertiesTest (mainProject, firstProject, secondProject,
605
"(TargetA) foo: bar A: External: ExternalValue",
606
"(TargetB) foo: foofoo A: External: ExternalValue",
607
"(TargetA) foo: A: External: ExternalValue",
608
"(TargetB) foo: foofoo1 A: External: ExternalValue",
612
//set global properties on _project_, merge with explicit
614
public void TestGlobalProperties4b ()
616
string mainProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
617
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild"" AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
618
<Target Name=""main"">
619
<MSBuild Projects=""first.proj"" Targets = ""1""/>
620
<CallTarget Targets=""Call2""/>
621
<Message Text=""second""/>
622
<MSBuild Projects=""first.proj"" Targets = ""1;2""/>
624
<Target Name=""Call2"">
625
<MSBuild Projects=""first.proj"" Targets = ""2""/>
629
string firstProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
630
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild""
631
AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
632
<Target Name = ""1"">
633
<MSBuild Projects=""second.proj"" Properties=""foo=bar""/>
634
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo""/>
637
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
638
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
639
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo"" />
640
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo1"" />
645
BuildPropertyGroup globalprops = new BuildPropertyGroup ();
646
globalprops.SetProperty ("external", "ExternalValue");
648
BuildPropertyGroup project_globalprops = new BuildPropertyGroup ();
649
project_globalprops.SetProperty ("external", "ProjExternalValue");
650
project_globalprops.SetProperty ("foo", "ProjFooValue");
652
CreateAndCheckGlobalPropertiesTest (mainProject, firstProject, secondProject,
653
globalprops, project_globalprops,
656
"(TargetA) foo: bar A: External: ProjExternalValue",
657
"(TargetB) foo: foofoo A: External: ProjExternalValue",
658
"(TargetA) foo: ProjFooValue A: External: ProjExternalValue",
659
"(TargetB) foo: foofoo1 A: External: ProjExternalValue",
663
//set global properties on _project_, and engine and explicit via msbuild
665
public void TestGlobalProperties4c ()
667
string mainProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
668
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild"" AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
669
<Target Name=""main"">
670
<MSBuild Projects=""first.proj"" Targets = ""1""/>
671
<CallTarget Targets=""Call2""/>
672
<Message Text=""second""/>
673
<MSBuild Projects=""first.proj"" Targets = ""1;2""/>
675
<Target Name=""Call2"">
676
<MSBuild Projects=""first.proj"" Targets = ""2""/>
680
string firstProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
681
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild""
682
AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
683
<Target Name = ""1"">
684
<MSBuild Projects=""second.proj"" Properties=""foo=bar""/>
685
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo""/>
688
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
689
<MSBuild Projects=""second.proj"" Targets = ""TargetA""/>
690
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo"" />
691
<MSBuild Projects=""second.proj"" Targets = ""TargetB"" Properties=""foo=foofoo1"" />
696
BuildPropertyGroup globalprops = new BuildPropertyGroup ();
697
globalprops.SetProperty ("foo", "EngineFooValue");
699
BuildPropertyGroup project_globalprops = new BuildPropertyGroup ();
700
project_globalprops.SetProperty ("foo", "ProjFooValue");
702
CreateAndCheckGlobalPropertiesTest (mainProject, firstProject, secondProject,
703
globalprops, project_globalprops,
706
"(TargetA) foo: bar A: External: ",
707
"(TargetB) foo: foofoo A: External: ",
708
"(TargetA) foo: ProjFooValue A: External: ",
709
"(TargetB) foo: foofoo1 A: External: ",
713
public void TestMSBuildOutputs ()
715
string mainProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
716
<UsingTask TaskName=""Microsoft.Build.Tasks.MSBuild""
717
AssemblyName=""Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"" />
720
<ProjectRef Include=""first.proj"">
722
<Unique>true</Unique>
724
<ProjectRef Include=""first.proj"">
725
<Prop3>value2</Prop3>
726
<Unique>false</Unique>
729
<ProjectRef Include=""second.proj"">
730
<Prop3>value3</Prop3>
731
<Unique>unique</Unique>
737
<MSBuild Projects=""@(ProjectRef)"" Targets=""GetData"">
738
<Output TaskParameter=""TargetOutputs"" ItemName=""F""/>
740
<Message Text=""@(F): F.Unique: %(F.Unique)""/>
741
<Message Text=""@(F): F.Prop1: %(F.Prop1)""/>
742
<Message Text=""@(F): F.Prop2: %(F.Prop2)""/>
743
<Message Text=""@(F): F.Prop3: %(F.Prop3)""/>
747
string firstProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
749
<A Include=""foofoo"">
752
<Prop3>foo value</Prop3>
755
<A Include=""barbar"">
756
<Prop1>bar_false</Prop1>
757
<Prop2>bar_false</Prop2>
758
<Prop3>bar value</Prop3>
763
<Target Name=""GetData"" Outputs=""@(AbcOutputs)"">
764
<CreateItem Include=""@(A)"">
765
<Output TaskParameter=""Include"" ItemName=""AbcOutputs""/>
770
string secondProject = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
772
<A Include=""from_second"">
775
<Prop3>new value</Prop3>
779
<Target Name=""GetData"" Outputs=""@(AbcOutputs)"">
780
<CreateItem Include=""@(A)"">
781
<Output TaskParameter=""Include"" ItemName=""AbcOutputs""/>
787
CreateAndCheckGlobalPropertiesTest (mainProject, firstProject, secondProject,
791
"foofoo;barbar;foofoo;barbar: F.Unique: true",
792
"from_second: F.Unique: unique",
793
"foofoo;foofoo;from_second: F.Prop1: false",
794
"barbar;barbar: F.Prop1: bar_false",
795
"foofoo;foofoo;from_second: F.Prop2: false",
796
"barbar;barbar: F.Prop2: bar_false",
797
"foofoo;foofoo: F.Prop3: foo value",
798
"barbar;barbar: F.Prop3: bar value",
799
"from_second: F.Prop3: new value",
803
// Helper Methods for TestGlobalProperties*
805
void CreateAndCheckGlobalPropertiesTest (string main, string first, string second,
806
int project_count, int target_count, int task_count, string [] messages)
808
CreateAndCheckGlobalPropertiesTest (main, first, second, null, null,
809
project_count, target_count, task_count, messages);
812
void CreateAndCheckGlobalPropertiesTest (string main, string first, string second,
813
BuildPropertyGroup engine_globals, BuildPropertyGroup project_globals,
814
int project_count, int target_count, int task_count, string [] messages)
816
WriteGlobalPropertiesProjects (main, first, second);
818
Engine engine = new Engine (Consts.BinPath);
819
if (engine_globals != null)
820
engine.GlobalProperties = engine_globals;
821
MonoTests.Microsoft.Build.Tasks.TestMessageLogger logger =
822
new MonoTests.Microsoft.Build.Tasks.TestMessageLogger ();
823
engine.RegisterLogger (logger);
825
Project project = engine.CreateNewProject ();
826
project.Load (Path.Combine ("Test", Path.Combine ("resources", "main.proj")));
827
if (project_globals != null)
828
project.GlobalProperties = project_globals;
830
bool result = project.Build ();
832
logger.DumpMessages ();
833
Assert.Fail ("Build failed");
836
CheckEventCounts (logger, project_count, target_count, task_count);
838
CheckLoggedMessages (logger, messages, "A1");
841
void CheckEventCounts (MonoTests.Microsoft.Build.Tasks.TestMessageLogger logger,
842
int project, int target, int task)
845
Assert.AreEqual (project, logger.ProjectStarted, "#project started events");
846
Assert.AreEqual (project, logger.ProjectFinished, "#project finished events");
847
Assert.AreEqual (target, logger.TargetStarted, "#target started events");
848
Assert.AreEqual (target, logger.TargetFinished, "#target finished events");
849
Assert.AreEqual (task, logger.TaskStarted, "#task started events");
850
Assert.AreEqual (task, logger.TaskFinished, "#task finished events");
851
Assert.AreEqual (1, logger.BuildStarted, "#build started events");
852
Assert.AreEqual (1, logger.BuildFinished, "#build finished events");
853
} catch (AssertionException) {
854
logger.DumpMessages ();
859
void CheckLoggedMessages (MonoTests.Microsoft.Build.Tasks.TestMessageLogger logger, string [] messages,
863
for (int i = 0; i < messages.Length; i++) {
864
logger.CheckLoggedMessageHead (messages [i], String.Format ("{0} #{1}", prefix, i));
867
logger.DumpMessages ();
871
Assert.AreEqual (0, logger.NormalMessageCount, "Number of remaining messages");
874
// helper methods for TestGlobalProperties*
875
void WriteGlobalPropertiesProjects (string mainProject, string firstProject, string secondProject)
877
using (StreamWriter sw = new StreamWriter (Path.Combine ("Test", Path.Combine ("resources", "main.proj")))) {
878
sw.Write (mainProject);
881
using (StreamWriter sw = new StreamWriter (Path.Combine ("Test", Path.Combine ("resources", "first.proj")))) {
882
sw.Write (firstProject);
885
using (StreamWriter sw = new StreamWriter (Path.Combine ("Test", Path.Combine ("resources", "second.proj")))) {
886
sw.Write (secondProject);