Skip to content

Commit 17206e7

Browse files
committed
green up tests
1 parent 0896a8b commit 17206e7

File tree

6 files changed

+17
-16
lines changed

6 files changed

+17
-16
lines changed

Test.Microsoft.NET.Build.Containers.Filesystem/CreateNewImageTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public void ParseContainerProperties_EndToEnd()
9494
pcp.FullyQualifiedBaseImageName = "mcr.microsoft.com/dotnet/runtime:7.0";
9595
pcp.ContainerRegistry = "localhost:5010";
9696
pcp.ContainerImageName = "dotnet/testimage";
97-
pcp.ContainerImageTags = new [] {"5.0", "latest"};
97+
pcp.ContainerImageTags = new [] { "5.0", "latest"};
9898

9999
Assert.IsTrue(pcp.Execute());
100100
Assert.AreEqual("mcr.microsoft.com", pcp.ParsedContainerRegistry);

Test.Microsoft.NET.Build.Containers.Filesystem/EndToEnd.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ public async Task EndToEnd_NoAPI()
147147
File.Copy(repoGlobalJson, Path.Combine(newProjectDir.FullName, "global.json"));
148148

149149
// 🤢
150-
DirectoryInfo nupkgPath = new DirectoryInfo(Assembly.GetAssembly(this.GetType()).Location).Parent.Parent.Parent.Parent;
150+
DirectoryInfo nupkgPath = new DirectoryInfo(Assembly.GetAssembly(this.GetType()).Location).Parent.Parent.Parent;
151151
nupkgPath = nupkgPath.GetDirectories("package")[0];
152152
FileInfo[] nupkgs = nupkgPath.GetFiles("*.nupkg");
153153
if (nupkgs == null || nupkgs.Length == 0)

Test.Microsoft.NET.Build.Containers.Filesystem/Evaluator.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public static void Cleanup()
3636
if (CombinedTargetsLocation != null) File.Delete(CombinedTargetsLocation);
3737
}
3838

39-
public static (Project, CapturingLogger) InitProject(Dictionary<string, string> bonusProps, bool captureLogs = false, [CallerMemberName]string projectName = "")
39+
public static (Project, CapturingLogger) InitProject(Dictionary<string, string> bonusProps, [CallerMemberName]string projectName = "")
4040
{
4141
var props = new Dictionary<string, string>();
4242
// required parameters
@@ -49,9 +49,11 @@ public static (Project, CapturingLogger) InitProject(Dictionary<string, string>
4949
// test setup parameters so that we can load the props/targets/tasks
5050
props["ContainerCustomTasksAssembly"] = Path.GetFullPath(Path.Combine(".", "Microsoft.NET.Build.Containers.dll"));
5151
props["_IsTest"] = "true";
52+
53+
var safeBinlogFileName = projectName.Replace(" ", "_").Replace(":", "_").Replace("/", "_").Replace("\\", "_").Replace("*", "_");
5254
var loggers = new List<ILogger>
5355
{
54-
new global::Microsoft.Build.Logging.BinaryLogger() {CollectProjectImports = global::Microsoft.Build.Logging.BinaryLogger.ProjectImportsCollectionMode.Embed, Verbosity = LoggerVerbosity.Diagnostic, Parameters = $"LogFile={projectName}.binlog" },
56+
new global::Microsoft.Build.Logging.BinaryLogger() {CollectProjectImports = global::Microsoft.Build.Logging.BinaryLogger.ProjectImportsCollectionMode.Embed, Verbosity = LoggerVerbosity.Diagnostic, Parameters = $"LogFile={safeBinlogFileName}.binlog" },
5557
new global::Microsoft.Build.Logging.ConsoleLogger(LoggerVerbosity.Detailed)
5658
};
5759
CapturingLogger logs = new CapturingLogger();

Test.Microsoft.NET.Build.Containers.Filesystem/ParseContainerPropertiesTests.cs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public void Baseline()
2323
Assert.AreEqual("7.0", instance.GetPropertyValue(ContainerBaseTag));
2424

2525
Assert.AreEqual("dotnet/testimage", instance.GetPropertyValue(ContainerImageName));
26-
CollectionAssert.AreEquivalent(new[] { "7.0", "latest" }, instance.GetPropertyValue(ContainerImageTags).Split(':'));
26+
CollectionAssert.AreEquivalent(new[] { "7.0", "latest" }, instance.GetItems(ContainerImageTags).Select(i => i.EvaluatedInclude).ToArray());
2727
}
2828

2929
[TestMethod]
@@ -50,12 +50,11 @@ public void RegexCatchesInvalidContainerNames()
5050
[ContainerRegistry] = "localhost:5010",
5151
[ContainerImageName] = "dotnet testimage",
5252
[ContainerImageTag] = "5.0"
53-
}, captureLogs: true);
53+
});
5454

5555
var instance = project.CreateProjectInstance(global::Microsoft.Build.Execution.ProjectInstanceSettings.None);
5656
Assert.IsTrue(instance.Build(new[]{ComputeContainerConfig}, new [] { logs }, null, out var outputs));
57-
Assert.IsTrue(logs.Messages.Count > 0);
58-
Assert.AreEqual(ErrorCodes.CONTAINER001, logs.Messages[0].Code);
57+
Assert.IsTrue(logs.Messages.Any(m => m.Code == ErrorCodes.CONTAINER001 && m.Importance == global::Microsoft.Build.Framework.MessageImportance.High));
5958
}
6059

