couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Lehnardt <>
Subject Re: Javascript Test Suite
Date Wed, 27 Mar 2013 21:42:24 GMT

On Mar 27, 2013, at 22:39 , Wendall Cada <> wrote:

> On 03/27/2013 02:11 PM, Jan Lehnardt wrote:
>> On Mar 27, 2013, at 22:05 , Wendall Cada <> wrote:
>>> In 1.3.0, there is a new part of the test suite to run the javascript tests from
the command line. I'm running into various issues on different hardware/OS configurations.
Mostly, tests hanging or timing out and failing. These are really hard to troubleshoot, as
they all pass just fine if run individually.
>>> What I'm experimenting with today is rewriting how the tests are implemented
to be run one at a time from a loop in bash, versus a loop in javascript. I think the failures
I'm running into are improper setup/teardown. There may be an issue with rapid delete and
adding a db, or rapidly starting and stopping couchdb, but I think this is not what's happening
in my failures.
>>> The nature of spidermonkey doesn't allow for spawning threads, or sandboxing,
etc, so it's hard looking at the test suite to see how I can improve running all tests. I
think it's far better to have the setup spawn a new interpreter for each test. Tear down will
kill the interpreter.
>> Thanks for looking into these!
>> I seem to recall from an IRC conversation earlier that you have crashes in `couchjs`
that are unrelated to the test suite, but triggered by running it (on the cli) and that CouchDB
doesn’t deal with the crashes properly and thus leads to subsequent test errors due to hangs
or whatnot.
>> Any logs you could produce for any failures would be great, of course :)
>> Jan
>> --
> That's just the problem. To get something useful, I'll need to be able to isolate the
tests individually where they fail. Since they run quite well individually, and nothing is
logged as a result, this is a tough request. There are some very repeatable conditions that
arise. 1. Shutdown doesn't actually shut down couchdb between tests. 2. The javascript interpreter
hangs indefinitely 3. The javascript interpreter crashes . I could get some working gdb output,
but the tests aren't really designed well for this. Hence why I want to have these run a bit
differently. Each test in isolation. Then we'll be testing CouchDB and not the test suite,
or hardware limitations, or other unknown environmental variables.

Sounds like a plan, good luck, holler if you need help :)


View raw message