tac: use temp file for stdin to respect TMPDIR and handle disk-full errors #10094
+107
−73
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The tac-continue test used to rely on having an accessible TMP_DIR, the test was changed and now it was updated to be more flexible. Ultimately the functionality of tac in our implementation compared to the GNU implementation was just different from the context that the stdin is buffered to a TMP_DIR in the GNU implementation and not in the uutils implementation. This can cause issues with large STDIN because it will always max out the memory and timeout instead of erroring and it takes up significantly more memory.