diff --git a/TIASshot.Tests/SelfTestRunnerTests.cs b/TIASshot.Tests/SelfTestRunnerTests.cs index 6962d60..1a62ab8 100644 --- a/TIASshot.Tests/SelfTestRunnerTests.cs +++ b/TIASshot.Tests/SelfTestRunnerTests.cs @@ -86,6 +86,18 @@ Assert.That(SelfTestRunner.ExitTimeout, Is.EqualTo(3)); } + [TestCase("", TestName = "Run_出力先が空文字_例外を投げず終了コード2")] + [TestCase("a\0b.txt", TestName = "Run_出力先にNUL文字_例外を投げず終了コード2")] + [TestCase(@"C:\tmp\a:b.txt", TestName = "Run_出力先にドライブ以外のコロン_例外を投げず終了コード2")] + public void Run_不正な出力先_セルフテスト自体の異常として2を返す(string outValue) { + // 不正な --selftest-out は結果ファイルを作成できない場合と同じく「セルフテスト自体の異常」(2). + // 結果ファイルの準備段階で返るため,フォーム・偽カメラ・ウォッチドッグは起動しない + var args = new[] { "TIASshot.exe", "--selftest", "--selftest-out", outValue }; + var exitCode = -1; + Assert.DoesNotThrow((System.Action)(() => exitCode = SelfTestRunner.Run(args))); + Assert.That(exitCode, Is.EqualTo(SelfTestRunner.ExitError)); + } + [Test] public void フラグ名_仕様どおりselftest() { Assert.That(SelfTestRunner.FlagSelfTest, Is.EqualTo("--selftest"));