summary refs log tree commit homepage
path: root/t
AgeCommit message (Collapse)AuthorFilesLines
2011-06-10ev_core: do not autochunk HTTP/1.0 (and 0.9) responsesEric Wong1-10/+20
Do not assume middlewares/applications are stupid and blindly add chunking to responses (we have precedence set by Rack::Chunked).
2011-06-09tests: more fixes for StreamResponseEpollEric Wong2-6/+5
2011-06-09t/t9002: use Rack::HeadEric Wong1-0/+1
We send HEAD requests and expect body-less responses. Noticed while running a newer rack version after re-isolating.
2011-06-09update various RubyGem dependenciesEric Wong1-3/+3
Gotta keep using the latest and greatest.
2011-06-09stream_response_epoll: our most "special" concurrency option yetEric Wong28-0/+30
This doesn't use Rainbows::Base so we have no keepalive support at all. This could eventually be an option for streaming applications.
2011-05-30test-lib: enable splice(2) for Linux 3.xEric Wong1-0/+3
The latest Linux series is now 3.x, not 2.6.x
2011-05-21use and recommend sleepy_penguin 3.0.1Eric Wong1-1/+1
It's better under 1.9.3 (sleepy_penguin 3.0.1 was bogus)
2011-05-21use and recommend sleepy_penguin 3.0.0Eric Wong1-1/+1
It's better under 1.9.3
2011-05-21t0044: increase test reliabilityEric Wong1-35/+36
2011-05-20add tests for Kgio autopush on LinuxEric Wong2-0/+122
We can support it fully for a subset of concurrency models where we have full control over buffering and HTTP/1.1 keepalive clients.
2011-05-20add test for SIGQUIT disconnectEric Wong1-0/+59
This will only be supported for certain concurency models, but it's probably good enough.
2011-05-17doc: recommend io_splice 4.1.1 or laterEric Wong1-1/+1
io_splice 4.1.1 works around issues with socket buffers filling up pipe buffers on blocking splice. See for a better explanation.
2011-05-16tests: unify checks for copy_stream and threaded app dispatchEric Wong6-55/+36
This makes things easier to maintain as we add more concurrency options.
2011-05-16add "copy_stream" config directiveEric Wong4-1/+141
This allows using IO::Splice.copy_stream from the "io_splice" RubyGem on recent Linux systems. This also allows users to disable copy_stream usage entirely and use traditional response_body.each calls which are compatible with all Rack servers (to workaround bugs in IO.copy_stream under 1.9.2-p180).
2011-05-10configurator: move validation logic overEric Wong1-1/+3
There's actually no reason we can't have these methods in Rainbows::Configurator where it's easier to document nowadays.
2011-05-09xepoll_thread_pool: add optional :pool_size argumentEric Wong1-1/+1
We're now able to configure the number of threads independently of worker_connections.
2011-05-09t0041: less confusing skip messageEric Wong1-1/+1
Just the test name is irrelevant
2011-05-09add XEpollThreadPool concurrency optionEric Wong2-0/+11
This is probably friendlier on server resources in the worst case than XEpollThreadSpawn but may perform worse in the client client-visible way, too.
2011-05-08require kgio 2.4.0Eric Wong1-0/+1
kgio 2.4.0 has some 1.9.3dev fixes which affect us
2011-05-06test_isolate: update to latest raindrops and unicornEric Wong1-2/+2
Newer versions should be better
2011-05-03add client_header_buffer_size tuning parameterEric Wong2-0/+68
We're changing our default to 1K buffers to save memory. This should reduce memory usage of idle clients and lower pressure on the MRI GC. Rails applications using session cookies (the default) may want to up this to 2K or more.
2011-04-29xepoll_thread_spawn: initial implementationEric Wong5-0/+14
Whee! This is going to be awesome.
2011-04-21bump dependency to Unicorn 3.6.0Eric Wong1-1/+1
Might as well use the latest and greatest.
2011-04-11t: only enable Revactor tests under 1.9.2 for nowEric Wong1-1/+3
Revactor doesn't seem to work under 1.9.3dev, and Revactor is dead upstream.
2011-03-15bump Unicorn dependency to 3.5.0Eric Wong1-1/+1
Latest and greatest :D
2011-03-10test_isolate: bump dependenciesEric Wong1-4/+5
New sendfile gem will give us IO#trysendfile. We might as well use and test the latest and greatest versions of everything else since thats what users pull in by default.
2011-02-15tests: updates for cramp 0.12Eric Wong3-6/+6
The Cramp::Controller namespace is gone.
2011-02-07Revert t/bin/unused_listen simplificationEric Wong1-2/+15
This conflicts with ports clients may automatically use in the ephemeral range. This reverts commit c9a7560bb684bbdadb641ebc7597303f38c37d4f.
2011-02-07new test for optional :pool_size handlingEric Wong1-0/+51
This will help prevent us from breaking :pool_size in the future.
2011-02-04rename XAcceptEpoll to XEpollEric Wong4-4/+4
It's too long especially since XEpollThreadPool is planned :>
2011-02-04test_isolate: use latest UnicornEric Wong1-1/+1
It supports IPv6 and pulls in a better Kgio. Since Unicorn defaults to ":tcp_nopush => true", we need to flip it back to false to be compatible with the types of apps Rainbows! is targetted as.
2011-02-04tests: replace several sed invocations with edEric Wong4-15/+23
ed can do in-place editing portably, unlike sed.
2011-02-04epoll: handle EINTR properly in Ruby-spaceEric Wong1-1/+1
We can't work around it effectively in the C extension itself. This requires the latest sleepy_penguin gem.
2011-02-04test_isolate: only load sleepy_penguin under LinuxEric Wong1-1/+1
It's Linux-only, after all
2011-02-04t/bin/unused_listen: simplify thisEric Wong1-15/+2
Binding to a random port is much easier this way
2011-01-27test for client_max_body_size being zeroEric Wong1-0/+58
Some users never, ever accept uploads, so we should test for it.
2011-01-26GNUmakefile: only enable epoll-based models in LinuxEric Wong1-2/+4
epoll is Linux-only right now. kqueue probably isn't worth supporting directly (and even direct epoll support is debatable given the current GVL situation)
2011-01-24initial XAcceptEpoll concurrency modelEric Wong5-2/+13
Edge-triggered epoll concurrency model with blocking accept() in a (hopefully) native thread. This is recommended over Epoll for Ruby 1.9 users as it can workaround accept()-scalability issues on multicore machines.
2011-01-21epoll: use newer sleepy_penguinEric Wong1-1/+1
We can eliminate the State module to simplify our code since 1.3.x keeps better track of things.
2011-01-19dev_fd_response: do not send chunks to 1.0 clientsEric Wong1-0/+56
chunked Transfer-Encoding is only valid for HTTP/1.1
2011-01-19t0035: kgio-pipe-response works everywhereEric Wong1-7/+0
Or at least it should :)
2011-01-19t0023: use skip_models helperEric Wong1-7/+1
we need to get in the habit of using this more
2011-01-19initial edge-triggered epoll modelEric Wong8-3/+26
Coolio and EventMachine only use level-triggered epoll, but being Rainbows!, we live on the EDGE!
2011-01-19tests: content-md5 tests shut down connectionEric Wong2-0/+3
This makes content-md5 tests much faster since we no longer wait for the server to to timeout.
2011-01-14t0050: improve test reliabilityEric Wong1-1/+2
normal signals can get lost easily :<
2011-01-14tests: bump rack-fiber_pool version to 0.9.1Eric Wong2-2/+7
We always try to track the latest and greatest. We've also updated the test to actually test concurrency since rack-fiber_pool reuses recent fibers now.
2011-01-11add write-on-close test from UnicornEric Wong2-0/+34
We need to ensure this esoteric feature keeps working for some people.
2011-01-11event_machine: buffer reads when waiting for async.callbackEric Wong1-1/+21
We cannot trigger on_read events and invoke the HTTP parser and modify @env while we're waiting for an application to run async.callback. We also need to clear (and *maybe* re-set) @deferred if we're writing from async.callback
2011-01-11coolio: enable async.callback for one-shot body responsesEric Wong2-14/+72
The lack of an equivlent to EM::Deferrable prevents us from doing streaming/trickling responses, but a one-shot body should work fine for Coolio and generating dynamic responses.
2011-01-07redirect unexpected test output to /dev/nullEric Wong1-1/+1
We check the return code anyways, and spewing random binary data to the terminal with verbosity on is not a good idea.