Skip to content

Enable Style/GlobalStdStream

James Fargher requested to merge enable_GlobalStdStream into master

What does this MR do?

STDOUT and friends are constants which means, amongst other things, they cannot be replaced using the rspec output matchers. Instead we should use the global version of the same thing $stdout etc.

This MR uses rubocops automatic fixup to replace all relevant violations as per https://www.rubydoc.info/gems/rubocop/RuboCop/Cop/Style/GlobalStdStream

I suspect the reason using STDOUT is so common while initialising loggers is because of the stdlib docs https://ruby-doc.org/stdlib-3.0.1/libdoc/logger/rdoc/Logger.html#class-Logger-label-How+to+create+a+logger - As far as I know there's no reasoning behind this.

This MR was split from !62536 (merged) which adds a rspec filter to redirect $stdout - this filter will work much better once STDOUT is replaced by $stdout as per this MR.

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by James Fargher

Merge request reports