Do not stream output in acceptance tests
Changes
Instead of printing output logs line by line, now we'll store the entire output in memory before writing it to a file.
Why
Calling multiple write operations using the FUSE mount for the workspace file system seems to leave the file system in an inconsistent state, with reads not returning recent writes.
Using a single write operation seems to workaround that issue. This PR does so to enable DBR testing.
Note: I've been unable to reproduce the FUSE bug outside of the acceptance testing framework.
Tests
Existing tests pass. One test was updated to reflect that output.txt is not created immediately as the process is running.
| Env | ✅pass | 🔄flaky | 🙈skip | |
|---|---|---|---|---|
| ✅ | aws linux | 308 | 509 | |
| ✅ | aws windows | 309 | 508 | |
| 🔄 | aws-ucws linux | 416 | 4 | 407 |
| 🔄 | aws-ucws windows | 420 | 1 | 406 |
| ✅ | azure linux | 308 | 508 | |
| ✅ | azure windows | 309 | 507 | |
| ✅ | azure-ucws linux | 420 | 406 | |
| ✅ | azure-ucws windows | 421 | 405 | |
| ✅ | gcp linux | 307 | 510 | |
| ✅ | gcp windows | 308 | 509 |
| Test Name | aws-ucws linux | aws-ucws windows |
|---|---|---|
| TestAccept | 🔄flaky | ✅pass |
| TestAccept/bundle/deployment/bind/dashboard | 🔄flaky | ✅pass |
| TestAccept/bundle/deployment/bind/dashboard/recreation | 🔄flaky | ✅pass |
| TestDashboardAssumptions_WorkspaceImport | 🔄flaky | 🔄flaky |
I've filed the FUSE consistency issue with the files team. I'm putting this PR on hold until we have some clarity from their side.
This PR has not received an update in a while. If you want to keep this PR open, please leave a comment below or push a new commit and auto-close will be canceled.