On 03/27/2013 02:11 PM, Jan Lehnardt wrote:
On Mar 27, 2013, at 22:05 , Wendall Cada <wenda...@apache.org> 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.
Wendall