feat: harden isolated Tornado test workflow

This commit is contained in:
2026-07-10 11:27:40 +09:00
parent 5a8c7028dc
commit fc932b27f6
36 changed files with 3919 additions and 226 deletions

View File

@@ -25,16 +25,34 @@ public sealed class PlayoutSafetyValidationTests : IDisposable
[Theory]
[InlineData("Tornado2 TEST", false)]
[InlineData("Tornado2", true)]
[InlineData("Tornado2 PGM", true)]
[InlineData("PROGRAM OUTPUT", true)]
[InlineData("preview pgm backup", true)]
[InlineData("", false)]
[InlineData(null, false)]
[InlineData("SAFE", false)]
[InlineData("", true)]
[InlineData(null, true)]
public void IsProgramTitle_RejectsPgmAndProgramWindows(string? title, bool expected)
{
Assert.Equal(expected, TornadoProcessProbe.IsProgramTitle(title));
}
[Theory]
[InlineData("Tornado2 TEST", true)]
[InlineData("TEST-1", true)]
[InlineData("preview_test_output", true)]
[InlineData("Tornado2", false)]
[InlineData("CONTEST", false)]
[InlineData("TEST1", false)]
[InlineData("", false)]
[InlineData(null, false)]
public void HasExplicitTestMarker_RequiresStandaloneTestToken(
string? title,
bool expected)
{
Assert.Equal(expected, TornadoProcessProbe.HasExplicitTestMarker(title));
}
[Theory]
[InlineData(0, false)]
[InlineData(1, true)]
@@ -96,6 +114,9 @@ public sealed class PlayoutSafetyValidationTests : IDisposable
[InlineData("PGM")]
[InlineData("PROGRAM")]
[InlineData("^Tornado2 (TEST|PGM)$")]
[InlineData("^Tornado2$")]
[InlineData("^$")]
[InlineData("^SAFE$")]
public void Validate_TestWindowPatternThatCanMatchProgramOutput_IsRejected(string pattern)
{
var options = ValidTestOptions();