diff --git a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/CliRunner.cs b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/CliRunner.cs index 6511300e9..146868d93 100644 --- a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/CliRunner.cs +++ b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/CliRunner.cs @@ -267,7 +267,7 @@ namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop if (info.ExitCode != 0) { - info.FailureReason = $"CLI exited with code {info.ExitCode}."; + info.FailureReason = $"CLI exited with exit code {info.ExitCode}."; log?.Error($"{info.Name}: {info.FailureReason} stderr='{info.StandardError}'"); } @@ -300,8 +300,10 @@ namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop public void AddRunAndCaptureJsonAsync(string fileName, string args) where T : new() { - log.Debug($"CLI: {fileName}"); - log.Debug($"ARGS: {args}"); + // Tests deliberately create CliRunner without a logger. Starting a CLI task + // must not depend on diagnostics being configured. + log?.Debug($"CLI: {fileName}"); + log?.Debug($"ARGS: {args}"); ResetStartTime(); @@ -338,10 +340,10 @@ namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop try { - log.Debug($"FileName = '{psi.FileName}'"); - log.Debug($"Arguments = '{psi.Arguments}'"); - log.Debug($"WorkingDirectory = '{psi.WorkingDirectory}'"); - log.Debug($"Exists = {System.IO.File.Exists(psi.FileName)}"); + log?.Debug($"FileName = '{psi.FileName}'"); + log?.Debug($"Arguments = '{psi.Arguments}'"); + log?.Debug($"WorkingDirectory = '{psi.WorkingDirectory}'"); + log?.Debug($"Exists = {System.IO.File.Exists(psi.FileName)}"); process.Start(); @@ -375,7 +377,7 @@ namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop if (info.ExitCode != 0) { - info.FailureReason = $"CLI exited with code {info.ExitCode}."; + info.FailureReason = $"CLI exited with exit code {info.ExitCode}."; log?.Error($"{info.Name}: {info.FailureReason} stderr='{info.StandardError}'"); info.State = CliTaskState.Completed; return default(T); diff --git a/TBFTests/Rig/RegisterReaders/PoseidonCmdStartStop/CliRunnerTimeoutTest.cs b/TBFTests/Rig/RegisterReaders/PoseidonCmdStartStop/CliRunnerTimeoutTest.cs index 4d312fb37..e0cc11508 100644 --- a/TBFTests/Rig/RegisterReaders/PoseidonCmdStartStop/CliRunnerTimeoutTest.cs +++ b/TBFTests/Rig/RegisterReaders/PoseidonCmdStartStop/CliRunnerTimeoutTest.cs @@ -45,7 +45,7 @@ namespace TBFTests.Rig.RegisterReaders.PoseidonCmdStartStop string args = serialPort.DefaultArgSettings(SerialPortData.EMeterArg.AllParams); Assert.AreEqual( - "-p COM3 -m Poseidon --hat mth --timeout 30 --operation readall", + "-p COM3 -m 74 --hat mth --timeout 30 --operation readall", args); }