Tests not working on ruby 3.4
if daemons is semantically versioned, use:
add_runtime_dependency "daemons", "~> 1.0"
WARNING: See https://guides.rubygems.org/specification-reference/ for help
Successfully built RubyGem
Name: thin
Version: 1.8.2
File: thin-1.8.2.gem
==> Starting check()...
/usr/bin/make install sitearchdir=../../../../lib sitelibdir=../../../../lib target_prefix=
/usr/bin/install -c -m 0755 thin_parser.so ../../../../lib
cp tmp/x86_64-linux/thin_parser/3.4.2/thin_parser.so tmp/x86_64-linux/stage/lib/thin_parser.so
/usr/bin/ruby -I/usr/lib/ruby/gems/3.4.0/gems/rspec-support-3.13.2/lib:/usr/lib/ruby/gems/3.4.0/gems/rspec-core-3.13.1/lib /us
which: no swiftiply in (/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl)
Rails 2.0.2 is required to run the Rails adapter specs
Install mongrel to test compatibility w/ it
Ignoring Server on Swiftiply specs, gem install swiftiply to run
..........................................................................................................F.........F.F.FFFFFF
Failures:
1) Rack::Adapter should load File adapter
Failure/Error: expect(Rack::File).to receive(:new)
NameError:
uninitialized constant Rack::File
# ./spec/rack/loader_spec.rb:35:in 'block (2 levels) in <top (required)>'
2) Thin::Request parser should include basic headers
Failure/Error: expect(request).to validate_with_lint
should validate with Rack Lint: uppercase character in header name: Content-Type
# ./spec/request/parser_spec.rb:23:in 'block (2 levels) in <top (required)>'
3) Thin::Request parser should not prepend HTTP_ to Content-Type and Content-Length
Failure/Error: expect(request).to validate_with_lint
should validate with Rack Lint: uppercase character in header name: Content-Type
# ./spec/request/parser_spec.rb:36:in 'block (2 levels) in <top (required)>'
4) Thin::Request parser should support fragment in uri
Failure/Error: expect(request).to validate_with_lint
should validate with Rack Lint: uppercase character in header name: Content-Type
# ./spec/request/parser_spec.rb:52:in 'block (2 levels) in <top (required)>'
5) Thin::Request parser should parse path with query string
Failure/Error: expect(request).to validate_with_lint
should validate with Rack Lint: uppercase character in header name: Content-Type
# ./spec/request/parser_spec.rb:61:in 'block (2 levels) in <top (required)>'
6) Thin::Request parser should parse headers from GET request
Failure/Error: expect(request).to validate_with_lint
should validate with Rack Lint: uppercase character in header name: Content-Type
# ./spec/request/parser_spec.rb:83:in 'block (2 levels) in <top (required)>'
7) Thin::Request parser should parse POST request with data
Failure/Error: expect(request).to validate_with_lint
should validate with Rack Lint: uppercase character in header name: Content-Type
# ./spec/request/parser_spec.rb:114:in 'block (2 levels) in <top (required)>'
8) Thin::Request parser should not fuck up on stupid fucked IE6 headers
Failure/Error: expect(request).to validate_with_lint
should validate with Rack Lint: uppercase character in header name: Content-Type
# ./spec/request/parser_spec.rb:139:in 'block (2 levels) in <top (required)>'
9) Thin::Request parser shoud accept long query string
Failure/Error: expect(request).to validate_with_lint
should validate with Rack Lint: uppercase character in header name: Content-Type
# ./spec/request/parser_spec.rb:152:in 'block (2 levels) in <top (required)>'
10) Thin::Request parser should parse absolute request URI
Failure/Error: expect(request).to validate_with_lint
should validate with Rack Lint: uppercase character in header name: Content-Type
# ./spec/request/parser_spec.rb:204:in 'block (2 levels) in <top (required)>'
11) Thin::Request processing should parse in chunks
Failure/Error: expect(request).to validate_with_lint
should validate with Rack Lint: uppercase character in header name: Content-Type
# ./spec/request/processing_spec.rb:14:in 'block (2 levels) in <top (required)>'
12) Thin::Server on UNIX domain socket should retreive remote address
Failure/Error: expect(get('/')).to include('"REMOTE_ADDR"=>"127.0.0.1"')
expected "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nConnection: close\r\nServer: thin\r\n\r\n{\"SERVER_SOF...b/thin/connection.rb:95>, \"async.close\" => #<EventMachine::DefaultDeferrable:0x000072ddb0d1d570>}" to include "\"REMOTE_ADDR\" => \"127.0.0.1\""
Diff:
@@ -1 +1,6 @@
-"REMOTE_ADDR"=>"127.0.0.1"
+HTTP/1.1 200 OK
+Content-Type: text/html
+Connection: close
+Server: thin
+
+{"SERVER_SOFTWARE" => "thin 1.8.2 codename Ruby Razor", "SERVER_NAME" => "localhost", "rack.input" => #<StringIO:0x000072ddb1f04338>, "rack.version" => [1, 0], "rack.errors" => #<IO:<STDERR>>, "rack.multithread" => false, "rack.multiprocess" => false, "rack.run_once" => false, "REQUEST_METHOD" => "GET", "REQUEST_PATH" => "/", "PATH_INFO" => "/", "REQUEST_URI" => "/", "HTTP_VERSION" => "HTTP/1.1", "HTTP_CONNECTION" => "close", "GATEWAY_INTERFACE" => "CGI/1.2", "QUERY_STRING" => "", "SERVER_PROTOCOL" => "HTTP/1.1", "rack.url_scheme" => "http", "SCRIPT_NAME" => "", "REMOTE_ADDR" => "127.0.0.1", "async.callback" => #<Method: Thin::UnixConnection(Thin::Connection)#post_process(result) /build/ruby-thin/src/thin-1.8.2/lib/thin/connection.rb:95>, "async.close" => #<EventMachine::DefaultDeferrable:0x000072ddb0d1d570>}
# ./spec/server/unix_socket_spec.rb:15:in 'block (2 levels) in <top (required)>'
Finished in 2.08 seconds (files took 0.16385 seconds to load)
203 examples, 12 failures
Failed examples:
rspec ./spec/rack/loader_spec.rb:34 # Rack::Adapter should load File adapter
rspec ./spec/request/parser_spec.rb:11 # Thin::Request parser should include basic headers
rspec ./spec/request/parser_spec.rb:31 # Thin::Request parser should not prepend HTTP_ to Content-Type and Content-Length
rspec ./spec/request/parser_spec.rb:44 # Thin::Request parser should support fragment in uri
rspec ./spec/request/parser_spec.rb:55 # Thin::Request parser should parse path with query string
rspec ./spec/request/parser_spec.rb:64 # Thin::Request parser should parse headers from GET request
rspec ./spec/request/parser_spec.rb:86 # Thin::Request parser should parse POST request with data
rspec ./spec/request/parser_spec.rb:117 # Thin::Request parser should not fuck up on stupid fucked IE6 headers
rspec ./spec/request/parser_spec.rb:142 # Thin::Request parser shoud accept long query string
rspec ./spec/request/parser_spec.rb:188 # Thin::Request parser should parse absolute request URI
rspec ./spec/request/processing_spec.rb:4 # Thin::Request processing should parse in chunks
rspec ./spec/server/unix_socket_spec.rb:14 # Thin::Server on UNIX domain socket should retreive remote address
/usr/bin/ruby -I/usr/lib/ruby/gems/3.4.0/gems/rspec-support-3.13.2/lib:/usr/lib/ruby/gems/3.4.0/gems/rspec-core-3.13.1/lib /usr/lib/ruby/gems/3.4.0/gems/rspec-core-3.13.1/exe/rspec spec/backends/swiftiply_client_spec.rb spec/backends/tcp_server_spec.rb spec/backends/unix_server_spec.rb spec/command_spec.rb spec/connection_spec.rb spec/controllers/cluster_spec.rb spec/controllers/controller_spec.rb spec/controllers/service_spec.rb spec/headers_spec.rb spec/logging_spec.rb spec/rack/loader_spec.rb spec/rack/rails_adapter_spec.rb spec/request/mongrel_spec.rb spec/request/parser_spec.rb spec/request/persistent_spec.rb spec/request/processing_spec.rb spec/response_spec.rb spec/runner_spec.rb spec/server/builder_spec.rb spec/server/robustness_spec.rb spec/server/swiftiply_spec.rb spec/server/unix_socket_spec.rb spec/server_spec.rb -c -f progress failed
==> ERROR: A failure occurred in check().