53 references to CauseKind
Infrastructure.Tests (12)
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 (4)
419cause => cause.Kind == CauseKind.PathRule && cause.Trigger == path); 565cause.Kind == CauseKind.AffectedProject && cause.Trigger == affectedProject); 596Assert.Contains(result.JobCauses["job:cli-starter-validation"], cause => cause.Kind == CauseKind.AffectedProject); 633cause => cause.Kind == CauseKind.AffectedProject);
SelectTests (41)
Program.cs (32)
882var direct = members.Where(m => m.Value.Kind is CauseKind.Convention or CauseKind.PathRule).Select(m => m.Key).OrderBy(p => p, StringComparer.Ordinal).ToList(); 883var graph = members.Where(m => m.Value.Kind is CauseKind.Layer1Graph).OrderBy(m => m.Key, StringComparer.Ordinal).ToList(); 884var 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(); 939if (member.Value is { Kind: CauseKind.Layer1Graph, Path: { Count: > 0 } path }) 957CauseKind.Convention or CauseKind.PathRule => $"file:{cause.Trigger}", 958CauseKind.Layer1Graph => $"file:{(cause.Path is { Count: > 0 } path ? path[0] : "(changed source)")}", 959CauseKind.AffectedProject => $"affected:{cause.Trigger}", 960CauseKind.DerivedFromTest => $"derived:{cause.Trigger}", 1034.Where(c => c.Kind is CauseKind.Convention or CauseKind.PathRule) 1039.Where(c => c.Kind is not (CauseKind.Convention or CauseKind.PathRule)) 1257private static int CausePriority(CauseKind kind) => kind switch 1259CauseKind.Convention => 0, 1260CauseKind.PathRule => 1, 1261CauseKind.AffectedProject => 2, 1262CauseKind.Layer1Graph => 3, 1263CauseKind.DerivedFromTest => 4, 1270CauseKind.Convention => $"`{cause.Trigger}`", 1271CauseKind.PathRule => $"`{cause.Trigger}`", 1272CauseKind.AffectedProject => $"affected project `{cause.Trigger}`", 1275CauseKind.Layer1Graph => Layer1ShortCause(cause), 1280CauseKind.DerivedFromTest => $"selected test `{cause.Trigger}`", 1303CauseKind.Convention => $"convention match `{cause.Trigger}`", 1304CauseKind.PathRule => $"path rule `{cause.Trigger}`", 1305CauseKind.AffectedProject => $"affected project `{cause.Trigger}`", 1308CauseKind.Layer1Graph => cause.Path is { Count: > 0 } path 1311CauseKind.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));