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

Fixes/flaky ci #530

Merged
merged 2 commits into from
Jun 5, 2020
Merged

Fixes/flaky ci #530

merged 2 commits into from
Jun 5, 2020

Conversation

ericfreese
Copy link
Member

Rewrite with_history test helper to be more robust

Write mock history to a temp file and load it directly with fc -R instead of running each command individually to build up the history.

Fix flaky special char specs by not using with_history twice per test

There's something funny occasionally happening when with_history is used twice in the same test. It seems to be happening more frequently since asynchronous mode was enabled by default. My guess is it has something to do with the C-c keys being sent toward the end not consistently terminating the prompt. But I'm really not sure how it would ever get into a then block like it seems to:

Failure/Error: wait_for { session.content }.to eq('echo "hello\nworld"')

  expected: "echo \"hello\\nworld\""
       got: "then> echo \"hello\\"

Sticking to only one with_history per terminal session (per test) seems to fix the flakiness.

I also removed an old test case because I could not understand why it was necessary and so couldn't write a good description for it. Could be we'll need to add it back in at some point.

Write mock history to a temp file and load it directly with `fc -R`
instead of running each command individually to build up the history.
There's something funny occasionally happening when `with_history` is
used twice in the same test. It seems to be happening more frequently
since asynchronous mode was enabled by default. My guess is it has
something to do with the `C-c` keys being sent toward the end not
consistently terminating the prompt. But I'm really not sure how it
would ever get into a `then` block like it seems to:

```
Failure/Error: wait_for { session.content }.to eq('echo "hello\nworld"')

  expected: "echo \"hello\\nworld\""
       got: "then> echo \"hello\\"
```

Sticking to only one `with_history` per terminal session (per test)
seems to fix the flakiness.

I also removed an old test case because I could not understand why it
was necessary and so couldn't write a good description for it. Could be
we'll need to add it back in at some point.
@ericfreese ericfreese merged commit eff0894 into develop Jun 5, 2020
@ericfreese ericfreese deleted the fixes/flaky-ci branch June 5, 2020 20:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant