X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/72aa70eec7693bfb5d46a4bdac3619b3c6b1f79c..fa166d52969bb6f002fb62b554ef227194e0febe:/apps/workbench/test/test_helper.rb diff --git a/apps/workbench/test/test_helper.rb b/apps/workbench/test/test_helper.rb index e8f787b246..7c454c9877 100644 --- a/apps/workbench/test/test_helper.rb +++ b/apps/workbench/test/test_helper.rb @@ -1,4 +1,4 @@ -ENV["RAILS_ENV"] = "test" if (ENV["RAILS_ENV"] != "diagnostics") +ENV["RAILS_ENV"] = "test" if (ENV["RAILS_ENV"] != "diagnostics" and ENV["RAILS_ENV"] != "performance") unless ENV["NO_COVERAGE_TEST"] begin @@ -160,8 +160,10 @@ class ApiServerForTests '--pid-file', @pidfile) else make_ssl_cert - _system('bundle', 'exec', 'rake', 'db:test:load') - _system('bundle', 'exec', 'rake', 'db:fixtures:load') + if ENV['ARVADOS_TEST_API_INSTALLED'].blank? + _system('bundle', 'exec', 'rake', 'db:test:load') + _system('bundle', 'exec', 'rake', 'db:fixtures:load') + end _system('bundle', 'exec', 'passenger', 'start', '-d', '-p3000', '--pid-file', @pidfile, '--ssl', @@ -267,6 +269,10 @@ class ActiveSupport::TestCase protected def self.reset_api_fixtures_now + # Never try to reset fixtures when we're just using test + # infrastructure to run performance/diagnostics suites. + return unless Rails.env == 'test' + auth = api_fixture('api_client_authorizations')['admin_trustedclient'] Thread.current[:arvados_api_token] = auth['api_token'] ArvadosApiClient.new.api(nil, '../../database/reset', {}) @@ -289,7 +295,24 @@ class RequestDuck end end +# Example: +# +# apps/workbench$ RAILS_ENV=test bundle exec irb -Ilib:test +# > load 'test/test_helper.rb' +# > singletest 'integration/collection_upload_test.rb', 'Upload two empty files' +# +def singletest test_class_file, test_name + load File.join('test', test_class_file) + Minitest.run ['-v', '-n', "test_#{test_name.gsub ' ', '_'}"] + Object.send(:remove_const, + test_class_file.gsub(/.*\/|\.rb$/, '').camelize.to_sym) + ::Minitest::Runnable.runnables.reject! { true } +end + if ENV["RAILS_ENV"].eql? 'test' ApiServerForTests.new.run ApiServerForTests.new.run ["--websockets"] end + +# Reset fixtures now (i.e., before any tests run). +ActiveSupport::TestCase.reset_api_fixtures_now