52 references to CauseKind
Infrastructure.Tests (11)
TestTriggerMap\SelectTestsAcceptanceTests.cs (8)
499Assert.Equal(CauseKind.PathRule, cause.Kind); 509Assert.Equal(CauseKind.Convention, cause.Kind); 519Assert.Equal(CauseKind.Layer1Graph, cause.Kind); 542Assert.Equal(CauseKind.Layer1Graph, cause.Kind); 555Assert.Equal(CauseKind.AffectedProject, cause.Kind); 568Assert.Equal(CauseKind.DerivedFromTest, cause.Kind); 580Assert.Equal(CauseKind.PathRule, Assert.Single(r.JobCauses["job:installer"]).Kind); 581Assert.Equal(CauseKind.AffectedProject, Assert.Single(r.JobCauses["job:projjob"]).Kind);
TestTriggerMap\TestTriggerMapTests.cs (3)
844cause.Kind == CauseKind.AffectedProject && cause.Trigger == affectedProject); 874Assert.Contains(result.JobCauses["job:cli-starter-validation"], cause => cause.Kind == CauseKind.AffectedProject); 911cause => cause.Kind == CauseKind.AffectedProject);
SelectTests (41)
Program.cs (32)
881var direct = members.Where(m => m.Value.Kind is CauseKind.Convention or CauseKind.PathRule).Select(m => m.Key).OrderBy(p => p, StringComparer.Ordinal).ToList(); 882var graph = members.Where(m => m.Value.Kind is CauseKind.Layer1Graph).OrderBy(m => m.Key, StringComparer.Ordinal).ToList(); 883var other = members.Where(m => m.Value.Kind is not (CauseKind.Convention or CauseKind.PathRule or CauseKind.Layer1Graph)).Select(m => m.Key).OrderBy(p => p, StringComparer.Ordinal).ToList(); 938if (member.Value is { Kind: CauseKind.Layer1Graph, Path: { Count: > 0 } path }) 956CauseKind.Convention or CauseKind.PathRule => $"file:{cause.Trigger}", 957CauseKind.Layer1Graph => $"file:{(cause.Path is { Count: > 0 } path ? path[0] : "(changed source)")}", 958CauseKind.AffectedProject => $"affected:{cause.Trigger}", 959CauseKind.DerivedFromTest => $"derived:{cause.Trigger}", 1033.Where(c => c.Kind is CauseKind.Convention or CauseKind.PathRule) 1038.Where(c => c.Kind is not (CauseKind.Convention or CauseKind.PathRule)) 1256private static int CausePriority(CauseKind kind) => kind switch 1258CauseKind.Convention => 0, 1259CauseKind.PathRule => 1, 1260CauseKind.AffectedProject => 2, 1261CauseKind.Layer1Graph => 3, 1262CauseKind.DerivedFromTest => 4, 1269CauseKind.Convention => $"`{cause.Trigger}`", 1270CauseKind.PathRule => $"`{cause.Trigger}`", 1271CauseKind.AffectedProject => $"affected project `{cause.Trigger}`", 1274CauseKind.Layer1Graph => Layer1ShortCause(cause), 1279CauseKind.DerivedFromTest => $"selected test `{cause.Trigger}`", 1302CauseKind.Convention => $"convention match `{cause.Trigger}`", 1303CauseKind.PathRule => $"path rule `{cause.Trigger}`", 1304CauseKind.AffectedProject => $"affected project `{cause.Trigger}`", 1307CauseKind.Layer1Graph => cause.Path is { Count: > 0 } path 1310CauseKind.DerivedFromTest => $"derived from selected test `{cause.Trigger}`",
TestSelector.cs (9)
51/// <see cref="CauseKind.DerivedFromTest"/> — the selected test project that pulled this in. 56/// <see cref="CauseKind.Layer1Graph"/> this is the seed changed file followed by the 62public sealed record Cause(CauseKind Kind, string Trigger, string? Reason = null, IReadOnlyList<string>? Path = null); 154/// project base name. When a selected test project has an entry, its <see cref="CauseKind.Layer1Graph"/> 203AddCause(testCauses, project, new Cause(CauseKind.Convention, file)); 215new Cause(CauseKind.PathRule, file, rule.Reason)); 264AddCause(testCauses, project, new Cause(CauseKind.Layer1Graph, project, Path: path)); 291new Cause(CauseKind.AffectedProject, matchedProject, rule.Reason)); 422new Cause(CauseKind.DerivedFromTest, triggeringTest, derived.Reason));