feat: verify Tornado PGM KTAP connection

This commit is contained in:
2026-07-10 14:28:45 +09:00
parent b113830c14
commit 930424b752
22 changed files with 3474 additions and 67 deletions

View File

@@ -181,6 +181,88 @@ public sealed class SmokeCommandLineTests
Assert.Equal(SmokeCommandKind.TestPlan, parsed.Invocation.Kind);
}
[Fact]
public void Parse_PgmConnectDiagnosticRequiresDistinctAcknowledgementAndExactInputs()
{
string[] complete =
[
"--pgm-connect-diagnostic",
SmokeCommandLine.PgmConnectAcknowledgementFlag,
"--host",
"127.0.0.1",
"--port",
"30001",
"--expected-pgm-window-title",
"PGM"
];
var missingAcknowledgement = SmokeCommandLine.Parse(complete[0..1]
.Concat(complete[2..])
.ToArray());
var wrongAcknowledgement = SmokeCommandLine.Parse(
complete.Select(value => value == SmokeCommandLine.PgmConnectAcknowledgementFlag
? SmokeCommandLine.AcknowledgementFlag
: value).ToArray());
var parsed = SmokeCommandLine.Parse(complete);
Assert.False(missingAcknowledgement.IsValid);
Assert.Equal("missing-acknowledgement", missingAcknowledgement.ErrorCode);
Assert.False(wrongAcknowledgement.IsValid);
Assert.Equal("unknown-option", wrongAcknowledgement.ErrorCode);
Assert.True(parsed.IsValid);
Assert.Equal(SmokeCommandKind.PgmConnectDiagnostic, parsed.Invocation.Kind);
Assert.Equal("127.0.0.1", parsed.Invocation.Host);
Assert.Equal(30001, parsed.Invocation.Port);
Assert.Equal("PGM", parsed.Invocation.ExpectedPgmWindowTitle);
Assert.Null(parsed.Invocation.ConfigPath);
}
[Theory]
[InlineData("--config")]
[InlineData("--prepare")]
[InlineData("--next")]
[InlineData("--observe-ms")]
public void Parse_PgmConnectDiagnosticRejectsEveryConfigOrRenderOption(string option)
{
var parsed = SmokeCommandLine.Parse(
[
"--pgm-connect-diagnostic",
SmokeCommandLine.PgmConnectAcknowledgementFlag,
"--host",
"127.0.0.1",
"--port",
"30001",
"--expected-pgm-window-title",
"PGM",
option,
"5001"
]);
Assert.False(parsed.IsValid);
Assert.Equal("unknown-option", parsed.ErrorCode);
}
[Theory]
[InlineData("0")]
[InlineData("65536")]
[InlineData("secret")]
public void Parse_PgmConnectDiagnosticRejectsInvalidPort(string port)
{
var parsed = SmokeCommandLine.Parse(
[
"--pgm-connect-diagnostic",
SmokeCommandLine.PgmConnectAcknowledgementFlag,
"--host",
"127.0.0.1",
"--port",
port,
"--expected-pgm-window-title",
"PGM"
]);
Assert.False(parsed.IsValid);
Assert.Equal("invalid-port", parsed.ErrorCode);
}
private static SmokeCommandParseResult ValidSequenceArguments(
string prepare = "5001",
string observation = "1000") =>