Fix hang when running tests on OpenBSD by skipping two tests

Eric Wong normalperson at
Mon Nov 14 22:17:44 EST 2011

Jeremy Evans <jeremyevans0 at> wrote:
> On Mon, Nov 14, 2011 at 9:54 PM, Eric Wong <normalperson at> wrote:
> > Jeremy Evans <jeremyevans0 at> wrote:
> >> This is obviously not a permanent fix, but I'm not sure why the tests
> >> are hanging, and hanging during a test is bad.  I suppose you could
> >> also use a timeout, so the test fails instead of hangs.  I'll be happy
> >> to test other patches to either the test suite or the library code
> >> (assuming the hang is fixable on OpenBSD).
> >
> > I'd like to investigate why this fails.
> Makes sense.  Is there something I can do to help debug?

I normally use "set -x" (using the "V=2" env for gmake should enable it)
or strace (or whatever the OpenBSD equivalent is).

Syscall tracers are *much* easier to follow under MRI 1.9.3 than 1.9.2
due to the timer-thread being non-polling.  I always use "-f" to strace
nowadays to follow process/thread creations.

> > So everything under t/ (gmake test-integration) works, too?
> > I much prefer shell-based the test suite myself
> I didn't even know about that test suite till now. :)
> I started running those tests on OpenBSD.  With the way the test suite
> is currently setup, it's a bit of a pain to debug, as it stops at the
> first error.  So I have to:

I usually prefer to work on each problem, one-at-a-time.  However,
GNU make already has a handy -k/--keep-going flag to ignore failures.

I also use "set -e" in all my shell scripts to catch errors early on.

> ruby 1.9.3 has a couple regular test failures (skipping the two hangs
> with the earlier patch):
> :   1) Error:
> : test_parse_error(HttpParserTest):
> : RuntimeError: can't set length of shared string
> :     test/unit/test_http_parser.rb:350:in `headers'
> :     test/unit/test_http_parser.rb:350:in `test_parse_error'

That's odd, is this with the latest version? (4.1.1)
I thought I fixed all of those issues several months ago...

> :   1) Failure:
> : test_help(ExecTest) [test/exec/test_exec.rb:319]:
> : <0> expected but was
> : <158>.

Can you dump out "test_stderr.#$$.log" just before that assertion?


More information about the mongrel-unicorn mailing list