Skip to content

fix: stop waiting for Agent in a goroutine in ssh test #12268

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

Merged
merged 1 commit into from
Feb 22, 2024

Conversation

spikecurtis
Copy link
Contributor

@spikecurtis spikecurtis commented Feb 22, 2024

Fixes race seen here: https://github.com/coder/coder/runs/21852483781

What happens is that the agent connects, completes the test, and then disconnects before the Eventually condition runs. The waiter then times out because it's looking for a connected agent.

Then, since it's a require in a goroutine, that causes the tGo cleanup to hang and the whole test suite to timeout after 10 minutes.

Anyway, agenttest.New doesn't block, and we don't actually need to wait for the agent to connect, since a successful SSH session is evidence that it connected.

Copy link
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @spikecurtis and the rest of your teammates on Graphite Graphite

})
// When the agent connects, the workspace was started, and we should
// have access to the shell.
_ = agenttest.New(t, client.URL, authToken)
Copy link
Member

Choose a reason for hiding this comment

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

Could consider a defer a.Close() here too, to speed up the agents tear-down, not sure whether or not it would help with the issue being fixed here though.

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 think it will amount to the same thing. There is already a t.Cleanup() that closes it, which will run after the later defers in this function.

@spikecurtis spikecurtis marked this pull request as ready for review February 22, 2024 12:56
@spikecurtis spikecurtis merged commit da37654 into main Feb 22, 2024
@spikecurtis spikecurtis deleted the spike/ssh-test-agent-wait branch February 22, 2024 13:01
@github-actions github-actions bot locked and limited conversation to collaborators Feb 22, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants