test_apiserver() {
rm -f "$WORKSPACE/services/api/git-commit.version"
cd "$WORKSPACE/services/api" \
- && RAILS_ENV=test bundle exec rake test TESTOPTS=-v ${testargs[services/api]}
+ && env RAILS_ENV=test ${short:+RAILS_TEST_SHORT=1} bundle exec rake test TESTOPTS=-v ${testargs[services/api]}
}
do_test services/api apiserver
test_workbench() {
start_nginx_proxy_services \
&& cd "$WORKSPACE/apps/workbench" \
- && RAILS_ENV=test bundle exec rake test TESTOPTS=-v ${testargs[apps/workbench]}
+ && env RAILS_ENV=test ${short:+RAILS_TEST_SHORT=1} bundle exec rake test TESTOPTS=-v ${testargs[apps/workbench]}
}
do_test apps/workbench workbench
test_workbench_benchmark() {
start_nginx_proxy_services \
&& cd "$WORKSPACE/apps/workbench" \
- && RAILS_ENV=test bundle exec rake test:benchmark ${testargs[apps/workbench_benchmark]}
+ && env RAILS_ENV=test ${short:+RAILS_TEST_SHORT=1} bundle exec rake test:benchmark ${testargs[apps/workbench_benchmark]}
}
do_test apps/workbench_benchmark workbench_benchmark
test_workbench_profile() {
start_nginx_proxy_services \
&& cd "$WORKSPACE/apps/workbench" \
- && RAILS_ENV=test bundle exec rake test:profile ${testargs[apps/workbench_profile]}
+ && env RAILS_ENV=test ${short:+RAILS_TEST_SHORT=1} bundle exec rake test:profile ${testargs[apps/workbench_profile]}
}
do_test apps/workbench_profile workbench_profile
include ManifestExamples
test "crud cycle for a collection with a big manifest" do
+ slow_test
bigmanifest = time_block 'make example' do
make_manifest(streams: 100,
files_per_stream: 100,
end
test "memory usage" do
- hugemanifest = make_manifest(streams: 1,
- files_per_stream: 2000,
- blocks_per_file: 200,
- bytes_per_block: 2**26,
- api_token: api_token(:active))
+ slow_test
+ hugemanifest = make_manifest(streams: 1,
+ files_per_stream: 2000,
+ blocks_per_file: 200,
+ bytes_per_block: 2**26,
+ api_token: api_token(:active))
json = time_block "JSON encode #{hugemanifest.length>>20}MiB manifest" do
Oj.dump({manifest_text: hugemanifest})
end
- vmpeak "post" do
- post '/arvados/v1/collections', {collection: json}, auth(:active)
- end
+ vmpeak "post" do
+ post '/arvados/v1/collections', {collection: json}, auth(:active)
+ end
end
end
self.use_transactional_fixtures = false
test "reset fails when Rails.env != 'test'" do
+ slow_test
rails_env_was = Rails.env
begin
Rails.env = 'production'
end
test "database reset doesn't break basic CRUD operations" do
+ slow_test
active_auth = auth(:active)
admin_auth = auth(:admin)
end
test "roll back database change" do
+ slow_test
active_auth = auth(:active)
admin_auth = auth(:admin)
end
test "connect, subscribe, get event, unsubscribe" do
+ slow_test
state = 1
spec = nil
spec_ev_uuid = nil
end
test "connect, subscribe, get event, unsubscribe with filter" do
+ slow_test
state = 1
spec = nil
spec_ev_uuid = nil
test "connect, subscribe, get event, try to unsubscribe with bogus filter" do
+ slow_test
state = 1
spec = nil
spec_ev_uuid = nil
test "connected, not subscribed, no event" do
+ slow_test
authorize_with :admin
ws_helper :admin, false do |ws|
end
test "connected, not authorized to see event" do
+ slow_test
state = 1
authorize_with :admin
end
test "connect, subscribe, lots of events" do
+ slow_test
state = 1
event_count = 0
log_start = Log.order(:id).last.id
ArvadosApiToken.new.call("rack.input" => "",
"HTTP_AUTHORIZATION" => "OAuth2 #{t}")
end
+
+ def slow_test
+ skip "RAILS_TEST_SHORT is set" unless (ENV['RAILS_TEST_SHORT'] || '').empty?
+ end
end
class ActionController::TestCase
# "crrud" == "create read render update delete", not a typo
test "crrud cycle for a collection with a big manifest)" do
+ slow_test
bigmanifest = time_block 'make example' do
make_manifest(streams: 100,
files_per_stream: 100,