Ensure non-nil debugwriter for easier v2v migration #249
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.
Some testcases are driving code that uses logger.debugWriter() when debug has not been enabled, this currently leads to a nil writer being returning, which causes code panics within the debug calls. This is an indirect side effect of the choice to move from a struct in the v1 poet logger, to an interface within the v2 logger. Many testcases do not initialize a logger, and run without debug being set, and yet end up driving code that attempts to log debug messages. Mostly these are ok when logged via the log.Debug* methods, but if the writer is obtained directly then panics can occur when the nil is dereferenced.
Rather than chasing down every testcase individually, it seems safer to return a no-op writer when debug is disabled.
Added two testcases to check new behavior.