6160
[TestMethod]
@@ -66,7 +65,7 @@ public void RegexCatchesInvalidContainerTags()
6665
[ContainerRegistry] = "localhost:5010",
6766
[ContainerImageName] = "dotnet/testimage",
6867
[ContainerImageTag] = "5 0"
69-
}, captureLogs: true);
68+
});
7069

7170
var instance = project.CreateProjectInstance(global::Microsoft.Build.Execution.ProjectInstanceSettings.None);
7271
Assert.IsFalse(instance.Build(new[]{ComputeContainerConfig}, new [] { logs }, null, out var outputs));
@@ -84,7 +83,7 @@ public void CanOnlySupplyOneOfTagAndTags()
8483
[ContainerImageName] = "dotnet/testimage",
8584
[ContainerImageTag] = "5.0",
8685
[ContainerImageTags] = "latest;oldest"
87-
}, captureLogs: true);
86+
});
8887

8988
var instance = project.CreateProjectInstance(global::Microsoft.Build.Execution.ProjectInstanceSettings.None);
9089
Assert.IsFalse(instance.Build(new[]{ComputeContainerConfig}, new [] { logs }, null, out var outputs));

Test.Microsoft.NET.Build.Containers.Filesystem/TargetsTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public void CanSetEntrypointArgsToUseAppHost(bool useAppHost, params string[] en
1414
var (project, _) = Evaluator.InitProject(new()
1515
{
1616
[UseAppHost] = useAppHost.ToString()
17-
});
17+
}, projectName: $"{nameof(CanSetEntrypointArgsToUseAppHost)}_{useAppHost}_{String.Join("_", entrypointArgs)}");
1818
Assert.IsTrue(project.Build(ComputeContainerConfig));
1919
var computedEntrypointArgs = project.GetItems(ContainerEntrypoint).Select(i => i.EvaluatedInclude).ToArray();
2020
foreach (var (First, Second) in entrypointArgs.Zip(computedEntrypointArgs))
@@ -34,7 +34,7 @@ public void CanNormalizeInputContainerNames(string projectName, string expectedC
3434
var (project, _) = Evaluator.InitProject(new()
3535
{
3636
[AssemblyName] = projectName
37-
});
37+
}, projectName: $"{nameof(CanNormalizeInputContainerNames)}_{projectName}_{expectedContainerImageName}_{shouldPass}");
3838
var instance = project.CreateProjectInstance(global::Microsoft.Build.Execution.ProjectInstanceSettings.None);
3939
Assert.AreEqual(shouldPass, instance.Build(new[]{ComputeContainerConfig}, null, null, out var outputs), "Build should have succeeded");
4040
Assert.AreEqual(expectedContainerImageName, instance.GetPropertyValue(ContainerImageName));
@@ -52,7 +52,7 @@ public void CanWarnOnInvalidSDKVersions(string sdkVersion, bool isAllowed) {
5252
{
5353
["NETCoreSdkVersion"] = sdkVersion,
5454
["PublishProfile"] = "DefaultContainer"
55-
});
55+
}, projectName: $"{nameof(CanWarnOnInvalidSDKVersions)}_{sdkVersion}_{isAllowed}");
5656
var instance = project.CreateProjectInstance(global::Microsoft.Build.Execution.ProjectInstanceSettings.None);
5757
var derivedIsAllowed = Boolean.Parse(project.GetProperty("_IsSDKContainerAllowedVersion").EvaluatedValue);
5858
// var buildResult = instance.Build(new[]{"_ContainerVerifySDKVersion"}, null, null, out var outputs);

packaging/build/Microsoft.NET.Build.Containers.targets

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@
6363
<!-- Note: spaces will be replaced with '-' in ContainerImageName and ContainerImageTag -->
6464
<ContainerImageName Condition="'$(ContainerImageName)' == ''">$(AssemblyName)</ContainerImageName>
6565
<!-- Only default a tag name if no tag names at all are provided -->
66-
<ContainerImageTag Condition="'$(ContainerImageTag)' == '' and @(ContainerImageTags->Count()) == 0">$(Version)</ContainerImageTag>
67-
<ContainerImageTag Condition="'$(AutoGenerateImageTag)' == 'true' and @(ContainerImageTags->Count()) == 0">$([System.DateTime]::UtcNow.ToString('yyyyMMddhhmmss'))</ContainerImageTag>
66+
<ContainerImageTag Condition="'$(ContainerImageTag)' == '' and '$(ContainerImageTags)' == ''">$(Version)</ContainerImageTag>
67+
<ContainerImageTag Condition="'$(AutoGenerateImageTag)' == 'true' and '$(ContainerImageTags)' == ''">$([System.DateTime]::UtcNow.ToString('yyyyMMddhhmmss'))</ContainerImageTag>
6868
<ContainerWorkingDirectory Condition="'$(ContainerWorkingDirectory)' == ''">/app</ContainerWorkingDirectory>
6969
<!-- Could be semicolon-delimited -->
7070
</PropertyGroup>
@@ -92,7 +92,7 @@
9292
ContainerRegistry="$(ContainerRegistry)"
9393
ContainerImageName="$(ContainerImageName)"
9494
ContainerImageTag="$(ContainerImageTag)"
95-
ContainerImageTags="@(ContainerImageTags)"
95+
ContainerImageTags="$(ContainerImageTags)"
9696
ContainerEnvironmentVariables="@(ContainerEnvironmentVariable)">
9797

9898
<Output TaskParameter="ParsedContainerRegistry" PropertyName="ContainerBaseRegistry" />

0 commit comments

Comments
 (0)