- * Package: www-servers/thin-1.3.1
- * Repository: gentoo
- * Maintainer: ruby@gentoo.org
- * USE: abi_x86_64 amd64 doc elibc_glibc kernel_linux multilib ruby_targets_ruby18 ruby_targets_ruby19 test userland_GNU
- * FEATURES: sandbox test userpriv usersandbox
- Installed LAPACK for library directory lib64
- [1] reference *
- Installed BLAS for library directory lib64
- [1] reference *
- Installed CBLAS for library directory lib64
- [1] gsl
- [2] reference *
- >>> Unpacking source...
- * Running unpack phase for all ...
- * Unpacking .gem file... ...
- [ ok ]
- * Uncompressing metadata ...
- [ ok ]
- * Unpacking data.tar.gz ...
- [ ok ]
- >>> Source unpacked in /tmp/portage/www-servers/thin-1.3.1/work
- >>> Preparing source in /tmp/portage/www-servers/thin-1.3.1/work ...
- * Running prepare phase for all ...
- * Running source copy phase for ruby18 ...
- * Running source copy phase for ruby19 ...
- >>> Source prepared.
- >>> Configuring source in /tmp/portage/www-servers/thin-1.3.1/work ...
- >>> Source configured.
- >>> Compiling source in /tmp/portage/www-servers/thin-1.3.1/work ...
- * Running compile phase for ruby18 ...
- Invalid gemspec in [/usr/lib64/ruby/gems/1.8/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
- rake/gempackagetask is deprecated. Use rubygems/package_task instead
- WARNING: 'require 'rake/rdoctask'' is deprecated. Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead.
- at /usr/lib64/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/rdoctask.rb
- mkdir -p tmp/x86_64-linux/thin_parser/1.8.7
- cd tmp/x86_64-linux/thin_parser/1.8.7
- /usr/bin/ruby18 -I. ../../../../ext/thin_parser/extconf.rb
- checking for main() in -lc... yes
- creating Makefile
- cd -
- cd tmp/x86_64-linux/thin_parser/1.8.7
- gmake
- x86_64-pc-linux-gnu-gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I../../../../ext/thin_parser -fPIC -O2 -pipe -ggdb -march=native -ftracer -frecord-gcc-switches -fno-strict-aliasing -fPIC -c ../../../../ext/thin_parser/parser.c
- x86_64-pc-linux-gnu-gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I../../../../ext/thin_parser -fPIC -O2 -pipe -ggdb -march=native -ftracer -frecord-gcc-switches -fno-strict-aliasing -fPIC -c ../../../../ext/thin_parser/thin.c
- x86_64-pc-linux-gnu-gcc -shared -o thin_parser.so parser.o thin.o -L. -L/usr/lib64 -Wl,-R/usr/lib64 -L. -Wl,-O1 -Wl,--as-needed -rdynamic -Wl,-export-dynamic -Wl,--no-undefined -Wl,-R -Wl,/usr/lib64 -L/usr/lib64 -lruby18 -lc -lpthread -lrt -ldl -lcrypt -lm -lc
- cd -
- install -c tmp/x86_64-linux/thin_parser/1.8.7/thin_parser.so lib/thin_parser.so
- * Running compile phase for ruby19 ...
- Invalid gemspec in [/usr/lib64/ruby/gems/1.9.1/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
- rake/gempackagetask is deprecated. Use rubygems/package_task instead
- WARNING: 'require 'rake/rdoctask'' is deprecated. Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead.
- at /usr/lib64/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/rdoctask.rb
- mkdir -p tmp/x86_64-linux/thin_parser/1.9.3
- cd tmp/x86_64-linux/thin_parser/1.9.3
- /usr/bin/ruby19 -I. ../../../../ext/thin_parser/extconf.rb
- checking for main() in -lc... yes
- creating Makefile
- cd -
- cd tmp/x86_64-linux/thin_parser/1.9.3
- gmake
- compiling ../../../../ext/thin_parser/parser.c
- compiling ../../../../ext/thin_parser/thin.c
- ../../../../ext/thin_parser/thin.c: In function 'http_field':
- ../../../../ext/thin_parser/thin.c:82:3: warning: format not a string literal and no format arguments [-Wformat-security]
- ../../../../ext/thin_parser/thin.c:83:3: warning: format not a string literal and no format arguments [-Wformat-security]
- ../../../../ext/thin_parser/thin.c: In function 'request_uri':
- ../../../../ext/thin_parser/thin.c:114:3: warning: format not a string literal and no format arguments [-Wformat-security]
- ../../../../ext/thin_parser/thin.c: In function 'fragment':
- ../../../../ext/thin_parser/thin.c:125:3: warning: format not a string literal and no format arguments [-Wformat-security]
- ../../../../ext/thin_parser/thin.c: In function 'request_path':
- ../../../../ext/thin_parser/thin.c:136:3: warning: format not a string literal and no format arguments [-Wformat-security]
- ../../../../ext/thin_parser/thin.c: In function 'query_string':
- ../../../../ext/thin_parser/thin.c:148:3: warning: format not a string literal and no format arguments [-Wformat-security]
- ../../../../ext/thin_parser/thin.c: In function 'Thin_HttpParser_execute':
- ../../../../ext/thin_parser/thin.c:337:5: warning: format not a string literal and no format arguments [-Wformat-security]
- linking shared-object thin_parser.so
- cd -
- install -c tmp/x86_64-linux/thin_parser/1.9.3/thin_parser.so lib/thin_parser.so
- * Running compile phase for all ...
- >>> Source compiled.
- * Running test phase for ruby18 ...
- Invalid gemspec in [/usr/lib64/ruby/gems/1.8/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
- rake/gempackagetask is deprecated. Use rubygems/package_task instead
- WARNING: 'require 'rake/rdoctask'' is deprecated. Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead.
- at /usr/lib64/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/rdoctask.rb
- Invalid gemspec in [/usr/lib64/ruby/gems/1.8/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
- which: no swiftiply in (/usr/lib64/portage/bin/ebuild-helpers:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.7.2:/opt/dmd/bin:/usr/lib/plan9/bin:/opt/c3-4:/usr/x86_64-pc-linux-gnu/gnat-gcc-bin/4.5:/usr/libexec/gnat-gcc/x86_64-pc-linux-gnu/4.5:/usr/libexec/gpc/x86_64-pc-linux-gnu/3.4:/opt/nvidia-cg-toolkit/bin:/opt/tivoli/tsm/client/ba/bin:/opt/eagle-5.11.0/bin:/opt/aws-as-tools/bin:/opt/aws-elb-tools/bin:/opt/aws-iam-tools/bin:/opt/cuda/bin:/opt/ec2-ami-tools/bin:/opt/ec2-api-tools/bin)
- Rails 2.0.2 is required to run the Rails adapter specs
- Example disabled: should parse absolute request URI
- Ignoring Server on Swiftiply specs, gem install swiftiply to run
- Thin::Backends::SwiftiplyClient
- - should connect
- - should disconnect
- Thin::SwiftiplyConnection
- - should be persistent
- - should send handshake on connection_completed
- - should reconnect on unbind
- - should not reconnect when not running
- - should have a host_ip
- - should generate swiftiply_handshake based on key
- Thin::Backends::TcpServer
- - should not use epoll
- - should use epoll
- - should connect
- - should disconnect
- Thin::Backends::UnixServer
- - should connect
- - should disconnect
- - should remove socket file on close
- Thin::UnixConnection
- - should return 127.0.0.1 as remote_address
- Thin::Command
- - should shellify command
- - should shellify Array argument to multiple parameters
- - should convert _ to - in option name
- Thin::Connection
- - should parse on receive_data
- - should close connection on InvalidRequest error in receive_data
- - should process when parsing complete
- - should process
- - should rescue error in process
- - should rescue Timeout error in process
- - should not return HTTP_X_FORWARDED_FOR as remote_address
- - should return nil on error retreiving remote_address
- - should return nil on nil get_peername
- - should return nil on empty get_peername
- - should return remote_address
- - should not be persistent
- - should be persistent when response is and allowed
- - should not be persistent when response is but not allowed
- - should set request env as rack.multithread
- - should set as threaded when app.deferred? is true
- - should not set as threaded when app.deferred? is false
- - should not set as threaded when app do not respond to deferred?
- Thin::Controllers::Cluster with host and port
- - should include port number in file names
- - should call each server
- - should start on each port
- - should stop on each port
- Thin::Controllers::Cluster with UNIX socket
- - should include socket number in file names
- - should exclude :address and :port options
- - should call each server
- - should start each server
- - should stop each server
- Thin::Controllers::Cluster controlling only one server
- - should call only specified server
- - should start only specified server
- Thin::Controllers::Cluster controlling only one server with UNIX socket
- - should call only specified server
- Thin::Controllers::Cluster controlling only one server, by sequence number
- - should call only specified server
- - should start only specified server
- Thin::Controllers::Cluster with Swiftiply
- - should call each server
- - should start each server
- - should stop each server
- Thin::Controllers::Cluster rolling restart
- - should restart servers one by one
- Thin::Controllers::Controller start
- - should configure server
- - should start as daemon
- - should configure Rails adapter
- - should mount app under :prefix
- - should mount Stats adapter under :stats
- - should load app from Rack config
- - should load app from ruby file
- - should throwup if rackup is not a .ru or .rb file
- - should set server as threaded
- - should set RACK_ENV
- Thin::Controllers::Controller
- - should stop
- - should restart
- - should write configuration file
- Thin::Controllers::Service
- - should call command for each config file
- - should create /etc/init.d/thin file when calling install
- - should create /etc/thin dir when calling install
- - should include specified path in /etc/init.d/thin script
- Thin::Headers
- - should allow duplicate on some fields
- - should overwrite value on non duplicate fields
- - should output to string
- - should ignore nil values
- - should format Time values correctly
- Thin::Logging
- - should output debug when set to true
- - should output trace when set to true
- - should not output when silenced
- - should not output when silenced as instance method
- - should be usable as module functions
- - should print errors to STDERR
- Rack::Adapter
- - should load Rack app from config
- - should guess Rack app from dir
- - should guess rails app from dir
- - should return nil when can't guess from dir
- - should load Rack adapter
- - should load Rails adapter
- - should load File adapter
- - should raise error when adapter can't be found
- Rack::Adapter::Rails Adapter version
- - should use Rack based adapter when Rails = 2.2.3
- - should not use Rack based adapter when Rails < 2.2.3
- - should not use Rack based adapter when Rails = 1.2.3
- - should use Rack based adapter when Rails = 3.0.0
- Thin::Request legacy Mongrel tests
- - should raise error on large header names
- - should raise error on large mangled field values
- - should raise error on big fat ugly headers
- - should raise error on random garbage
- Thin::Request parser
- - should include basic headers
- - should not prepend HTTP_ to Content-Type and Content-Length
- - should raise error on invalid request line
- - should support fragment in uri
- - should parse path with query string
- - should parse headers from GET request
- - should parse POST request with data
- - should not fuck up on stupid fucked IE6 headers
- - shoud accept long query string
- - should parse even with stupid Content-Length
- - should parse ie6 urls
- - should fails on heders larger then MAX_HEADER
- - should default SERVER_NAME to localhost
- - should normalize http_fields
- - should parse PATH_INFO with semicolon
- - should parse IE7 badly encoded URL
- Thin::Request persistent
- - should not assume that a persistent connection is maintained for HTTP version 1.0
- - should assume that a persistent connection is maintained for HTTP version 1.0 when specified
- - should maintain a persistent connection for HTTP/1.1 client
- - should maintain a persistent connection for HTTP/1.1 client by default
- - should not maintain a persistent connection for HTTP/1.1 client when Connection header include close
- Thin::Request processing
- - should parse in chunks
- - should move body to tempfile when too big
- - should delete body tempfile when closing
- - should raise error when header is too big
- - should set body external encoding to ASCII_8BIT (PENDING: Ruby 1.9 compatible implementations only)
- Thin::Response
- - should output headers
- - should include server name header
- - should output head
- - should allow duplicates in headers
- - should parse simple header values
- - should parse multiline header values in several headers
- - should ignore nil headers
- - should output body
- - should output String body
- - should not be persistent by default
- - should not be persistent when no Content-Length
- - should be persistent when the status code implies it should stay open
- - should be persistent when specified
- - should be closeable
- Thin::Runner
- - should parse options
- - should parse specified command
- - should abort on unknow command
- - should exit on empty command
- - should use Controller when controlling a single server
- - should use Cluster controller when controlling multiple servers
- - should default to single server controller
- - should consider as a cluster with :servers option
- - should consider as a cluster with :only option
- - should warn when require a rack config file
- - should require file
- - should remember requires
- - should remember debug options
- - should default debug and trace to false
- Thin::Runner with config file
- - should load options from file with :config option
- - should change directory after loading config
- Thin::Runner service
- - should use Service controller when controlling all servers
- - should call install with arguments
- - should call install without arguments
- Thin::Server app builder
- - should build app from constructor
- - should build app from builder block
- - should use middlewares in builder block
- - should work with Rack url mapper
- Thin::Server robustness
- - should not crash when header too large (FAILED - 1)
- Thin::Server stopping
- - should wait for current requests before soft stopping
- - should not accept new requests when soft stopping
- - should drop current requests when hard stopping
- Thin::Server on UNIX domain socket
- - should accept GET request
- - should retreive remote address
- - should remove socket file after server stops
- Thin::Server
- - should set maximum_connections size
- - should set lower maximum_connections size when too large
- - should default to non-threaded
- - should set backend to threaded
- Thin::Server initialization
- - should set host and port
- - should set socket
- - should set host, port and app
- - should set socket and app
- - should set socket, nil and app
- - should set host, port and backend
- - should set host, port, app and backend
- - should set port as string
- - should not register signals w/ :signals => false
- Daemonizing
- - should have a pid file
- - should create a pid file
- - should redirect stdio to a log file
- - should change privilege
- - should kill process in pid file
- - should send kill signal if timeout
- - should restart
- - should ignore if no restart block specified
- - should not restart when not running
- - should exit and raise if pid file already exist
- - should should delete pid file if stale
- Pending:
- Thin::Request processing should set body external encoding to ASCII_8BIT (Ruby 1.9 compatible implementations only)
- ./spec/request/processing_spec.rb:46
- 1)
- Errno::ETIMEDOUT in 'Thin::Server robustness should not crash when header too large'
- Connection timed out
- ./spec/server/robustness_spec.rb:19:in `write'
- ./spec/server/robustness_spec.rb:19:
- ./spec/server/robustness_spec.rb:18:in `times'
- ./spec/server/robustness_spec.rb:18:
- ./spec/server/robustness_spec.rb:12:in `times'
- ./spec/server/robustness_spec.rb:12:
- /usr/lib64/ruby/1.8/timeout.rb:53:in `timeout'
- Finished in 997.284735 seconds
- 193 examples, 1 failure, 1 pending
- rake aborted!
- Command /usr/bin/ruby18 -I"lib" "/usr/lib64/ruby/gems/1.8/gems/rspec-1.3.2/bin/spec" "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/stopping_spec.rb" "spec/server/swiftiply_spec.rb" "spec/server/unix_socket_spec.rb" "spec/server_spec.rb" "spec/daemonizing_spec.rb" -fs -c failed
- Tasks: TOP => spec
- (See full trace by running task with --trace)
- * ERROR: www-servers/thin-1.3.1 failed (test phase):
- * tests failed
- *
- * Call stack:
- * ebuild.sh, line 93: Called src_test
- * environment, line 4708: Called ruby-ng_src_test
- * environment, line 4387: Called _ruby_each_implementation 'each_ruby_test'
- * environment, line 668: Called _ruby_invoke_environment 'ruby18' 'each_ruby_test'
- * environment, line 720: Called each_ruby_test
- * environment, line 1026: Called each_fakegem_test
- * environment, line 1003: Called die
- * The specific snippet of code:
- * ${RUBY} -S rake ${RUBY_FAKEGEM_TASK_TEST} || die "tests failed"
- *
- * If you need support, post the output of `emerge --info '=www-servers/thin-1.3.1'`,
- * the complete build log and the output of `emerge -pqv '=www-servers/thin-1.3.1'`.
- !!! When you file a bug report, please include the following information:
- GENTOO_VM= CLASSPATH="/usr/libexec/ccp4/bin:/usr/libexec/ccp4/bin:" JAVA_HOME="/etc/java-config-2/current-system-vm"
- JAVACFLAGS="" COMPILER=""
- and of course, the output of emerge --info
- * The complete build log is located at '/var/log/portage/www-servers:thin-1.3.1:20130204-211618.log'.
- * For convenience, a symlink to the build log is located at '/tmp/portage/www-servers/thin-1.3.1/temp/build.log'.
- * The ebuild environment file is located at '/tmp/portage/www-servers/thin-1.3.1/temp/environment'.
- * Working directory: '/tmp/portage/www-servers/thin-1.3.1/work/ruby18/thin-1.3.1'
- * S: '/tmp/portage/www-servers/thin-1.3.1/work/ruby18/thin-1.3.1'
- >>> Install thin-1.3.1 into /tmp/portage/www-servers/thin-1.3.1/image/ category www-servers
- * Running install phase for ruby18 ...
- Invalid gemspec in [/usr/lib64/ruby/gems/1.8/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
- * Running install phase for ruby19 ...
- Invalid gemspec in [/usr/lib64/ruby/gems/1.9.1/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
- * Running install phase for all ...
- *
- * Thin is now shipped with init scripts.
- * The default script (/etc/init.d/thin) will start all servers that have
- * configuration files in /etc/thin/. You can symlink the init script to
- * files of the format 'thin.SERVER' to be able to start individual servers.
- * See /etc/conf.d/thin for more configuration options.
- *
- * Running check install phase for ruby18 ...
- * Running check install phase for ruby19 ...
- >>> Completed installing thin-1.3.1 into /tmp/portage/www-servers/thin-1.3.1/image/
- strip: x86_64-pc-linux-gnu-strip --strip-unneeded -R .comment -R .GCC.command.line
- usr/lib64/ruby/gems/1.9.1/gems/thin-1.3.1/lib/thin_parser.so
- usr/lib64/ruby/gems/1.8/gems/thin-1.3.1/lib/thin_parser.so