unicorn 0.99.0 → 0.990.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +1 -0
- data/.gitignore +3 -1
- data/Documentation/unicorn.1.txt +1 -1
- data/FAQ +3 -2
- data/GIT-VERSION-GEN +1 -1
- data/GNUmakefile +43 -8
- data/KNOWN_ISSUES +3 -24
- data/PHILOSOPHY +3 -2
- data/Rakefile +23 -2
- data/Sandbox +78 -0
- data/bin/unicorn_rails +14 -36
- data/examples/big_app_gc.rb +33 -0
- data/examples/unicorn.conf.minimal.rb +13 -0
- data/examples/unicorn.conf.rb +9 -3
- data/ext/unicorn_http/unicorn_http.rl +14 -2
- data/ext/unicorn_http/unicorn_http_common.rl +1 -1
- data/lib/unicorn.rb +5 -11
- data/lib/unicorn/configurator.rb +22 -8
- data/lib/unicorn/const.rb +3 -1
- data/lib/unicorn/oob_gc.rb +58 -0
- data/lib/unicorn/util.rb +7 -9
- data/local.mk.sample +32 -36
- data/t/GNUmakefile +7 -2
- data/t/rails3-app/.gitignore +4 -0
- data/t/rails3-app/Gemfile +26 -0
- data/t/rails3-app/Rakefile +10 -0
- data/t/rails3-app/app/controllers/application_controller.rb +4 -0
- data/t/rails3-app/app/helpers/application_helper.rb +2 -0
- data/t/rails3-app/app/views/layouts/application.html.erb +14 -0
- data/t/rails3-app/config.ru +4 -0
- data/t/rails3-app/config/application.rb +46 -0
- data/t/rails3-app/config/boot.rb +6 -0
- data/t/rails3-app/config/database.yml +22 -0
- data/t/rails3-app/config/environment.rb +5 -0
- data/t/rails3-app/config/environments/development.rb +19 -0
- data/t/rails3-app/config/environments/production.rb +42 -0
- data/t/rails3-app/config/environments/test.rb +32 -0
- data/t/rails3-app/config/initializers/backtrace_silencers.rb +7 -0
- data/t/rails3-app/config/initializers/inflections.rb +10 -0
- data/t/rails3-app/config/initializers/mime_types.rb +5 -0
- data/t/rails3-app/config/initializers/secret_token.rb +7 -0
- data/t/rails3-app/config/initializers/session_store.rb +8 -0
- data/t/rails3-app/config/locales/en.yml +5 -0
- data/t/rails3-app/config/routes.rb +58 -0
- data/t/rails3-app/db/seeds.rb +7 -0
- data/t/rails3-app/doc/README_FOR_APP +2 -0
- data/{test/rails/app-2.3.5/db/.gitignore → t/rails3-app/lib/tasks/.gitkeep} +0 -0
- data/{test/rails/app-2.3.5 → t/rails3-app}/public/404.html +0 -0
- data/{test/rails/app-2.3.5 → t/rails3-app}/public/500.html +0 -0
- data/{test/rails/app-2.3.5 → t/rails3-app}/public/x.txt +0 -0
- data/t/rails3-app/script/rails +9 -0
- data/t/rails3-app/test/performance/browsing_test.rb +9 -0
- data/t/rails3-app/test/test_helper.rb +13 -0
- data/t/rails3-app/vendor/plugins/.gitkeep +0 -0
- data/t/t0300-rails3-basic.sh +56 -0
- data/t/test-lib.sh +2 -1
- data/test/exec/test_exec.rb +20 -3
- data/test/rails/{app-2.3.5 → app-2.3.8}/.gitignore +0 -0
- data/test/rails/{app-2.3.5 → app-2.3.8}/Rakefile +0 -0
- data/test/rails/{app-2.3.5 → app-2.3.8}/app/controllers/application_controller.rb +0 -0
- data/test/rails/{app-2.3.5 → app-2.3.8}/app/controllers/foo_controller.rb +0 -0
- data/test/rails/{app-2.3.5 → app-2.3.8}/app/helpers/application_helper.rb +0 -0
- data/test/rails/{app-2.3.5 → app-2.3.8}/config/boot.rb +0 -0
- data/test/rails/{app-2.3.5 → app-2.3.8}/config/database.yml +0 -0
- data/test/rails/{app-2.3.5 → app-2.3.8}/config/environment.rb +0 -0
- data/test/rails/{app-2.3.5 → app-2.3.8}/config/environments/development.rb +0 -0
- data/test/rails/{app-2.3.5 → app-2.3.8}/config/environments/production.rb +0 -0
- data/test/rails/{app-2.3.5 → app-2.3.8}/config/routes.rb +0 -0
- data/test/rails/app-2.3.8/db/.gitignore +0 -0
- data/test/rails/app-2.3.8/public/404.html +1 -0
- data/test/rails/app-2.3.8/public/500.html +1 -0
- data/test/rails/app-2.3.8/public/x.txt +1 -0
- data/test/rails/test_rails.rb +4 -0
- data/test/unit/test_http_parser.rb +11 -1
- data/test/unit/test_http_parser_ng.rb +21 -1
- data/test/unit/test_signals.rb +2 -2
- data/test/unit/test_socket_helper.rb +5 -3
- data/test/unit/test_util.rb +22 -18
- data/unicorn.gemspec +2 -0
- metadata +66 -18
data/t/test-lib.sh
CHANGED
@@ -7,7 +7,8 @@ set +u
|
|
7
7
|
set -e
|
8
8
|
RUBY="${RUBY-ruby}"
|
9
9
|
RUBY_VERSION=${RUBY_VERSION-$($RUBY -e 'puts RUBY_VERSION')}
|
10
|
-
|
10
|
+
RUBY_ENGINE=${RUBY_ENGINE-$($RUBY -e 'puts((RUBY_ENGINE rescue "ruby"))')}
|
11
|
+
t_pfx=$PWD/trash/$T-$RUBY_ENGINE-$RUBY_VERSION
|
11
12
|
set -u
|
12
13
|
|
13
14
|
PATH=$PWD/bin:$PATH
|
data/test/exec/test_exec.rb
CHANGED
@@ -20,6 +20,10 @@ unless try_require('rack')
|
|
20
20
|
do_test = false
|
21
21
|
end
|
22
22
|
|
23
|
+
if ENV['RBX_SKIP']
|
24
|
+
do_test = false
|
25
|
+
end
|
26
|
+
|
23
27
|
class ExecTest < Test::Unit::TestCase
|
24
28
|
trap(:QUIT, 'IGNORE')
|
25
29
|
|
@@ -899,25 +903,38 @@ EOF
|
|
899
903
|
wait_workers_ready("test_stderr.#$$.log", 1)
|
900
904
|
uri = URI.parse("http://#@addr:#@port/")
|
901
905
|
pids = Tempfile.new('worker_pids')
|
906
|
+
r, w = IO.pipe
|
902
907
|
hitter = fork {
|
908
|
+
r.close
|
903
909
|
bodies = Hash.new(0)
|
904
910
|
at_exit { pids.syswrite(bodies.inspect) }
|
905
911
|
trap(:TERM) { exit(0) }
|
912
|
+
nr = 0
|
906
913
|
loop {
|
907
914
|
rv = Net::HTTP.get(uri)
|
908
915
|
pid = rv.to_i
|
909
916
|
exit!(1) if pid <= 0
|
910
917
|
bodies[pid] += 1
|
918
|
+
nr += 1
|
919
|
+
if nr == 1
|
920
|
+
w.syswrite('1')
|
921
|
+
elsif bodies.size > 1
|
922
|
+
w.syswrite('2')
|
923
|
+
sleep
|
924
|
+
end
|
911
925
|
}
|
912
926
|
}
|
913
|
-
|
927
|
+
w.close
|
928
|
+
assert_equal '1', r.read(1)
|
914
929
|
daemon_pid = File.read(pid_file.path).to_i
|
915
930
|
assert daemon_pid > 0
|
916
931
|
Process.kill(:HUP, daemon_pid)
|
917
|
-
|
932
|
+
assert_equal '2', r.read(1)
|
918
933
|
assert_nothing_raised { Process.kill(:TERM, hitter) }
|
919
934
|
_, hitter_status = Process.waitpid2(hitter)
|
920
|
-
assert
|
935
|
+
assert(hitter_status.success?,
|
936
|
+
"invalid: #{hitter_status.inspect} #{File.read(pids.path)}" \
|
937
|
+
"#{File.read("test_stderr.#$$.log")}")
|
921
938
|
pids.sysseek(0)
|
922
939
|
pids = eval(pids.read)
|
923
940
|
assert_kind_of(Hash, pids)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
404 Not Found
|
@@ -0,0 +1 @@
|
|
1
|
+
500 Internal Server Error
|
@@ -0,0 +1 @@
|
|
1
|
+
HELLO
|
data/test/rails/test_rails.rb
CHANGED
@@ -46,6 +46,10 @@ end
|
|
46
46
|
ROR_V = UNICORN_RAILS_TEST_VERSION.split(/\./).map { |x| x.to_i }
|
47
47
|
RB_V = RUBY_VERSION.split(/\./).map { |x| x.to_i }
|
48
48
|
if RB_V[0] >= 1 && RB_V[1] >= 9
|
49
|
+
if RB_V[2] >= 2
|
50
|
+
warn "Ruby 1.9.2+ is not compatible with Rails 2.x"
|
51
|
+
do_test = false
|
52
|
+
end
|
49
53
|
unless ROR_V[0] >= 2 && ROR_V[1] >= 3
|
50
54
|
warn "skipping Ruby >=1.9 test with Rails <2.3"
|
51
55
|
do_test = false
|
@@ -51,6 +51,14 @@ class HttpParserTest < Test::Unit::TestCase
|
|
51
51
|
assert parser.keepalive?
|
52
52
|
end
|
53
53
|
|
54
|
+
def test_tab_lws
|
55
|
+
parser = HttpParser.new
|
56
|
+
req = {}
|
57
|
+
tmp = "GET / HTTP/1.1\r\nHost:\tfoo.bar\r\n\r\n"
|
58
|
+
assert_equal req.object_id, parser.headers(req, tmp).object_id
|
59
|
+
assert_equal "foo.bar", req['HTTP_HOST']
|
60
|
+
end
|
61
|
+
|
54
62
|
def test_connection_close_no_ka
|
55
63
|
parser = HttpParser.new
|
56
64
|
req = {}
|
@@ -542,6 +550,8 @@ class HttpParserTest < Test::Unit::TestCase
|
|
542
550
|
diff = after - before
|
543
551
|
assert(diff < 10000, "memory grew more than 10M: #{diff}")
|
544
552
|
end
|
545
|
-
end if RUBY_PLATFORM =~ /linux/ &&
|
553
|
+
end if RUBY_PLATFORM =~ /linux/ &&
|
554
|
+
File.readable?(LINUX_PROC_PID_STATUS) &&
|
555
|
+
!defined?(RUBY_ENGINE)
|
546
556
|
|
547
557
|
end
|
@@ -26,7 +26,7 @@ class HttpParserNgTest < Test::Unit::TestCase
|
|
26
26
|
assert_equal 0, hdr.size
|
27
27
|
assert ! @parser.keepalive?
|
28
28
|
assert @parser.headers?
|
29
|
-
|
29
|
+
assert_equal 123, @parser.content_length
|
30
30
|
end
|
31
31
|
|
32
32
|
def test_identity_step_headers
|
@@ -440,4 +440,24 @@ class HttpParserNgTest < Test::Unit::TestCase
|
|
440
440
|
end
|
441
441
|
end
|
442
442
|
|
443
|
+
def test_ignore_version_header
|
444
|
+
http = "GET / HTTP/1.1\r\nVersion: hello\r\n\r\n"
|
445
|
+
req = {}
|
446
|
+
assert_equal req, @parser.headers(req, http)
|
447
|
+
assert_equal '', http
|
448
|
+
expect = {
|
449
|
+
"SERVER_NAME" => "localhost",
|
450
|
+
"rack.url_scheme" => "http",
|
451
|
+
"REQUEST_PATH" => "/",
|
452
|
+
"SERVER_PROTOCOL" => "HTTP/1.1",
|
453
|
+
"PATH_INFO" => "/",
|
454
|
+
"HTTP_VERSION" => "HTTP/1.1",
|
455
|
+
"REQUEST_URI" => "/",
|
456
|
+
"SERVER_PORT" => "80",
|
457
|
+
"REQUEST_METHOD" => "GET",
|
458
|
+
"QUERY_STRING" => ""
|
459
|
+
}
|
460
|
+
assert_equal expect, req
|
461
|
+
end
|
462
|
+
|
443
463
|
end
|
data/test/unit/test_signals.rb
CHANGED
@@ -166,7 +166,7 @@ class SignalsTest < Test::Unit::TestCase
|
|
166
166
|
expect = @bs * @count
|
167
167
|
assert_equal(expect, got, "expect=#{expect} got=#{got}")
|
168
168
|
assert_nothing_raised { sock.close }
|
169
|
-
end
|
169
|
+
end unless ENV['RBX_SKIP']
|
170
170
|
|
171
171
|
def test_request_read
|
172
172
|
app = lambda { |env|
|
@@ -201,6 +201,6 @@ class SignalsTest < Test::Unit::TestCase
|
|
201
201
|
assert size_before < @tmp.stat.size
|
202
202
|
assert_equal pid, sock.sysread(4096)[/\r\nX-Pid: (\d+)\r\n/, 1].to_i
|
203
203
|
sock.close
|
204
|
-
end
|
204
|
+
end unless ENV['RBX_SKIP']
|
205
205
|
|
206
206
|
end
|
@@ -97,7 +97,7 @@ class TestSocketHelper < Test::Unit::TestCase
|
|
97
97
|
a = bind_listen(tcp_server)
|
98
98
|
assert_equal a.fileno, tcp_server.fileno
|
99
99
|
assert_equal a.fileno, @tcp_listener.fileno
|
100
|
-
end
|
100
|
+
end unless ENV["RBX_SKIP"]
|
101
101
|
|
102
102
|
def test_bind_listen_unix_rebind
|
103
103
|
test_bind_listen_unix
|
@@ -128,6 +128,8 @@ class TestSocketHelper < Test::Unit::TestCase
|
|
128
128
|
@unix_server = server_cast(unix_listener_socket)
|
129
129
|
assert_equal @unix_listener.fileno, @unix_server.fileno
|
130
130
|
assert UNIXServer === @unix_server
|
131
|
+
assert_equal(@unix_server.path, @unix_listener.path,
|
132
|
+
"##{@unix_server.path} != #{@unix_listener.path}")
|
131
133
|
assert File.socket?(@unix_server.path)
|
132
134
|
assert_equal @unix_listener_path, sock_name(@unix_server)
|
133
135
|
|
@@ -137,11 +139,11 @@ class TestSocketHelper < Test::Unit::TestCase
|
|
137
139
|
assert_equal @tcp_listener.fileno, @tcp_server.fileno
|
138
140
|
assert TCPServer === @tcp_server
|
139
141
|
assert_equal @tcp_listener_name, sock_name(@tcp_server)
|
140
|
-
end
|
142
|
+
end unless ENV["RBX_SKIP"]
|
141
143
|
|
142
144
|
def test_sock_name
|
143
145
|
test_server_cast
|
144
146
|
sock_name(@unix_server)
|
145
|
-
end
|
147
|
+
end unless ENV["RBX_SKIP"]
|
146
148
|
|
147
149
|
end
|
data/test/unit/test_util.rb
CHANGED
@@ -8,26 +8,29 @@ class TestUtil < Test::Unit::TestCase
|
|
8
8
|
EXPECT_FLAGS = File::WRONLY | File::APPEND
|
9
9
|
def test_reopen_logs_noop
|
10
10
|
tmp = Tempfile.new('')
|
11
|
-
|
12
|
-
|
13
|
-
ext =
|
14
|
-
int =
|
15
|
-
before =
|
11
|
+
fp = File.open(tmp.path, 'ab')
|
12
|
+
fp.sync = true
|
13
|
+
ext = fp.external_encoding rescue nil
|
14
|
+
int = fp.internal_encoding rescue nil
|
15
|
+
before = fp.stat.inspect
|
16
16
|
Unicorn::Util.reopen_logs
|
17
|
-
assert_equal before, File.stat(
|
18
|
-
assert_equal ext, (
|
19
|
-
assert_equal int, (
|
17
|
+
assert_equal before, File.stat(fp.path).inspect
|
18
|
+
assert_equal ext, (fp.external_encoding rescue nil)
|
19
|
+
assert_equal int, (fp.internal_encoding rescue nil)
|
20
|
+
assert_equal(EXPECT_FLAGS, EXPECT_FLAGS & fp.fcntl(Fcntl::F_GETFL))
|
20
21
|
assert_nothing_raised { tmp.close! }
|
22
|
+
assert_nothing_raised { fp.close }
|
21
23
|
end
|
22
24
|
|
23
25
|
def test_reopen_logs_renamed
|
24
26
|
tmp = Tempfile.new('')
|
25
27
|
tmp_path = tmp.path.freeze
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
28
|
+
fp = File.open(tmp_path, 'ab')
|
29
|
+
fp.sync = true
|
30
|
+
|
31
|
+
ext = fp.external_encoding rescue nil
|
32
|
+
int = fp.internal_encoding rescue nil
|
33
|
+
before = fp.stat.inspect
|
31
34
|
to = Tempfile.new('')
|
32
35
|
File.rename(tmp_path, to.path)
|
33
36
|
assert ! File.exist?(tmp_path)
|
@@ -35,13 +38,14 @@ class TestUtil < Test::Unit::TestCase
|
|
35
38
|
assert_equal tmp_path, tmp.path
|
36
39
|
assert File.exist?(tmp_path)
|
37
40
|
assert before != File.stat(tmp_path).inspect
|
38
|
-
assert_equal
|
39
|
-
assert_equal ext, (
|
40
|
-
assert_equal int, (
|
41
|
-
assert_equal(EXPECT_FLAGS, EXPECT_FLAGS &
|
42
|
-
assert
|
41
|
+
assert_equal fp.stat.inspect, File.stat(tmp_path).inspect
|
42
|
+
assert_equal ext, (fp.external_encoding rescue nil)
|
43
|
+
assert_equal int, (fp.internal_encoding rescue nil)
|
44
|
+
assert_equal(EXPECT_FLAGS, EXPECT_FLAGS & fp.fcntl(Fcntl::F_GETFL))
|
45
|
+
assert fp.sync
|
43
46
|
assert_nothing_raised { tmp.close! }
|
44
47
|
assert_nothing_raised { to.close! }
|
48
|
+
assert_nothing_raised { fp.close }
|
45
49
|
end
|
46
50
|
|
47
51
|
def test_reopen_logs_renamed_with_encoding
|
data/unicorn.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unicorn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.990.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Unicorn hackers
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-
|
12
|
+
date: 2010-06-08 00:00:00 +00:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -22,6 +22,16 @@ dependencies:
|
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: "0"
|
24
24
|
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: isolate
|
27
|
+
type: :development
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.0.2
|
34
|
+
version:
|
25
35
|
description: |-
|
26
36
|
\Unicorn is an HTTP server for Rack applications designed to only serve
|
27
37
|
fast clients on low-latency, high-bandwidth connections and take
|
@@ -59,11 +69,13 @@ extra_rdoc_files:
|
|
59
69
|
- lib/unicorn/http_request.rb
|
60
70
|
- lib/unicorn/http_response.rb
|
61
71
|
- lib/unicorn/launcher.rb
|
72
|
+
- lib/unicorn/oob_gc.rb
|
62
73
|
- lib/unicorn/socket_helper.rb
|
63
74
|
- lib/unicorn/tee_input.rb
|
64
75
|
- lib/unicorn/util.rb
|
65
76
|
- ext/unicorn_http/unicorn_http.c
|
66
77
|
- ISSUES
|
78
|
+
- Sandbox
|
67
79
|
files:
|
68
80
|
- .CHANGELOG.old
|
69
81
|
- .document
|
@@ -91,15 +103,18 @@ files:
|
|
91
103
|
- README
|
92
104
|
- Rakefile
|
93
105
|
- SIGNALS
|
106
|
+
- Sandbox
|
94
107
|
- TODO
|
95
108
|
- TUNING
|
96
109
|
- bin/unicorn
|
97
110
|
- bin/unicorn_rails
|
111
|
+
- examples/big_app_gc.rb
|
98
112
|
- examples/echo.ru
|
99
113
|
- examples/git.ru
|
100
114
|
- examples/init.sh
|
101
115
|
- examples/logger_mp_safe.rb
|
102
116
|
- examples/nginx.conf
|
117
|
+
- examples/unicorn.conf.minimal.rb
|
103
118
|
- examples/unicorn.conf.rb
|
104
119
|
- ext/unicorn_http/CFLAGS
|
105
120
|
- ext/unicorn_http/c_util.h
|
@@ -121,6 +136,7 @@ files:
|
|
121
136
|
- lib/unicorn/http_request.rb
|
122
137
|
- lib/unicorn/http_response.rb
|
123
138
|
- lib/unicorn/launcher.rb
|
139
|
+
- lib/unicorn/oob_gc.rb
|
124
140
|
- lib/unicorn/socket_helper.rb
|
125
141
|
- lib/unicorn/tee_input.rb
|
126
142
|
- lib/unicorn/util.rb
|
@@ -137,9 +153,41 @@ files:
|
|
137
153
|
- t/bin/utee
|
138
154
|
- t/env.ru
|
139
155
|
- t/my-tap-lib.sh
|
156
|
+
- t/rails3-app/.gitignore
|
157
|
+
- t/rails3-app/Gemfile
|
158
|
+
- t/rails3-app/Rakefile
|
159
|
+
- t/rails3-app/app/controllers/application_controller.rb
|
160
|
+
- t/rails3-app/app/helpers/application_helper.rb
|
161
|
+
- t/rails3-app/app/views/layouts/application.html.erb
|
162
|
+
- t/rails3-app/config.ru
|
163
|
+
- t/rails3-app/config/application.rb
|
164
|
+
- t/rails3-app/config/boot.rb
|
165
|
+
- t/rails3-app/config/database.yml
|
166
|
+
- t/rails3-app/config/environment.rb
|
167
|
+
- t/rails3-app/config/environments/development.rb
|
168
|
+
- t/rails3-app/config/environments/production.rb
|
169
|
+
- t/rails3-app/config/environments/test.rb
|
170
|
+
- t/rails3-app/config/initializers/backtrace_silencers.rb
|
171
|
+
- t/rails3-app/config/initializers/inflections.rb
|
172
|
+
- t/rails3-app/config/initializers/mime_types.rb
|
173
|
+
- t/rails3-app/config/initializers/secret_token.rb
|
174
|
+
- t/rails3-app/config/initializers/session_store.rb
|
175
|
+
- t/rails3-app/config/locales/en.yml
|
176
|
+
- t/rails3-app/config/routes.rb
|
177
|
+
- t/rails3-app/db/seeds.rb
|
178
|
+
- t/rails3-app/doc/README_FOR_APP
|
179
|
+
- t/rails3-app/lib/tasks/.gitkeep
|
180
|
+
- t/rails3-app/public/404.html
|
181
|
+
- t/rails3-app/public/500.html
|
182
|
+
- t/rails3-app/public/x.txt
|
183
|
+
- t/rails3-app/script/rails
|
184
|
+
- t/rails3-app/test/performance/browsing_test.rb
|
185
|
+
- t/rails3-app/test/test_helper.rb
|
186
|
+
- t/rails3-app/vendor/plugins/.gitkeep
|
140
187
|
- t/t0000-http-basic.sh
|
141
188
|
- t/t0001-reload-bad-config.sh
|
142
189
|
- t/t0002-config-conflict.sh
|
190
|
+
- t/t0300-rails3-basic.sh
|
143
191
|
- t/test-lib.sh
|
144
192
|
- test/aggregate.rb
|
145
193
|
- test/benchmark/README
|
@@ -206,22 +254,22 @@ files:
|
|
206
254
|
- test/rails/app-2.2.2/log/.gitignore
|
207
255
|
- test/rails/app-2.2.2/public/404.html
|
208
256
|
- test/rails/app-2.2.2/public/500.html
|
209
|
-
- test/rails/app-2.3.
|
210
|
-
- test/rails/app-2.3.
|
211
|
-
- test/rails/app-2.3.
|
212
|
-
- test/rails/app-2.3.
|
213
|
-
- test/rails/app-2.3.
|
214
|
-
- test/rails/app-2.3.
|
215
|
-
- test/rails/app-2.3.
|
216
|
-
- test/rails/app-2.3.
|
217
|
-
- test/rails/app-2.3.
|
218
|
-
- test/rails/app-2.3.
|
219
|
-
- test/rails/app-2.3.
|
220
|
-
- test/rails/app-2.3.
|
221
|
-
- test/rails/app-2.3.
|
222
|
-
- test/rails/app-2.3.
|
223
|
-
- test/rails/app-2.3.
|
224
|
-
- test/rails/app-2.3.
|
257
|
+
- test/rails/app-2.3.8/.gitignore
|
258
|
+
- test/rails/app-2.3.8/Rakefile
|
259
|
+
- test/rails/app-2.3.8/app/controllers/application_controller.rb
|
260
|
+
- test/rails/app-2.3.8/app/controllers/foo_controller.rb
|
261
|
+
- test/rails/app-2.3.8/app/helpers/application_helper.rb
|
262
|
+
- test/rails/app-2.3.8/config/boot.rb
|
263
|
+
- test/rails/app-2.3.8/config/database.yml
|
264
|
+
- test/rails/app-2.3.8/config/environment.rb
|
265
|
+
- test/rails/app-2.3.8/config/environments/development.rb
|
266
|
+
- test/rails/app-2.3.8/config/environments/production.rb
|
267
|
+
- test/rails/app-2.3.8/config/routes.rb
|
268
|
+
- test/rails/app-2.3.8/db/.gitignore
|
269
|
+
- test/rails/app-2.3.8/log/.gitignore
|
270
|
+
- test/rails/app-2.3.8/public/404.html
|
271
|
+
- test/rails/app-2.3.8/public/500.html
|
272
|
+
- test/rails/app-2.3.8/public/x.txt
|
225
273
|
- test/rails/test_rails.rb
|
226
274
|
- test/test_helper.rb
|
227
275
|
- test/unit/test_configurator.rb
|