about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2016-11-17 02:55:18 +0000
committerEric Wong <e@80x24.org>2016-11-17 03:17:26 +0000
commite71795005f8cdf90159ef681aba4e0dce3f6a587 (patch)
tree447dd4f6ded612df17d7f1179b1a05d79e4316c3
parent072e33c3a4ead1f9cb5b40c462df426dbc1fa5ba (diff)
downloadrainbows-e71795005f8cdf90159ef681aba4e0dce3f6a587.tar.gz
This requires updating to unicorn 5.1+ to relax the rack
requirement.  Unlike unicorn, Rainbows! is considerably
larger and cannot function without rack installed.

There were no code changes required to pass the test suite;
but some other optional gems needed to be updated for testing.

Support for async_sinatra is no longer tested as that is tied
to rack 1.x; but the remaining EventMachine-dependent parts
remain tested.

Thanks to Julia López Aladro for reminding us on the mailing list:
https://bogomips.org/rainbows-public/CAPhSs6OAU+motd+MF=WOSek9==StLjEQJsNwAO3-aRWCZzhs=g@mail.gmail.com/
-rw-r--r--rainbows.gemspec7
-rwxr-xr-xt/t0300-async_sinatra.sh2
-rw-r--r--t/test_isolate.rb15
3 files changed, 13 insertions, 11 deletions
diff --git a/rainbows.gemspec b/rainbows.gemspec
index 05d4a2a..4283a85 100644
--- a/rainbows.gemspec
+++ b/rainbows.gemspec
@@ -19,15 +19,14 @@ Gem::Specification.new do |s|
   s.summary = summary
 
   # we want a newer Rack for a valid HeaderHash#each
-  s.add_dependency(%q<rack>, ['~> 1.1'])
+  s.add_dependency(%q<rack>, ['>= 1.1', '< 3.0'])
 
   # kgio 2.5 has kgio_wait_* methods that take optional timeout args
   s.add_dependency(%q<kgio>, ['~> 2.5'])
 
   # we need unicorn for the HTTP parser and process management
-  # we need unicorn 4.8.0+ since we depend on undocumented/unsupported
-  # unicorn internals.
-  s.add_dependency(%q<unicorn>, ["~> 5.0"])
+  # we need unicorn 5.1+ to relax the Rack dependency.
+  s.add_dependency(%q<unicorn>, ["~> 5.1"])
 
   s.add_development_dependency(%q<isolate>, "~> 3.1")
   s.add_development_dependency(%q<olddoc>, "~> 1.2")
diff --git a/t/t0300-async_sinatra.sh b/t/t0300-async_sinatra.sh
index ae594eb..d7972e5 100755
--- a/t/t0300-async_sinatra.sh
+++ b/t/t0300-async_sinatra.sh
@@ -5,7 +5,7 @@
 n=10
 CONFIG_RU=async_sinatra.ru
 case $model in
-NeverBlock|EventMachine) ;;
+NeverBlock-rack1|EventMachine-rack1) ;;
 *)
         t_info "skipping $T since it's not compatible with $model"
         exit 0
diff --git a/t/test_isolate.rb b/t/test_isolate.rb
index 58bc4dc..bb56ef0 100644
--- a/t/test_isolate.rb
+++ b/t/test_isolate.rb
@@ -17,15 +17,18 @@ lock = File.open(__FILE__, "rb")
 lock.flock(File::LOCK_EX)
 Isolate.now!(opts) do
   gem 'kgio', '2.10.0'
-  gem 'rack', '1.6.4'
-  gem 'kcar', '0.5.0'
-  gem 'raindrops', '0.13.0'
-  gem 'unicorn', '5.0.1'
+  gem 'rack', '2.0.1'
+  gem 'kcar', '0.6.0'
+  gem 'raindrops', '0.17.0'
+  gem 'unicorn', '5.2.0'
 
   if engine == "ruby"
     gem 'sendfile', '1.2.2'
-    gem 'eventmachine', '1.0.8'
-    gem 'async_sinatra', '1.2.0'
+    gem 'eventmachine', '1.2.0.1'
+
+    # not compatible with rack 2.x
+    # gem 'async_sinatra', '1.2.1'
+
     if RUBY_VERSION.to_f < 2.2
       gem 'cool.io', '1.1.0'
       gem 'neverblock', '0.1.6.2'