From 4cee61dd9e6ffddb7f696d6dbfd2dec7acd63de8 Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Thu, 26 Nov 2020 02:41:51 -0500 Subject: [PATCH] RUBY-2445 add interactive flag to omit per-test timeouts --- .evergreen/Dockerfile.erb | 4 ++++ .evergreen/test-on-docker | 8 ++++++++ spec/lite_spec_helper.rb | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.evergreen/Dockerfile.erb b/.evergreen/Dockerfile.erb index 71f47cdb2e..adedc0fa23 100644 --- a/.evergreen/Dockerfile.erb +++ b/.evergreen/Dockerfile.erb @@ -198,6 +198,10 @@ ENV MONGO_ORCHESTRATION_HOME=/tmpfs \ PROJECT_DIRECTORY=/app \ <%= @env.map { |k, v| %Q`#{k}="#{v.gsub('$', "\\$").gsub('"', "\\\"")}"` }.join(" \\\n ") %> +<% if interactive? %> + ENV INTERACTIVE=1 +<% end %> + COPY . . <% if expose? %> diff --git a/.evergreen/test-on-docker b/.evergreen/test-on-docker index deab959d6f..0b4c38b8ea 100755 --- a/.evergreen/test-on-docker +++ b/.evergreen/test-on-docker @@ -56,6 +56,10 @@ class Runner opts.on('-s', '--script=SCRIPT', 'Test script to invoke') do |v| @options[:script] = v end + + opts.on('-i', '--interactive', 'Interactive mode - disable per-test timeouts') do |v| + @options[:interactive] = v + end end.parse! @env = Hash[ARGV.map do |arg| @@ -185,6 +189,10 @@ class Runner !!@options[:preload] end + def interactive? + !!@options[:interactive] + end + def server_download_url @server_download_url ||= ServerVersionRegistry.new(server_version, distro).download_url end diff --git a/spec/lite_spec_helper.rb b/spec/lite_spec_helper.rb index caee06c67e..002a871b23 100644 --- a/spec/lite_spec_helper.rb +++ b/spec/lite_spec_helper.rb @@ -108,7 +108,7 @@ end end - if SpecConfig.instance.ci? + if SpecConfig.instance.ci? && !%w(1 true yes).include?(ENV['INTERACTIVE']&.downcase) # Allow a max of 30 seconds per test. # Tests should take under 10 seconds ideally but it seems # we have some that run for more than 10 seconds in CI.