rainbows 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. data/GIT-VERSION-GEN +1 -1
  2. data/TODO +15 -0
  3. data/TUNING +14 -0
  4. data/lib/rainbows.rb +7 -0
  5. data/lib/rainbows/app_pool.rb +4 -3
  6. data/lib/rainbows/base.rb +17 -11
  7. data/lib/rainbows/const.rb +5 -1
  8. data/lib/rainbows/dev_fd_response.rb +69 -0
  9. data/lib/rainbows/http_response.rb +1 -0
  10. data/lib/rainbows/http_server.rb +2 -0
  11. data/lib/rainbows/rev.rb +136 -43
  12. data/lib/rainbows/revactor.rb +6 -14
  13. data/lib/rainbows/thread_pool.rb +11 -13
  14. data/lib/rainbows/thread_spawn.rb +4 -4
  15. data/local.mk.sample +9 -1
  16. data/t/GNUmakefile +4 -4
  17. data/t/README +1 -1
  18. data/t/async-response-no-autochunk.ru +24 -0
  19. data/t/async-response.ru +13 -0
  20. data/t/bin/content-md5-put +1 -1
  21. data/t/bin/utee +12 -0
  22. data/t/env.ru +3 -0
  23. data/t/large-file-response.ru +13 -0
  24. data/t/lib-async-response-no-autochunk.sh +6 -0
  25. data/t/lib-async-response.sh +45 -0
  26. data/t/lib-graceful.sh +40 -0
  27. data/t/lib-input-trailer.sh +63 -0
  28. data/t/lib-large-file-response.sh +45 -0
  29. data/t/lib-parser-error.sh +29 -0
  30. data/t/{t3100-revactor-tee-input.sh → lib-rack-input-hammer.sh} +3 -9
  31. data/t/lib-reopen-logs.sh +60 -0
  32. data/t/lib-simple-http.sh +92 -0
  33. data/t/sleep.ru +13 -6
  34. data/t/t0000-basic.sh +1 -36
  35. data/t/t1000-thread-pool-basic.sh +1 -41
  36. data/t/t1002-thread-pool-graceful.sh +1 -36
  37. data/t/t1003-thread-pool-reopen-logs.sh +2 -0
  38. data/t/t1004-thread-pool-async-response.sh +45 -0
  39. data/t/t1005-thread-pool-large-file-response.sh +45 -0
  40. data/t/t1006-thread-pool-async-response-no-autochunk.sh +6 -0
  41. data/t/t1100-thread-pool-rack-input.sh +2 -0
  42. data/t/t1101-thread-pool-input-trailer.sh +2 -0
  43. data/t/t2000-thread-spawn-basic.sh +1 -37
  44. data/t/t2002-thread-spawn-graceful.sh +1 -36
  45. data/t/t2003-thread-spawn-reopen-logs.sh +2 -0
  46. data/t/t2004-thread-spawn-async-response.sh +45 -0
  47. data/t/t2005-thread-spawn-large-file-response.sh +45 -0
  48. data/t/t2006-thread-spawn-async-response-no-autochunk.sh +6 -0
  49. data/t/t2100-thread-spawn-rack-input.sh +2 -0
  50. data/t/t2101-thread-spawn-input-trailer.sh +2 -0
  51. data/t/t3000-revactor-basic.sh +1 -39
  52. data/t/t3002-revactor-graceful.sh +1 -37
  53. data/t/t3003-revactor-reopen-logs.sh +1 -53
  54. data/t/t3004-revactor-async-response.sh +45 -0
  55. data/t/t3005-revactor-large-file-response.sh +2 -0
  56. data/t/t3006-revactor-async-response-no-autochunk.sh +6 -0
  57. data/t/t3100-revactor-rack-input.sh +2 -0
  58. data/t/t3101-revactor-rack-input-trailer.sh +2 -0
  59. data/t/t4000-rev-basic.sh +1 -50
  60. data/t/t4002-rev-graceful.sh +1 -51
  61. data/t/t4003-rev-parser-error.sh +1 -33
  62. data/t/t4003-rev-reopen-logs.sh +2 -0
  63. data/t/t4004-rev-async-response.sh +45 -0
  64. data/t/t4005-rev-large-file-response.sh +2 -0
  65. data/t/t4006-rev-async-response-no-autochunk.sh +6 -0
  66. data/t/t4100-rev-rack-input.sh +1 -43
  67. data/t/t4101-rev-rack-input-trailer.sh +1 -50
  68. data/t/t9000-rack-app-pool.sh +2 -3
  69. data/t/test-lib.sh +80 -18
  70. metadata +39 -4
  71. data/t/t3001-revactor-pipeline.sh +0 -46
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rainbows
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rainbows! developers
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-15 00:00:00 -07:00
12
+ date: 2009-10-19 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -51,6 +51,7 @@ extra_rdoc_files:
51
51
  - lib/rainbows/app_pool.rb
52
52
  - lib/rainbows/base.rb
53
53
  - lib/rainbows/const.rb
54
+ - lib/rainbows/dev_fd_response.rb
54
55
  - lib/rainbows/http_response.rb
55
56
  - lib/rainbows/http_server.rb
56
57
  - lib/rainbows/rev.rb
@@ -91,6 +92,7 @@ files:
91
92
  - lib/rainbows/app_pool.rb
92
93
  - lib/rainbows/base.rb
93
94
  - lib/rainbows/const.rb
95
+ - lib/rainbows/dev_fd_response.rb
94
96
  - lib/rainbows/http_response.rb
