[ARVADOS] updated: 3a696adafabbdb3c7f0169d046b228dabb94bd6b
git at public.curoverse.com
git at public.curoverse.com
Wed May 14 17:57:42 EDT 2014
Summary of changes:
apps/workbench/Gemfile | 7 ++--
apps/workbench/Gemfile.lock | 80 ++++++++++++++++++++------------------
apps/workbench/test/test_helper.rb | 78 ++++++++++++++++++++++++++-----------
3 files changed, 103 insertions(+), 62 deletions(-)
via 3a696adafabbdb3c7f0169d046b228dabb94bd6b (commit)
via 2401ec62170721e3fa49376e93ede08f132a568f (commit)
from e30d71439ef3f928927977b92366562c38cec473 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 3a696adafabbdb3c7f0169d046b228dabb94bd6b
Author: Tom Clegg <tom at curoverse.com>
Date: Wed May 14 17:56:59 2014 -0400
2809: Rearrange "run API server during tests" to suit Minitest 5.
Also, use passenger instead of webrick.
diff --git a/apps/workbench/Gemfile b/apps/workbench/Gemfile
index e7e60c5..5458025 100644
--- a/apps/workbench/Gemfile
+++ b/apps/workbench/Gemfile
@@ -15,8 +15,8 @@ gem 'sass'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
- gem 'sass-rails', '~> 4.0.0'
- gem 'coffee-rails', '~> 4.0.0'
+ gem 'sass-rails'
+ gem 'coffee-rails'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
gem 'therubyracer', :platforms => :ruby
diff --git a/apps/workbench/Gemfile.lock b/apps/workbench/Gemfile.lock
index 9adb4a3..173be13 100644
--- a/apps/workbench/Gemfile.lock
+++ b/apps/workbench/Gemfile.lock
@@ -195,7 +195,7 @@ DEPENDENCIES
bootstrap-sass (~> 3.1.0)
bootstrap-x-editable-rails
capybara
- coffee-rails (~> 4.0.0)
+ coffee-rails
deep_merge
headless
httpclient
@@ -211,7 +211,7 @@ DEPENDENCIES
rails (~> 4.1.0)
rvm-capistrano
sass
- sass-rails (~> 4.0.0)
+ sass-rails
selenium-webdriver
simplecov (~> 0.7.1)
simplecov-rcov
diff --git a/apps/workbench/test/test_helper.rb b/apps/workbench/test/test_helper.rb
index 05be43c..c1eed5c 100644
--- a/apps/workbench/test/test_helper.rb
+++ b/apps/workbench/test/test_helper.rb
@@ -22,9 +22,6 @@ end
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'
-$ARV_API_SERVER_DIR = File.expand_path('../../../../services/api', __FILE__)
-SERVER_PID_PATH = 'tmp/pids/server.pid'
-
class ActiveSupport::TestCase
# Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in
# alphabetical order.
@@ -54,7 +51,8 @@ module ApiFixtureLoader
# Returns the data structure from the named API server test fixture.
@@api_fixtures[name] ||= \
begin
- path = File.join($ARV_API_SERVER_DIR, 'test', 'fixtures', "#{name}.yml")
+ path = File.join(ApiServerForTests::ARV_API_SERVER_DIR,
+ 'test', 'fixtures', "#{name}.yml")
YAML.load(IO.read(path))
end
end
@@ -73,8 +71,13 @@ class ActiveSupport::TestCase
end
end
-class ApiServerBackedTestRunner < MiniTest::Unit
- def _system(*cmd)
+class ApiServerForTests
+ ARV_API_SERVER_DIR = File.expand_path('../../../../services/api', __FILE__)
+ SERVER_PID_PATH = File.expand_path('tmp/pids/wbtest-server.pid', ARV_API_SERVER_DIR)
+ @main_process_pid = $$
+
+ def self._system(*cmd)
+ $stderr.puts "_system #{cmd.inspect}"
Bundler.with_clean_env do
if not system({'RAILS_ENV' => 'test'}, *cmd)
raise RuntimeError, "#{cmd[0]} returned exit code #{$?.exitstatus}"
@@ -82,35 +85,66 @@ class ApiServerBackedTestRunner < MiniTest::Unit
end
end
- def _run(args=[])
+ def self.make_ssl_cert
+ unless File.exists? './self-signed.key'
+ _system('openssl', 'req', '-new', '-x509', '-nodes',
+ '-out', './self-signed.pem',
+ '-keyout', './self-signed.key',
+ '-days', '3650',
+ '-subj', '/CN=localhost')
+ end
+ end
+
+ def self.kill_server
+ if (pid = find_server_pid)
+ $stderr.puts "Sending TERM to API server, pid #{pid}"
+ Process.kill 'TERM', pid
+ end
+ end
+
+ def self.find_server_pid
+ pid = nil
+ begin
+ pid = IO.read(SERVER_PID_PATH).to_i
+ $stderr.puts "API server is running, pid #{pid.inspect}"
+ rescue Errno::ENOENT
+ end
+ return pid
+ end
+
+ def self.run(args=[])
+ ::MiniTest.after_run do
+ self.kill_server
+ end
+
+ # Kill server left over from previous test run
+ self.kill_server
+
Capybara.javascript_driver = :poltergeist
- server_pid = Dir.chdir($ARV_API_SERVER_DIR) do |apidir|
+ Dir.chdir(ARV_API_SERVER_DIR) do |apidir|
ENV["NO_COVERAGE_TEST"] = "1"
+ make_ssl_cert
_system('bundle', 'exec', 'rake', 'db:test:load')
_system('bundle', 'exec', 'rake', 'db:fixtures:load')
- _system('bundle', 'exec', 'rails', 'server', '-d')
+ _system('bundle', 'exec', 'passenger', 'start', '-d', '-p3001',
+ '--pid-file', SERVER_PID_PATH,
+ '--ssl',
+ '--ssl-certificate', 'self-signed.pem',
+ '--ssl-certificate-key', 'self-signed.key')
timeout = Time.now.tv_sec + 10
good_pid = false
while (not good_pid) and (Time.now.tv_sec < timeout)
sleep 0.2
- begin
- server_pid = IO.read(SERVER_PID_PATH).to_i
- good_pid = (server_pid > 0) and (Process.kill(0, server_pid) rescue false)
- rescue Errno::ENOENT
- good_pid = false
- end
+ server_pid = find_server_pid
+ good_pid = (server_pid and
+ (server_pid > 0) and
+ (Process.kill(0, server_pid) rescue false))
end
if not good_pid
raise RuntimeError, "could not find API server Rails pid"
end
- server_pid
- end
- begin
- super(args)
- ensure
- Process.kill('TERM', server_pid)
end
end
end
-MiniTest::Unit.runner = ApiServerBackedTestRunner.new
+ApiServerForTests.run
commit 2401ec62170721e3fa49376e93ede08f132a568f
Author: Tom Clegg <tom at curoverse.com>
Date: Wed May 14 16:35:39 2014 -0400
2809: Upgrade to Rails 4.1
diff --git a/apps/workbench/Gemfile b/apps/workbench/Gemfile
index 98d5747..e7e60c5 100644
--- a/apps/workbench/Gemfile
+++ b/apps/workbench/Gemfile
@@ -1,6 +1,7 @@
source 'https://rubygems.org'
-gem 'rails', '~> 4.0.0'
+gem 'rails', '~> 4.1.0'
+gem 'minitest', '>= 5.0.0'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
diff --git a/apps/workbench/Gemfile.lock b/apps/workbench/Gemfile.lock
index 4cdd3fc..9adb4a3 100644
--- a/apps/workbench/Gemfile.lock
+++ b/apps/workbench/Gemfile.lock
@@ -10,37 +10,39 @@ GEM
remote: https://rubygems.org/
specs:
RedCloth (4.2.9)
- actionmailer (4.0.5)
- actionpack (= 4.0.5)
+ actionmailer (4.1.1)
+ actionpack (= 4.1.1)
+ actionview (= 4.1.1)
mail (~> 2.5.4)
- actionpack (4.0.5)
- activesupport (= 4.0.5)
- builder (~> 3.1.0)
- erubis (~> 2.7.0)
+ actionpack (4.1.1)
+ actionview (= 4.1.1)
+ activesupport (= 4.1.1)
rack (~> 1.5.2)
rack-test (~> 0.6.2)
- activemodel (4.0.5)
- activesupport (= 4.0.5)
- builder (~> 3.1.0)
- activerecord (4.0.5)
- activemodel (= 4.0.5)
- activerecord-deprecated_finders (~> 1.0.2)
- activesupport (= 4.0.5)
- arel (~> 4.0.0)
- activerecord-deprecated_finders (1.0.3)
- activesupport (4.0.5)
+ actionview (4.1.1)
+ activesupport (= 4.1.1)
+ builder (~> 3.1)
+ erubis (~> 2.7.0)
+ activemodel (4.1.1)
+ activesupport (= 4.1.1)
+ builder (~> 3.1)
+ activerecord (4.1.1)
+ activemodel (= 4.1.1)
+ activesupport (= 4.1.1)
+ arel (~> 5.0.0)
+ activesupport (4.1.1)
i18n (~> 0.6, >= 0.6.9)
- minitest (~> 4.2)
- multi_json (~> 1.3)
+ json (~> 1.7, >= 1.7.7)
+ minitest (~> 5.1)
thread_safe (~> 0.1)
- tzinfo (~> 0.3.37)
+ tzinfo (~> 1.1)
andand (1.3.3)
- arel (4.0.2)
+ arel (5.0.1.20140414130214)
bootstrap-sass (3.1.0.1)
sass (~> 3.2)
bootstrap-x-editable-rails (1.5.1.1)
railties (>= 3.0)
- builder (3.1.4)
+ builder (3.2.2)
capistrano (2.15.5)
highline
net-scp (>= 1.0.0)
@@ -89,7 +91,7 @@ GEM
treetop (~> 1.4.8)
mime-types (1.25.1)
mini_portile (0.5.2)
- minitest (4.7.5)
+ minitest (5.3.3)
multi_json (1.10.0)
net-scp (1.1.2)
net-ssh (>= 2.6.5)
@@ -118,17 +120,19 @@ GEM
rack (1.5.2)
rack-test (0.6.2)
rack (>= 1.0)
- rails (4.0.5)
- actionmailer (= 4.0.5)
- actionpack (= 4.0.5)
- activerecord (= 4.0.5)
- activesupport (= 4.0.5)
+ rails (4.1.1)
+ actionmailer (= 4.1.1)
+ actionpack (= 4.1.1)
+ actionview (= 4.1.1)
+ activemodel (= 4.1.1)
+ activerecord (= 4.1.1)
+ activesupport (= 4.1.1)
bundler (>= 1.3.0, < 2.0)
- railties (= 4.0.5)
- sprockets-rails (~> 2.0.0)
- railties (4.0.5)
- actionpack (= 4.0.5)
- activesupport (= 4.0.5)
+ railties (= 4.1.1)
+ sprockets-rails (~> 2.0)
+ railties (4.1.1)
+ actionpack (= 4.1.1)
+ activesupport (= 4.1.1)
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
rake (10.3.1)
@@ -158,7 +162,7 @@ GEM
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
- sprockets-rails (2.0.1)
+ sprockets-rails (2.1.3)
actionpack (>= 3.0)
activesupport (>= 3.0)
sprockets (~> 2.8)
@@ -172,7 +176,8 @@ GEM
treetop (1.4.15)
polyglot
polyglot (>= 0.3.1)
- tzinfo (0.3.39)
+ tzinfo (1.1.0)
+ thread_safe (~> 0.1)
uglifier (2.3.1)
execjs (>= 0.3.0)
json (>= 1.8.0)
@@ -197,12 +202,13 @@ DEPENDENCIES
jquery-rails
less
less-rails
+ minitest (>= 5.0.0)
multi_json
oj
passenger
piwik_analytics
poltergeist
- rails (~> 4.0.0)
+ rails (~> 4.1.0)
rvm-capistrano
sass
sass-rails (~> 4.0.0)
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list