Fix #8: Update LoggerTests#9
Open
NoRePercussions wants to merge 4 commits intopurduesigbots:masterfrom
Open
Conversation
The previous tests used a technically write-only stream in memory, which causes the tests to fail on some systems. Instead, we can use an `fmemopen` stream to ensure it is always readable.
If each logger test writes more levels than requested as-is, the tests would not catch it due to the logging order. This way, we can assert that it does not write more.
In its previous form, TestLazyLogging checked that logging didn't error and that the lambda used was scoped. This version will check that it logs the contents given and no more.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description of the Change
Use an
fmemopenstream rather than aopen_memstreamstream, as the latter is specified to be write-only.Also adds new test cases.
Motivation
The previous tests used a technically write-only stream in memory, which causes the tests to fail on some systems. Instead, we can use an
fmemopenstream to ensure it is always readable.The old tests were not comprehensive and may not have detected all issues.
Possible Drawbacks
None anticipated, unless future tests involve writing more than 10,000 characters.
Verification Process
Passes all test cases and Valgrind.
Applicable Issues
#8