Date | Commit message (Collapse) |
|
No point in having those files under revision control or
repeating work to generate them.
|
|
* Documented Unicorn::HttpParser API methods
* Keep GPL2 (COPYING) as-is without RDoc formatting.
* The auto-generated index.html is stupid, replace it with
README which looks saner.
|
|
|
|
More tightly integrate the C/Ruby portions with C/Ragel to avoid
the confusing the flow. Split out some files into hopefully
logical areas so it's easier to focus on more
interesting/volatile code.
|
|
But keep it in the Manifest
|
|
test/test_helper doesn't seem to be required correctly anymore,
since we know our own module/test names don't conflict, just
fix RUBYLIB to include $(test_prefix)
With test_util.rb, using #reopen with Tempfile objects seems
prone to the objects being closed. Not completely sure what is
going on but I'll just sidestep around it since I've stopped
trusting Tempfile by now...
|
|
We couldn't do proper namespacing for the C module so there was
a potential conflict with Init_http11() in Mongrel. This was
needed because Mongrel's HTTP parser could be used in some
applications and we may be unfortunate enough need to support
them.
|
|
This can allow you to run make with:
TRACER='strace -f -o $(t).strace -s 100000'
to debug a test failure (it should be usable with truss,
ltrace, and other similar tools).
|
|
|
|
Easier to maintain and add new executables this way
|
|
|
|
Installation dependencies weren't being resolved correctly
(since "install-test") wasn't .PHONY. Removed the
"install-test" target entirely since it should never
be invoked by hand.
On the other hand, "ragel" can be useful to invoke by hand
so add a target for that.
|
|
There's no point in having redefinable callbacks if they're
always going to be pointed to the same function. This reduces
the size of the http_parser structure to half its original size.
This change may actually make more sense in servers Mongrel/Thin
than Unicorn since Unicorn only has one parser per-process while
other servers can have hundreds or even thousands.
|
|
It's fast under 1.8, but 1.9 performance is really
terrible, so run the tests in parallel.
|
|
I have a nice hook in git that complains when trailing
whitespace is present.
|
|
|
|
|
|
The $(test_prefix)/.stamp file must be a dependency of the
parent make process otherwise the slow %.n children won't be
able to communicate the dependency up to the other non-slow
tests.
|
|
Run tests with warnings so we detect stupid things like this.
|
|
As usual, spit out all the test output if something fails. But
allow people who like to see things scroll by see things scroll
by. Quiet down the Rails tests by default, too.
|
|
It was wrapping in my 80 column terminal when prefixed
with some text.
|
|
This is to prevent the shebang line from being clobbered
by setup.rb which does the rest of the heavy lifting.
While we're at it, remove the dependency on git, too.
|
|
Otherwise it's hard to tell which version of Rails
test failed when we ran tests in parallel.
|
|
Very preliminary for now. Basically just sets up a basic
controller and response. Requires git to clone the official
Rails repository.
|
|
This makes it easy to run unit or exec tests
independently of the other.
Removed the unused slow-tests targets.
|
|
Echoe/Rake seems to be loading the wrong version, tired
of fighting it and figuring out what it's doing...
|
|
Avoid conflicting with existing (and future) Mongrel installs in
case either changes. Of course, this also allows us more
freedom to experiment and break the API if needed...
However, I'm only planning on making minor changes to
remove the amount of C code we have to maintain and
possibly some minor performance improvements.
|
|
Add a install-test for doing a mock install with private http11
and bin/unicorn and appropriate PATH/RUBYLIB env.
Also add a normal install target so we can just type
"make install" and just be done with a regular
installation (and it'll revert files if using git).
I use the following local.mk to augment my GNUmakefile. It
allows me to run "make -j full-test" and run both 1.8 and 1.9
tests in parallel.
--------------------------- 8< -------------------------
DLEXT := so
rack_ver := 0.9.1
ifeq ($(r19),)
ruby := $(HOME)/bin/ruby
RUBYLIB := $(HOME)/lib/ruby/gems/1.8/gems/rack-$(rack_ver)/lib
else
export PATH := $(HOME)/ruby-1.9/bin:$(PATH)
ruby := $(HOME)/ruby-1.9/bin/ruby
RUBYLIB := $(HOME)/ruby-1.9/lib/ruby/gems/1.9.1/gems/rack-$(rack_ver)/lib
endif
SHELL := /bin/bash -e -o pipefail
full-test: test-18 test-19
test-18:
$(MAKE) test 2>&1 | sed -u -e 's!^!1.8 !'
test-19:
$(MAKE) test r19=1 2>&1 | sed -u -e 's!^!1.9 !'
--------------------------- 8< -------------------------
|
|
Add a make task for updating it, too.
|
|
Makes it much easier to track down failures if you know
something failed in the first place. A failed test early on
could be hidden because noise from successful tests drowned it
out.
|
|
Running Rake is too slow for me to do builds on, and
I don't have net access to install the Echoe gem at
the moment for Ruby 1.9...
|
|
Some of the tests here are horrifically slow due to sleeps,
allow using gmake to run these tests in parallel. My Core2 Duo
runs "make -j" over 10s faster than "rake".
|