95
97
  - lib/rainbows/http_server.rb
96
98
  - lib/rainbows/rev.rb
@@ -105,9 +107,23 @@ files:
105
107
  - t/.gitignore
106
108
  - t/GNUmakefile
107
109
  - t/README
110
+ - t/async-response-no-autochunk.ru
111
+ - t/async-response.ru
108
112
  - t/bin/content-md5-put
109
113
  - t/bin/unused_listen
114
+ - t/bin/utee
110
115
  - t/content-md5.ru
116
+ - t/env.ru
117
+ - t/large-file-response.ru
118
+ - t/lib-async-response-no-autochunk.sh
119
+ - t/lib-async-response.sh
120
+ - t/lib-graceful.sh
121
+ - t/lib-input-trailer.sh
122
+ - t/lib-large-file-response.sh
123
+ - t/lib-parser-error.sh
124
+ - t/lib-rack-input-hammer.sh
125
+ - t/lib-reopen-logs.sh
126
+ - t/lib-simple-http.sh
111
127
  - t/sha1.ru
112
128
  - t/sleep.ru
113
129
  - t/t0000-basic.sh
@@ -115,19 +131,38 @@ files:
115
131
  - t/t1000-thread-pool-basic.sh
116
132
  - t/t1000.ru
117
133
  - t/t1002-thread-pool-graceful.sh
134
+ - t/t1003-thread-pool-reopen-logs.sh
135
+ - t/t1004-thread-pool-async-response.sh
136
+ - t/t1005-thread-pool-large-file-response.sh
137
+ - t/t1006-thread-pool-async-response-no-autochunk.sh
138
+ - t/t1100-thread-pool-rack-input.sh
139
+ - t/t1101-thread-pool-input-trailer.sh
118
140
  - t/t2000-thread-spawn-basic.sh
119
141
  - t/t2000.ru
120
142
  - t/t2002-thread-spawn-graceful.sh
143
+ - t/t2003-thread-spawn-reopen-logs.sh
144
+ - t/t2004-thread-spawn-async-response.sh
145
+ - t/t2005-thread-spawn-large-file-response.sh
146
+ - t/t2006-thread-spawn-async-response-no-autochunk.sh
147
+ - t/t2100-thread-spawn-rack-input.sh
148
+ - t/t2101-thread-spawn-input-trailer.sh
121
149
  - t/t3000-revactor-basic.sh
122
150
  - t/t3000.ru
123
- - t/t3001-revactor-pipeline.sh
124
151
  - t/t3002-revactor-graceful.sh
125
152
  - t/t3003-revactor-reopen-logs.sh
126
- - t/t3100-revactor-tee-input.sh
153
+ - t/t3004-revactor-async-response.sh
154
+ - t/t3005-revactor-large-file-response.sh
155
+ - t/t3006-revactor-async-response-no-autochunk.sh
156
+ - t/t3100-revactor-rack-input.sh
157
+ - t/t3101-revactor-rack-input-trailer.sh
127
158
  - t/t4000-rev-basic.sh
128
159
  - t/t4000.ru
129
160
  - t/t4002-rev-graceful.sh
130
161
  - t/t4003-rev-parser-error.sh
162
+ - t/t4003-rev-reopen-logs.sh
163
+ - t/t4004-rev-async-response.sh
164
+ - t/t4005-rev-large-file-response.sh
165
+ - t/t4006-rev-async-response-no-autochunk.sh
131
166
  - t/t4100-rev-rack-input.sh
132
167
  - t/t4101-rev-rack-input-trailer.sh
133
168
  - t/t9000-rack-app-pool.sh
@@ -1,46 +0,0 @@
1
- #!/bin/sh
2
- . ./test-lib.sh
3
- require_revactor
4
-
5
- eval $(unused_listen)
6
- rtmpfiles unicorn_config curl_out curl_err pid fifo tmp ok r_err r_out
7
-
8
- rm -f $fifo
9
- mkfifo $fifo
10
-
11
- cat > $unicorn_config <<EOF
12
- stderr_path "$r_err"
13
- stdout_path "$r_out"
14
- listen "$listen"
15
- pid "$pid"
16
- Rainbows! do
17
- use :Revactor
18
- end
19
- EOF
20
-
21
- rainbows -D t0000.ru -c $unicorn_config
22
- wait_for_pid $pid
23
-
24
- echo "two requests with keepalive"
25
- curl -sSfv http://$listen/a http://$listen/b > $tmp 2>&1
26
- grep 'Re-using existing connection' < $tmp
27
-
28
- echo "pipelining partial requests"
29
- req='GET / HTTP/1.1\r\nHost: foo\r\n'
30
- (
31
- printf "$req"'\r\n'"$req"
32
- cat $fifo > $tmp &
33
- sleep 1
34
- printf 'Connection: close\r\n\r\n'
35
- echo ok > $ok
36
- ) | socat - TCP:$listen > $fifo
37
-
38
- kill $(cat $pid)
39
-
40
- dbgcat tmp
41
- test 2 -eq $(grep '^HTTP/1.1' $tmp | wc -l)
42
- test 2 -eq $(grep '^HTTP/1.1 200 OK' $tmp | wc -l)
43
- test 1 -eq $(grep '^Connection: keep-alive' $tmp | wc -l)
44
- test 1 -eq $(grep '^Connection: close' $tmp | wc -l)
45
- test x"$(cat $ok)" = xok
46
- ! grep Error $r_err