diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 39b1518558d483a9fa7f25a1ee757ac9f6fd63fa..ad1f7afa451b1437df67240b7dbba0863274b847 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -742,11 +742,6 @@ Style/ExplicitBlockArgument: Style/FormatString: Enabled: false -# Offense count: 67 -# Cop supports --auto-correct. -Style/GlobalStdStream: - Enabled: false - # Offense count: 897 # Configuration parameters: MinBodyLength. Style/GuardClause: diff --git a/doc/administration/file_hooks.md b/doc/administration/file_hooks.md index c60f00404968bf425c14756a6469bf754152b3aa..f6bbd2338be2a85968c2b6ea0a4c12512046f2bf 100644 --- a/doc/administration/file_hooks.md +++ b/doc/administration/file_hooks.md @@ -79,7 +79,7 @@ require 'json' require 'mail' # The incoming variables are in JSON format so we need to parse it first. -ARGS = JSON.parse(STDIN.read) +ARGS = JSON.parse($stdin.read) # We only want to trigger this file hook on the event project_create return unless ARGS['event_name'] == 'project_create' diff --git a/doc/administration/troubleshooting/debug.md b/doc/administration/troubleshooting/debug.md index 7be51cae84787c938abb4b4fae35c2b13792efa8..c1e51001961c0d16b12fe4dd0bf1ee3b17844e6a 100644 --- a/doc/administration/troubleshooting/debug.md +++ b/doc/administration/troubleshooting/debug.md @@ -26,7 +26,7 @@ You can enable output of Active Record debug logging in the Rails console session by running: ```ruby -ActiveRecord::Base.logger = Logger.new(STDOUT) +ActiveRecord::Base.logger = Logger.new($stdout) ``` This will show information about database queries triggered by any Ruby code diff --git a/doc/administration/troubleshooting/gitlab_rails_cheat_sheet.md b/doc/administration/troubleshooting/gitlab_rails_cheat_sheet.md index dd1f3680435378c7bf29ff456bc493012649668a..c56b2a45c396ea8d68f74b0ade9355e354eab4a3 100644 --- a/doc/administration/troubleshooting/gitlab_rails_cheat_sheet.md +++ b/doc/administration/troubleshooting/gitlab_rails_cheat_sheet.md @@ -100,7 +100,7 @@ Rails.cache.instance_variable_get(:@data).keys ```ruby # Before 11.6.0 -logger = Logger.new(STDOUT) +logger = Logger.new($stdout) admin_token = User.find_by_username('ADMIN_USERNAME').personal_access_tokens.first.token app.get("URL/?private_token=#{admin_token}") @@ -113,7 +113,7 @@ Gitlab::Profiler.with_user(admin) { app.get(url) } ## Using the GitLab profiler inside console (used as of 10.5) ```ruby -logger = Logger.new(STDOUT) +logger = Logger.new($stdout) admin = User.find_by_username('ADMIN_USERNAME') Gitlab::Profiler.profile('URL', logger: logger, user: admin) ``` diff --git a/doc/administration/troubleshooting/navigating_gitlab_via_rails_console.md b/doc/administration/troubleshooting/navigating_gitlab_via_rails_console.md index 7c0a1c1b3973452d22465274dfc3aebe7f3f275e..e55118d7309f975e58e8088310a08aa9bd5e7e49 100644 --- a/doc/administration/troubleshooting/navigating_gitlab_via_rails_console.md +++ b/doc/administration/troubleshooting/navigating_gitlab_via_rails_console.md @@ -46,7 +46,7 @@ Let's enable debug logging for Active Record so we can see the underlying database queries made: ```ruby -ActiveRecord::Base.logger = Logger.new(STDOUT) +ActiveRecord::Base.logger = Logger.new($stdout) ``` Now, let's try retrieving a user from the database: diff --git a/doc/development/profiling.md b/doc/development/profiling.md index 81881a4d490bd21f61c7d5f0d6a34417c55bf58c..781138a6ade6147edfe0b4db4c65c758f4e3bd14 100644 --- a/doc/development/profiling.md +++ b/doc/development/profiling.md @@ -49,7 +49,7 @@ ActiveRecord and ActionController log output to that logger. Further options are documented with the method source. ```ruby -Gitlab::Profiler.profile('/gitlab-org/gitlab-test', user: User.first, logger: Logger.new(STDOUT)) +Gitlab::Profiler.profile('/gitlab-org/gitlab-test', user: User.first, logger: Logger.new($stdout)) ``` There is also a RubyProf printer available: diff --git a/ee/lib/tasks/gitlab/elastic.rake b/ee/lib/tasks/gitlab/elastic.rake index 33431ef61dbeca6c6329c480b1b7fb2e9ef1373e..ff6d9027c50def75901247787f6a68322bd0d5e7 100644 --- a/ee/lib/tasks/gitlab/elastic.rake +++ b/ee/lib/tasks/gitlab/elastic.rake @@ -51,7 +51,7 @@ namespace :gitlab do desc "GitLab | Elasticsearch | Index all snippets" task index_snippets: :environment do - logger = Logger.new(STDOUT) + logger = Logger.new($stdout) logger.info("Indexing snippets...") Snippet.es_import diff --git a/file_hooks/examples/save_to_file.rb b/file_hooks/examples/save_to_file.rb index 61b0df9bfd6e33c62c54d9eba2080672463a215e..88e5986337b4344602fc3e1112d3e743723dcffb 100755 --- a/file_hooks/examples/save_to_file.rb +++ b/file_hooks/examples/save_to_file.rb @@ -1,3 +1,3 @@ #!/usr/bin/env ruby -x = STDIN.read +x = $stdin.read File.write('/tmp/rb-data.txt', x) diff --git a/lib/gitlab/profiler.rb b/lib/gitlab/profiler.rb index 42f43f998c490fc77b33e077f8d8d337e18a97e7..5c9b029a107d6b65e32184dea62351d4180c27de 100644 --- a/lib/gitlab/profiler.rb +++ b/lib/gitlab/profiler.rb @@ -170,7 +170,7 @@ def self.log_load_times_by_model(logger) def self.print_by_total_time(result, options = {}) default_options = { sort_method: :total_time, filter_by: :total_time } - RubyProf::FlatPrinter.new(result).print(STDOUT, default_options.merge(options)) + RubyProf::FlatPrinter.new(result).print($stdout, default_options.merge(options)) end end end diff --git a/lib/gitlab/sidekiq_cluster/cli.rb b/lib/gitlab/sidekiq_cluster/cli.rb index 9490d543dd1b73a19aab84ed739c658fa1c2080c..5d633620c7e524e414d71e9dafa7edb75f1b4cbf 100644 --- a/lib/gitlab/sidekiq_cluster/cli.rb +++ b/lib/gitlab/sidekiq_cluster/cli.rb @@ -22,7 +22,7 @@ class CLI CommandError = Class.new(StandardError) - def initialize(log_output = STDERR) + def initialize(log_output = $stderr) require_relative '../../../lib/gitlab/sidekiq_logging/json_formatter' # As recommended by https://github.com/mperham/sidekiq/wiki/Advanced-Options#concurrency diff --git a/lib/gitlab/task_helpers.rb b/lib/gitlab/task_helpers.rb index 1ceccc64ec0d75aa71318357172e687833202374..227962fc0f776ea9b85be481fd2a5ec602e30b33 100644 --- a/lib/gitlab/task_helpers.rb +++ b/lib/gitlab/task_helpers.rb @@ -61,7 +61,7 @@ def os_name def prompt(message, choices = nil) begin print(message) - answer = STDIN.gets.chomp + answer = $stdin.gets.chomp end while choices.present? && !choices.include?(answer) answer end @@ -70,12 +70,12 @@ def prompt(message, choices = nil) # # message - custom message to display before input def prompt_for_password(message = 'Enter password: ') - unless STDIN.tty? + unless $stdin.tty? print(message) - return STDIN.gets.chomp + return $stdin.gets.chomp end - STDIN.getpass(message) + $stdin.getpass(message) end # Runs the given command and matches the output against the given pattern diff --git a/lib/gitlab/utils/measuring.rb b/lib/gitlab/utils/measuring.rb index ffd12c1b51843c544ae43baceebb26b7ee585660..dc43d977a62172cca219e8c75f9f7088c128078f 100644 --- a/lib/gitlab/utils/measuring.rb +++ b/lib/gitlab/utils/measuring.rb @@ -9,7 +9,7 @@ class << self attr_writer :logger def logger - @logger ||= Logger.new(STDOUT) + @logger ||= Logger.new($stdout) end end @@ -67,7 +67,7 @@ def with_measure_time def log_info(details) details = base_log_data.merge(details) - details = details.to_yaml if ActiveSupport::Logger.logger_outputs_to?(Measuring.logger, STDOUT) + details = details.to_yaml if ActiveSupport::Logger.logger_outputs_to?(Measuring.logger, $stdout) Measuring.logger.info(details) end end diff --git a/lib/tasks/gitlab/artifacts/migrate.rake b/lib/tasks/gitlab/artifacts/migrate.rake index 4c312ea492b3347af25361accb17e9e1ccf17a99..084e7c78906d56bc85390a0556a11ed22fc2381a 100644 --- a/lib/tasks/gitlab/artifacts/migrate.rake +++ b/lib/tasks/gitlab/artifacts/migrate.rake @@ -7,7 +7,7 @@ desc 'GitLab | Artifacts | Migrate files for artifacts to comply with new storag namespace :gitlab do namespace :artifacts do task migrate: :environment do - logger = Logger.new(STDOUT) + logger = Logger.new($stdout) helper = Gitlab::LocalAndRemoteStorageMigration::ArtifactMigrater.new(logger) @@ -19,7 +19,7 @@ namespace :gitlab do end task migrate_to_local: :environment do - logger = Logger.new(STDOUT) + logger = Logger.new($stdout) helper = Gitlab::LocalAndRemoteStorageMigration::ArtifactMigrater.new(logger) diff --git a/lib/tasks/gitlab/cleanup.rake b/lib/tasks/gitlab/cleanup.rake index 733cf6c3a9779ffe31fe720746f1babfefc401bd..0cd4ab354c908136f69d66d0e9e9b8058d9c6f08 100644 --- a/lib/tasks/gitlab/cleanup.rake +++ b/lib/tasks/gitlab/cleanup.rake @@ -178,7 +178,7 @@ namespace :gitlab do return @logger if defined?(@logger) @logger = if Rails.env.development? || Rails.env.production? - Logger.new(STDOUT).tap do |stdout_logger| + Logger.new($stdout).tap do |stdout_logger| stdout_logger.extend(ActiveSupport::Logger.broadcast(Rails.logger)) stdout_logger.level = debug? ? Logger::DEBUG : Logger::INFO end diff --git a/lib/tasks/gitlab/db.rake b/lib/tasks/gitlab/db.rake index 6145e0f3540b7febda98ce0e7a49d97423798a63..ee986f4c50306bf53ceca8c5993e7e18dbd95c00 100644 --- a/lib/tasks/gitlab/db.rake +++ b/lib/tasks/gitlab/db.rake @@ -209,7 +209,7 @@ namespace :gitlab do raise "Index not found or not supported: #{args[:index_name]}" if indexes.empty? end - ActiveRecord::Base.logger = Logger.new(STDOUT) if Gitlab::Utils.to_boolean(ENV['LOG_QUERIES_TO_CONSOLE'], default: false) + ActiveRecord::Base.logger = Logger.new($stdout) if Gitlab::Utils.to_boolean(ENV['LOG_QUERIES_TO_CONSOLE'], default: false) Gitlab::Database::Reindexing.perform(indexes) rescue StandardError => e diff --git a/lib/tasks/gitlab/docs/redirect.rake b/lib/tasks/gitlab/docs/redirect.rake index 71e0b6ab2c52a38b0f533a1e2e52b6dd2532e6a2..990ff723eeb22ea2225820e6879c7b5eba2fc3fa 100644 --- a/lib/tasks/gitlab/docs/redirect.rake +++ b/lib/tasks/gitlab/docs/redirect.rake @@ -14,14 +14,14 @@ namespace :gitlab do old_path = args.old_path else puts '=> Enter the path of the OLD file:' - old_path = STDIN.gets.chomp + old_path = $stdin.gets.chomp end if args.new_path new_path = args.new_path else puts '=> Enter the path of the NEW file:' - new_path = STDIN.gets.chomp + new_path = $stdin.gets.chomp end # diff --git a/lib/tasks/gitlab/doctor/secrets.rake b/lib/tasks/gitlab/doctor/secrets.rake index 6e3f474312cf94269ad01947d274c8d889733613..29f0f36c705d06d22283d95963a893c7d6ab3f0d 100644 --- a/lib/tasks/gitlab/doctor/secrets.rake +++ b/lib/tasks/gitlab/doctor/secrets.rake @@ -4,7 +4,7 @@ namespace :gitlab do namespace :doctor do desc "GitLab | Check if the database encrypted values can be decrypted using current secrets" task secrets: :gitlab_environment do - logger = Logger.new(STDOUT) + logger = Logger.new($stdout) logger.level = Gitlab::Utils.to_boolean(ENV['VERBOSE']) ? Logger::DEBUG : Logger::INFO diff --git a/lib/tasks/gitlab/ldap.rake b/lib/tasks/gitlab/ldap.rake index 3b2834c0008063eee3b45f508d0d0ae013ac713d..4da22e686ef229931d3b85402e3a2386dcd3957b 100644 --- a/lib/tasks/gitlab/ldap.rake +++ b/lib/tasks/gitlab/ldap.rake @@ -42,7 +42,7 @@ namespace :gitlab do namespace :secret do desc 'GitLab | LDAP | Secret | Write LDAP secrets' task write: [:environment] do - content = STDIN.tty? ? STDIN.gets : STDIN.read + content = $stdin.tty? ? $stdin.gets : $stdin.read Gitlab::EncryptedLdapCommand.write(content) end diff --git a/lib/tasks/gitlab/lfs/migrate.rake b/lib/tasks/gitlab/lfs/migrate.rake index a173de7c5c7094306ed27095b2f8bdc3e8598554..47f9e1dfb321253f7092eaeac22250b01f7b1fe0 100644 --- a/lib/tasks/gitlab/lfs/migrate.rake +++ b/lib/tasks/gitlab/lfs/migrate.rake @@ -6,7 +6,7 @@ desc "GitLab | LFS | Migrate LFS objects to remote storage" namespace :gitlab do namespace :lfs do task migrate: :environment do - logger = Logger.new(STDOUT) + logger = Logger.new($stdout) logger.info('Starting transfer of LFS files to object storage') LfsObject.with_files_stored_locally @@ -20,7 +20,7 @@ namespace :gitlab do end task migrate_to_local: :environment do - logger = Logger.new(STDOUT) + logger = Logger.new($stdout) logger.info('Starting transfer of LFS files to local storage') LfsObject.with_files_stored_remotely diff --git a/lib/tasks/gitlab/packages/composer.rake b/lib/tasks/gitlab/packages/composer.rake index c9bccfe93847515e408e080beb5eb24091bf2ee9..97f1da0ff636c440a00367254a39d7e452238bf5 100644 --- a/lib/tasks/gitlab/packages/composer.rake +++ b/lib/tasks/gitlab/packages/composer.rake @@ -6,7 +6,7 @@ desc "GitLab | Packages | Build composer cache" namespace :gitlab do namespace :packages do task build_composer_cache: :environment do - logger = Logger.new(STDOUT) + logger = Logger.new($stdout) logger.info('Starting to build composer cache files') ::Packages::Package.composer.find_in_batches do |packages| diff --git a/lib/tasks/gitlab/packages/events.rake b/lib/tasks/gitlab/packages/events.rake index d24535d85b623f6f63534ee9d413de53c14caea3..a5b801ff62dc6766b4a25bdb0617c4bc334d3d0a 100644 --- a/lib/tasks/gitlab/packages/events.rake +++ b/lib/tasks/gitlab/packages/events.rake @@ -14,7 +14,7 @@ namespace :gitlab do end task generate_counts: :environment do - logger = Logger.new(STDOUT) + logger = Logger.new($stdout) logger.info('Building list of package events...') path = Gitlab::UsageDataCounters::PackageEventCounter::KNOWN_EVENTS_PATH @@ -26,7 +26,7 @@ namespace :gitlab do end task generate_unique: :environment do - logger = Logger.new(STDOUT) + logger = Logger.new($stdout) logger.info('Building list of package events...') path = File.join(File.dirname(Gitlab::UsageDataCounters::HLLRedisCounter::KNOWN_EVENTS_PATH), 'package_events.yml') diff --git a/lib/tasks/gitlab/packages/migrate.rake b/lib/tasks/gitlab/packages/migrate.rake index febc3e7fa2deb91b62d09d2d8dedf82edff2eaf6..1c28f4308a2920d9300ad5446d0227a44518ea84 100644 --- a/lib/tasks/gitlab/packages/migrate.rake +++ b/lib/tasks/gitlab/packages/migrate.rake @@ -6,7 +6,7 @@ desc "GitLab | Packages | Migrate packages files to remote storage" namespace :gitlab do namespace :packages do task migrate: :environment do - logger = Logger.new(STDOUT) + logger = Logger.new($stdout) logger.info('Starting transfer of package files to object storage') unless ::Packages::PackageFileUploader.object_store_enabled? diff --git a/lib/tasks/gitlab/pages.rake b/lib/tasks/gitlab/pages.rake index 684d62d13679336f00984ca67c9cb8fb9d4571a1..c3828e7eba48ef31575b0fa38b160cef08252c85 100644 --- a/lib/tasks/gitlab/pages.rake +++ b/lib/tasks/gitlab/pages.rake @@ -35,7 +35,7 @@ namespace :gitlab do end def logger - @logger ||= Logger.new(STDOUT) + @logger ||= Logger.new($stdout) end def migration_threads @@ -60,7 +60,7 @@ namespace :gitlab do namespace :deployments do task migrate_to_object_storage: :gitlab_environment do - logger = Logger.new(STDOUT) + logger = Logger.new($stdout) helper = Gitlab::LocalAndRemoteStorageMigration::PagesDeploymentMigrater.new(logger) @@ -72,7 +72,7 @@ namespace :gitlab do end task migrate_to_local: :gitlab_environment do - logger = Logger.new(STDOUT) + logger = Logger.new($stdout) helper = Gitlab::LocalAndRemoteStorageMigration::PagesDeploymentMigrater.new(logger) diff --git a/lib/tasks/gitlab/terraform/migrate.rake b/lib/tasks/gitlab/terraform/migrate.rake index 2bf9ec9537aa5e3f0df4ce46b83d868cabc2c829..99e33011cf5a4cc4cd585131fc804623c0e98a30 100644 --- a/lib/tasks/gitlab/terraform/migrate.rake +++ b/lib/tasks/gitlab/terraform/migrate.rake @@ -6,7 +6,7 @@ desc "GitLab | Terraform | Migrate Terraform states to remote storage" namespace :gitlab do namespace :terraform_states do task migrate: :environment do - logger = Logger.new(STDOUT) + logger = Logger.new($stdout) logger.info('Starting transfer of Terraform states to object storage') begin diff --git a/lib/tasks/gitlab/uploads/migrate.rake b/lib/tasks/gitlab/uploads/migrate.rake index 6052ff90341b107a10b8fc7431b36278d921d105..80290f95e8e38d2cf5cbb47831f5010e1563e9b2 100644 --- a/lib/tasks/gitlab/uploads/migrate.rake +++ b/lib/tasks/gitlab/uploads/migrate.rake @@ -16,7 +16,7 @@ namespace :gitlab do # category to object storage desc 'GitLab | Uploads | Migrate the uploaded files of specified type to object storage' task :migrate, [:uploader_class, :model_class, :mounted_as] => :environment do |_t, args| - Gitlab::Uploads::MigrationHelper.new(args, Logger.new(STDOUT)).migrate_to_remote_storage + Gitlab::Uploads::MigrationHelper.new(args, Logger.new($stdout)).migrate_to_remote_storage end namespace :migrate_to_local do @@ -31,7 +31,7 @@ namespace :gitlab do desc 'GitLab | Uploads | Migrate the uploaded files of specified type to local storage' task :migrate_to_local, [:uploader_class, :model_class, :mounted_as] => :environment do |_t, args| - Gitlab::Uploads::MigrationHelper.new(args, Logger.new(STDOUT)).migrate_to_local_storage + Gitlab::Uploads::MigrationHelper.new(args, Logger.new($stdout)).migrate_to_local_storage end end end diff --git a/lib/tasks/gitlab/uploads/sanitize.rake b/lib/tasks/gitlab/uploads/sanitize.rake index eec423cbb8b513331603e6277ea4986a002feea0..40f6a7bb67d0801bb9a69b05662f93dec850aefa 100644 --- a/lib/tasks/gitlab/uploads/sanitize.rake +++ b/lib/tasks/gitlab/uploads/sanitize.rake @@ -8,7 +8,7 @@ namespace :gitlab do args.with_defaults(dry_run: 'true') args.with_defaults(sleep_time: 0.3) - logger = Logger.new(STDOUT) + logger = Logger.new($stdout) sanitizer = Gitlab::Sanitizers::Exif.new(logger: logger) sanitizer.batch_clean(start_id: args.start_id, stop_id: args.stop_id, diff --git a/lib/tasks/gitlab/x509/update.rake b/lib/tasks/gitlab/x509/update.rake index de878a3d093c1229b12e0d8fd5b3587a876ce90f..d3c63fa8514623770c7c4cc0d9e2cb71fe74f6a3 100644 --- a/lib/tasks/gitlab/x509/update.rake +++ b/lib/tasks/gitlab/x509/update.rake @@ -10,7 +10,7 @@ namespace :gitlab do end def update_certificates - logger = Logger.new(STDOUT) + logger = Logger.new($stdout) unless X509CommitSignature.exists? logger.info("Unable to find any x509 commit signatures. Exiting.") diff --git a/lib/tasks/import.rake b/lib/tasks/import.rake index 633beb132d860f0214bd7ddc4e9356315834c9f6..b7a5cbe44b9156929da439e1f643e3f92addd2ea 100644 --- a/lib/tasks/import.rake +++ b/lib/tasks/import.rake @@ -38,7 +38,7 @@ class GithubImport puts "This will import GitHub #{@repo.full_name.bright} into GitLab #{@project_path.bright} as #{@current_user.name}" puts "Permission checks are ignored. Press any key to continue.".color(:red) - STDIN.getch + $stdin.getch puts 'Starting the import (this could take a while)'.color(:green) end @@ -131,7 +131,7 @@ class GithubRepos end def repo_id - @repo_id ||= STDIN.gets.chomp.to_i + @repo_id ||= $stdin.gets.chomp.to_i end def repos diff --git a/lib/tasks/tokens.rake b/lib/tasks/tokens.rake index 74baa11c314eefa1393c2cfda4c18563b66800db..ff14ab51b4922ead147aaecedc23714db95b32cc 100644 --- a/lib/tasks/tokens.rake +++ b/lib/tasks/tokens.rake @@ -19,7 +19,7 @@ namespace :tokens do def reset_all_users_token(reset_token_method) TmpUser.find_in_batches do |batch| puts "Processing batch starting with user ID: #{batch.first.id}" - STDOUT.flush + $stdout.flush batch.each(&reset_token_method) end diff --git a/qa/qa/tools/delete_projects.rb b/qa/qa/tools/delete_projects.rb index bb73033e9d7a58cd5c317af2d1df714b2c228220..8a690373a376c8f9f6159580eaf7e3e646c958cc 100644 --- a/qa/qa/tools/delete_projects.rb +++ b/qa/qa/tools/delete_projects.rb @@ -20,7 +20,7 @@ def initialize end def run - STDOUT.puts 'Running...' + $stdout.puts 'Running...' # Fetch group's id group_id = fetch_group_id @@ -30,16 +30,16 @@ def run # Do not delete projects that are less than 4 days old (for debugging purposes) project_ids = fetch_project_ids(group_id, total_project_pages) - STDOUT.puts "Number of projects to be deleted: #{project_ids.length}" + $stdout.puts "Number of projects to be deleted: #{project_ids.length}" delete_projects(project_ids) unless project_ids.empty? - STDOUT.puts "\nDone" + $stdout.puts "\nDone" end private def delete_projects(project_ids) - STDOUT.puts "Deleting #{project_ids.length} projects..." + $stdout.puts "Deleting #{project_ids.length} projects..." project_ids.each do |project_id| delete_response = delete Runtime::API::Request.new(@api_client, "/projects/#{project_id}").url dot_or_f = delete_response.code.between?(200, 300) ? "\e[32m.\e[0m" : "\e[31mF\e[0m" diff --git a/qa/qa/tools/delete_subgroups.rb b/qa/qa/tools/delete_subgroups.rb index 903f730a03050a468d72e91cdb17639b2f0ea145..b9e3ed6601321945053a4e2c977ecd009f6473c5 100644 --- a/qa/qa/tools/delete_subgroups.rb +++ b/qa/qa/tools/delete_subgroups.rb @@ -20,7 +20,7 @@ def initialize end def run - STDOUT.puts 'Running...' + $stdout.puts 'Running...' # Fetch group's id group_id = fetch_group_id @@ -29,16 +29,16 @@ def run total_sub_group_pages = sub_groups_head_response.headers[:x_total_pages] sub_group_ids = fetch_subgroup_ids(group_id, total_sub_group_pages) - STDOUT.puts "Number of Sub Groups not already marked for deletion: #{sub_group_ids.length}" + $stdout.puts "Number of Sub Groups not already marked for deletion: #{sub_group_ids.length}" delete_subgroups(sub_group_ids) unless sub_group_ids.empty? - STDOUT.puts "\nDone" + $stdout.puts "\nDone" end private def delete_subgroups(sub_group_ids) - STDOUT.puts "Deleting #{sub_group_ids.length} subgroups..." + $stdout.puts "Deleting #{sub_group_ids.length} subgroups..." sub_group_ids.each do |subgroup_id| delete_response = delete Runtime::API::Request.new(@api_client, "/groups/#{subgroup_id}").url dot_or_f = delete_response.code == 202 ? "\e[32m.\e[0m" : "\e[31mF\e[0m" diff --git a/qa/qa/tools/delete_test_ssh_keys.rb b/qa/qa/tools/delete_test_ssh_keys.rb index 953e9fc63d1db8f890bc676b025d543f9e36ea12..dea6930de1ea5cb380c9b861ff0960f3004e0ae4 100644 --- a/qa/qa/tools/delete_test_ssh_keys.rb +++ b/qa/qa/tools/delete_test_ssh_keys.rb @@ -30,18 +30,18 @@ def initialize(title_portion: 'E2E test key:', delete_before: Date.today.to_s, d end def run - STDOUT.puts 'Running...' + $stdout.puts 'Running...' keys_head_response = head Runtime::API::Request.new(@api_client, "/user/keys", per_page: ITEMS_PER_PAGE).url total_pages = keys_head_response.headers[:x_total_pages] test_ssh_key_ids = fetch_test_ssh_key_ids(total_pages) - STDOUT.puts "Number of test ssh keys to be deleted: #{test_ssh_key_ids.length}" + $stdout.puts "Number of test ssh keys to be deleted: #{test_ssh_key_ids.length}" return if dry_run? delete_ssh_keys(test_ssh_key_ids) unless test_ssh_key_ids.empty? - STDOUT.puts "\nDone" + $stdout.puts "\nDone" end private @@ -50,7 +50,7 @@ def run alias_method :dry_run?, :dry_run def delete_ssh_keys(ssh_key_ids) - STDOUT.puts "Deleting #{ssh_key_ids.length} ssh keys..." + $stdout.puts "Deleting #{ssh_key_ids.length} ssh keys..." ssh_key_ids.each do |key_id| delete_response = delete Runtime::API::Request.new(@api_client, "/user/keys/#{key_id}").url dot_or_f = delete_response.code == 204 ? "\e[32m.\e[0m" : "\e[31mF\e[0m" diff --git a/qa/qa/tools/generate_perf_testdata.rb b/qa/qa/tools/generate_perf_testdata.rb index 546f7e7cdca1b80ba9261de81f9e477ea82197f4..ec1aa20c3b8c8eb1dfc7819d9c7c71f83d990df8 100644 --- a/qa/qa/tools/generate_perf_testdata.rb +++ b/qa/qa/tools/generate_perf_testdata.rb @@ -26,7 +26,7 @@ def initialize end def all - STDOUT.puts 'Running...' + $stdout.puts 'Running...' group_id = create_group create_project(group_id) @@ -50,23 +50,23 @@ def all end threads_arr.each(&:join) - STDOUT.puts "\nURLs: #{@urls}" + $stdout.puts "\nURLs: #{@urls}" File.open("urls.yml", "w") { |file| file.puts @urls.stringify_keys.to_yaml } - STDOUT.puts "\nDone" + $stdout.puts "\nDone" end def create_group group_search_response = create_a_group_api_req(@group_name, @visibility) group = JSON.parse(group_search_response.body) @urls[:group_page] = group["web_url"] - STDOUT.puts "Created a group: #{@urls[:group_page]}" + $stdout.puts "Created a group: #{@urls[:group_page]}" group["id"] end def create_project(group_id) create_project_response = create_a_project_api_req(@project_name, group_id, @visibility) @urls[:project_page] = JSON.parse(create_project_response.body)["web_url"] - STDOUT.puts "Created a project: #{@urls[:project_page]}" + $stdout.puts "Created a project: #{@urls[:project_page]}" end def create_many_issues @@ -74,7 +74,7 @@ def create_many_issues create_an_issue_api_req("#{@group_name}%2F#{@project_name}", "issue#{i}", "desc#{i}") end @urls[:issues_list_page] = @urls[:project_page] + "/issues" - STDOUT.puts "Created many issues: #{@urls[:issues_list_page]}" + $stdout.puts "Created many issues: #{@urls[:issues_list_page]}" end def create_many_todos @@ -82,7 +82,7 @@ def create_many_todos create_a_todo_api_req("#{@group_name}%2F#{@project_name}", "#{i + 1}") end @urls[:todos_page] = ENV['GITLAB_ADDRESS'] + "/dashboard/todos" - STDOUT.puts "Created many todos: #{@urls[:todos_page]}" + $stdout.puts "Created many todos: #{@urls[:todos_page]}" end def create_many_labels @@ -90,7 +90,7 @@ def create_many_labels create_a_label_api_req("#{@group_name}%2F#{@project_name}", "label#{i}", "#{Faker::Color.hex_color}") end @urls[:labels_page] = @urls[:project_page] + "/labels" - STDOUT.puts "Created many labels: #{@urls[:labels_page]}" + $stdout.puts "Created many labels: #{@urls[:labels_page]}" end def create_many_merge_requests @@ -98,7 +98,7 @@ def create_many_merge_requests create_a_merge_request_api_req("#{@group_name}%2F#{@project_name}", "branch#{i}", Runtime::Env.default_branch, "MR#{i}") end @urls[:mr_list_page] = @urls[:project_page] + "/merge_requests" - STDOUT.puts "Created many MRs: #{@urls[:mr_list_page]}" + $stdout.puts "Created many MRs: #{@urls[:mr_list_page]}" end def create_many_new_files @@ -109,7 +109,7 @@ def create_many_new_files end @urls[:files_page] = @urls[:project_page] + "/tree/#{Runtime::Env.default_branch}" - STDOUT.puts "Added many new files: #{@urls[:files_page]}" + $stdout.puts "Added many new files: #{@urls[:files_page]}" end def create_many_branches @@ -117,7 +117,7 @@ def create_many_branches create_a_branch_api_req("branch#{i}", "#{@group_name}%2F#{@project_name}") end @urls[:branches_page] = @urls[:project_page] + "/-/branches" - STDOUT.puts "Created many branches: #{@urls[:branches_page]}" + $stdout.puts "Created many branches: #{@urls[:branches_page]}" end def create_an_issue_with_many_discussions @@ -130,7 +130,7 @@ def create_an_issue_with_many_discussions # Add description and labels update_an_issue_api_req("#{@group_name}%2F#{@project_name}", issue_id, "#{Faker::Lorem.sentences(500).join(" ")}", labels_list) @urls[:large_issue] = @urls[:project_page] + "/issues/#{issue_id}" - STDOUT.puts "Created an issue with many discussions: #{@urls[:large_issue]}" + $stdout.puts "Created an issue with many discussions: #{@urls[:large_issue]}" end def create_an_mr_with_large_files_and_many_mr_discussions @@ -178,7 +178,7 @@ def create_an_mr_with_large_files_and_many_mr_discussions create_a_discussion_on_mr_api_req("#{@group_name}%2F#{@project_name}", iid, "Let us discuss") end @urls[:large_mr] = JSON.parse(create_mr_response.body)["web_url"] - STDOUT.puts "Created an MR with many discussions and many very large Files: #{@urls[:large_mr]}" + $stdout.puts "Created an MR with many discussions and many very large Files: #{@urls[:large_mr]}" end def create_diff_note(iid, file_count, line_count, head_sha, start_sha, base_sha, line_type) @@ -205,7 +205,7 @@ def create_mr_with_many_commits 100.times do |i| update_file_api_req(file_name, branch_name, project_path, Faker::Lorem.sentences(5).join(" "), Faker::Lorem.sentences(500).join("\n")) end - STDOUT.puts "Using branch: #{branch_name}, created an MR with many commits: #{@urls[:mr_with_many_commits]}" + $stdout.puts "Using branch: #{branch_name}, created an MR with many commits: #{@urls[:mr_with_many_commits]}" end private diff --git a/qa/qa/tools/revoke_all_personal_access_tokens.rb b/qa/qa/tools/revoke_all_personal_access_tokens.rb index 63a7b0d2d8e51d5f63062a41df8e2a952b03b3c5..c0a1697fa165d6217589b0a28c3cbe0983b7ab20 100644 --- a/qa/qa/tools/revoke_all_personal_access_tokens.rb +++ b/qa/qa/tools/revoke_all_personal_access_tokens.rb @@ -12,7 +12,7 @@ class RevokeAllPersonalAccessTokens def run do_run rescue Net::ReadTimeout - STDOUT.puts 'Net::ReadTimeout during run. Trying again' + $stdout.puts 'Net::ReadTimeout during run. Trying again' run end @@ -23,7 +23,7 @@ def do_run raise ArgumentError, "Please provide GITLAB_PASSWORD" unless ENV['GITLAB_PASSWORD'] raise ArgumentError, "Please provide GITLAB_ADDRESS" unless ENV['GITLAB_ADDRESS'] - STDOUT.puts 'Running...' + $stdout.puts 'Running...' Runtime::Browser.visit(ENV['GITLAB_ADDRESS'], Page::Main::Login) Page::Main::Login.perform(&:sign_in_using_credentials) diff --git a/scripts/trigger-build b/scripts/trigger-build index 5758db88b7c38ad4a3224f07e39830963915180a..23c9ebbe294b6302d9c9e5482785e6ada3ef4de9 100755 --- a/scripts/trigger-build +++ b/scripts/trigger-build @@ -419,7 +419,7 @@ module Trigger raise "#{self.class.unscoped_class_name} did not succeed!" end - STDOUT.flush + $stdout.flush end raise "#{self.class.unscoped_class_name} timed out after waiting for #{duration} minutes!" diff --git a/spec/lib/gitlab/file_hook_spec.rb b/spec/lib/gitlab/file_hook_spec.rb index 7f40d9ae7720c884056a02e1a3a2399c393ce0f4..4fc55f7ad7e6e3b02e4236c322d516eddc78c97d 100644 --- a/spec/lib/gitlab/file_hook_spec.rb +++ b/spec/lib/gitlab/file_hook_spec.rb @@ -9,7 +9,7 @@ let(:file_hook_source) do <<~EOS #!/usr/bin/env ruby - x = STDIN.read + x = $stdin.read File.write('#{tmp_file.path}', x) EOS end diff --git a/spec/lib/gitlab/profiler_spec.rb b/spec/lib/gitlab/profiler_spec.rb index 48e2a2e97943507e2fbf5bebcb70c6bc96681d4a..5187c96b511cbca77ac85a8ab70214d625266ce1 100644 --- a/spec/lib/gitlab/profiler_spec.rb +++ b/spec/lib/gitlab/profiler_spec.rb @@ -206,8 +206,12 @@ end end - before do - stub_const('STDOUT', stdout) + around do |example| + original_stdout = $stdout + + $stdout = stdout # rubocop: disable RSpec/ExpectOutput + example.run + $stdout = original_stdout # rubocop: disable RSpec/ExpectOutput end it 'prints a profile result sorted by total time' do diff --git a/spec/lib/gitlab/utils/measuring_spec.rb b/spec/lib/gitlab/utils/measuring_spec.rb index 4931ebf26f04ef2776e8a8cf38ed6306612c9f67..5dad79b1c5fea280d4097086e00b9b252c748764 100644 --- a/spec/lib/gitlab/utils/measuring_spec.rb +++ b/spec/lib/gitlab/utils/measuring_spec.rb @@ -8,7 +8,7 @@ let(:result) { "result" } before do - allow(ActiveSupport::Logger).to receive(:logger_outputs_to?).with(Gitlab::Utils::Measuring.logger, STDOUT).and_return(false) + allow(ActiveSupport::Logger).to receive(:logger_outputs_to?).with(Gitlab::Utils::Measuring.logger, $stdout).and_return(false) end let(:measurement) { described_class.new(base_log_data) } diff --git a/spec/support/helpers/gitaly_setup.rb b/spec/support/helpers/gitaly_setup.rb index 2ce4bcfa9431402ad3d55ecf09723b9f0bc4c632..5cfd03ecea8e11c2b7736add5043ffeeba867a6a 100644 --- a/spec/support/helpers/gitaly_setup.rb +++ b/spec/support/helpers/gitaly_setup.rb @@ -15,7 +15,7 @@ module GitalySetup default_name = ENV['CI'] ? 'DEBUG' : 'WARN' level_name = ENV['GITLAB_TESTING_LOG_LEVEL']&.upcase level = Logger.const_get(level_name || default_name, true) # rubocop: disable Gitlab/ConstGetInheritFalse - Logger.new(STDOUT, level: level, formatter: ->(_, _, _, msg) { msg }) + Logger.new($stdout, level: level, formatter: ->(_, _, _, msg) { msg }) end def tmp_tests_gitaly_dir @@ -153,7 +153,7 @@ def check_gitaly_config! end LOGGER.debug "Checking gitaly-ruby bundle...\n" - out = ENV['CI'] ? STDOUT : '/dev/null' + out = ENV['CI'] ? $stdout : '/dev/null' abort 'bundle check failed' unless system(env, 'bundle', 'check', out: out, chdir: File.dirname(gemfile)) end diff --git a/spec/tasks/gitlab/ldap_rake_spec.rb b/spec/tasks/gitlab/ldap_rake_spec.rb index 5286cd98944f03bb690ba975d5ea061bf9869356..bc623119639a43487da0b2841a4a0bb935fec9b3 100644 --- a/spec/tasks/gitlab/ldap_rake_spec.rb +++ b/spec/tasks/gitlab/ldap_rake_spec.rb @@ -93,8 +93,8 @@ describe 'write' do before do - allow(STDIN).to receive(:tty?).and_return(false) - allow(STDIN).to receive(:read).and_return('testvalue') + allow($stdin).to receive(:tty?).and_return(false) + allow($stdin).to receive(:read).and_return('testvalue') end it 'creates encrypted file from stdin' do diff --git a/spec/tasks/gitlab/terraform/migrate_rake_spec.rb b/spec/tasks/gitlab/terraform/migrate_rake_spec.rb index 4188521df8e3e9080addd9db89e644ee794567f2..e4447a3e4a3940627100fc7912ce048739d36e93 100644 --- a/spec/tasks/gitlab/terraform/migrate_rake_spec.rb +++ b/spec/tasks/gitlab/terraform/migrate_rake_spec.rb @@ -13,7 +13,7 @@ end before do - allow(Logger).to receive(:new).with(STDOUT).and_return(logger) + allow(Logger).to receive(:new).with($stdout).and_return(logger) end describe 'gitlab:terraform_states:migrate' do