Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix flakey WhenScriptServiceIsRunning_ThenWorkspaceIsNotDeleted test #745

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,7 @@ public async Task WhenScriptServiceIsRunning_ThenWorkspaceIsNotDeleted(TentacleC
Directory.Exists(startScriptWorkspaceDirectory).Should().BeTrue("Workspace should not have been cleaned up");

File.WriteAllText(waitBeforeCompletingScriptFile, "Write file that makes script continue executing");
var runningScriptResult = await runningScriptTask;

runningScriptResult.LogExecuteScriptOutput(Logger);

runningScriptResult.ScriptExecutionResult.ExitCode.Should().Be(0, "Script should have completed successfully");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could keep the tests to ensure that runningScriptTask succeeded (as it was the Directory.Exists(startScriptWorkspaceDirectory) check that failed).

I know it's much like Directory.Exists(startScriptWorkspaceDirectory), and technically not part of what's being tested. But still 😁

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I only recently added those asserts into the test to see if there was something else causing the test to fail!! Log / assert as much as possible to try and track down the issue (which is by design 😆 )

If the script fails or not should not really matter for the intent of the test. We await the execute script operation so the orchestration of the script should have been successful which is all we really care about

runningScriptResult.ScriptExecutionResult.State.Should().Be(ProcessState.Complete, "Script should have completed successfully");
Directory.Exists(startScriptWorkspaceDirectory).Should().BeFalse($"Workspace {startScriptWorkspaceDirectory} should have been cleaned up when CompleteScript was called");
await runningScriptTask;
}

[Test]
Expand Down