mirror of
https://github.com/coder/coder.git
synced 2026-09-21 20:51:01 +08:00
Fixes flake seen here, I think https://github.com/coder/coder/actions/runs/7565915337/job/20602500818 golang's file processing is complex, and in at least some cases it can return from a file.Close() call without having actually closed the file descriptor. If we're holding open the file descriptor of an executable we just wrote, and try to execute it, it will fail with "text file busy" which is what we have seen. So, to be extra sure, I've avoided the standard library and directly called the syscalls to open, write, and close the file we intend to use in the test. I've also added some more logging so if it's some issue of multiple tests writing to the same location, the we might have a chance to see it.