Reinstalled Erlang and the weird SSL problems went away.
Unit tests fail for me.
-
replicator_db
error
3001ms
Run with debugger
• Exception raised: {}
rev_stemming
error
7ms
Run with debugger
• Exception raised: {}
rewrite
error
10ms
Run with debugger
• Exception raised: {}
security_validation
error
6ms
Run with debugger
• Exception raised: {}
show_documents
error
11ms
Run with debugger
• Exception raised: {}
stats
error
7ms
Run with debugger
• Exception raised: {}
update_documents
error
5ms
Run with debugger
• Exception raised: {}
users_db
error
4ms
Run with debugger
• Exception raised: {}
-
Tried to re-run these tests in with debug on, but Firefox locked up.
The tests lock up on me all the time. And I don't mean, while they're running
through, as expected. When they fail, or I try to restart one, basically, the
whole thing just freezes. I never seem to be able to do much more, other than
restart Firefox. I'm not sure why this happens, but I really wish it wouldn't.
Makes testing harder than it could be.
-
After restarting Firefox all these tests pass.
Very weird.
Going to run the whole test suite again.
—
auth_cache fails
assertion misses_after == misses_before +1 failed
assertion hits_after == hits_before failed
cookie_auth fails
"error": "file_exists"
The test suite then hung on replicator_db again.
Killing Firefox and trying again.
—
auth_cache fails
assertion misses_after == misses_before +1 failed
assertion hits_after == hits_before failed
The test suite then hung on replicator_db again.
Killing Firefox and trying again, manually.
Note I was not able to get debug output because the test suite hangs Firefox.
I don't see anything happening in the CouchDB log either.
So my best guess is that Firefox is just looping over something mindlessly.
—
Running auth_cache manually lots of times produces no errors.
Running through all the tests manually from the start.
cookie_auth fails again for the same reason.
Ran with debug:
Exception raised: {"message":"ddoc is
null","fileName":"http://127.0.0.1:5985/_utils/script/test/cookie_auth.js","lineNumber":41,"stack":"()@http://127.0.0.1:5985/_utils/script/test/cookie_auth.js:41\u000arun_on_modified_server([object
Array],(function () {try {var usersDb = new CouchDB(\"test_suite_users\",
{'X-Couch-Full-Commit': \"false\"});usersDb.deleteDb();usersDb.createDb();var
ddoc = usersDb.open(\"_design/_auth\");T(ddoc.validate_doc_update);var password
= \"3.141592653589\";var jasonUserDoc = CouchDB.prepareUserDoc({name: \"Jason
Davies\", roles: [\"dev\"]}, password);T(usersDb.save(jasonUserDoc).ok);var
checkDoc = usersDb.open(jasonUserDoc._id);T(checkDoc.name == \"Jason
Davies\");var jchrisUserDoc = CouchDB.prepareUserDoc({name:
\"[email protected]\"}, \"funnybone\");T(usersDb.save(jchrisUserDoc).ok);var
duplicateJchrisDoc = CouchDB.prepareUserDoc({name: \"[email protected]\"},
\"eh, Boo-Boo?\");try {usersDb.save(duplicateJchrisDoc);T(false && \"Can't
create duplicate user names. Should have thrown an error.\");} catch (e)
{T(e.error == \"conflict\");T(usersDb.last_req.status == 409);}var
underscoreUserDoc = CouchDB.prepareUserDoc({name: \"_why\"},
\"copperfield\");try {usersDb.save(underscoreUserDoc);T(false && \"Can't create
underscore user names. Should have thrown an error.\");} catch (e) {T(e.error
== \"forbidden\");T(usersDb.last_req.status == 403);}var badIdDoc =
CouchDB.prepareUserDoc({name: \"foo\"}, \"bar\");badIdDoc._id =
\"org.apache.couchdb:w00x\";try {usersDb.save(badIdDoc);T(false && \"Can't
create malformed docids. Should have thrown an error.\");} catch (e) {T(e.error
== \"forbidden\");T(usersDb.last_req.status == 403);}T(CouchDB.login(\"Jason
Davies\", password).ok);T(CouchDB.session().userCtx.name == \"Jason
Davies\");var xhr = CouchDB.request(\"POST\", \"/_session\", {headers:
{'Content-Type': \"application/json\"}, body: JSON.stringify({name: \"Jason
Davies\", password:
password})});T(JSON.parse(xhr.responseText).ok);T(CouchDB.session().userCtx.name
== \"Jason Davies\");jasonUserDoc.foo =
2;T(usersDb.save(jasonUserDoc).ok);T(CouchDB.session().userCtx.roles.indexOf(\"_admin\")
== -1);try {usersDb.deleteDoc(jchrisUserDoc);T(false && \"Can't delete other
users docs. Should have thrown an error.\");} catch (e) {T(e.error ==
\"forbidden\");T(usersDb.last_req.status == 403);}T(!CouchDB.login(\"Jason
Davies\", \"2.71828\").ok);T(!CouchDB.login(\"Robert Allen Zimmerman\",
\"d00d\").ok);T(CouchDB.session().userCtx.name != \"Jason Davies\");xhr =
CouchDB.request(\"POST\", \"/_session?next=/\", {headers: {'Content-Type':
\"application/x-www-form-urlencoded\"}, body: \"name=Jason%20Davies&password=\"
+ encodeURIComponent(password)});if (xhr.status == 200)
{T(/Welcome/.test(xhr.responseText));} else {T(xhr.status ==
302);T(xhr.getResponseHeader(\"Location\"));}T(CouchDB.login(\"[email protected]\",
\"funnybone\").ok);T(CouchDB.session().userCtx.name ==
\"[email protected]\");T(CouchDB.session().userCtx.roles.length ==
0);jasonUserDoc.foo = 3;try {usersDb.save(jasonUserDoc);T(false && \"Can't
update someone else's user doc. Should have thrown an error.\");} catch (e)
{T(e.error == \"forbidden\");T(usersDb.last_req.status ==
403);}jchrisUserDoc.roles = [\"foo\"];try {usersDb.save(jchrisUserDoc);T(false
&& \"Can't set roles unless you are admin. Should have thrown an error.\");}
catch (e) {T(e.error == \"forbidden\");T(usersDb.last_req.status ==
403);}T(CouchDB.logout().ok);T(CouchDB.session().userCtx.roles[0] ==
\"_admin\");jchrisUserDoc.foo =
[\"foo\"];T(usersDb.save(jchrisUserDoc).ok);jchrisUserDoc.roles =
[\"_bar\"];try {usersDb.save(jchrisUserDoc);T(false && \"Can't add system roles
to user's db. Should have thrown an error.\");} catch (e) {T(e.error ==
\"forbidden\");T(usersDb.last_req.status ==
403);}T(CouchDB.login(\"[email protected]\",
\"funnybone\").ok);T(CouchDB.session().userCtx.name ==
\"[email protected]\");T(CouchDB.session().userCtx.roles.indexOf(\"_admin\") ==
-1);T(CouchDB.session().userCtx.roles.indexOf(\"foo\") !=
-1);T(CouchDB.logout().ok);T(CouchDB.session().userCtx.roles[0] ==
\"_admin\");T(CouchDB.session().userCtx.name ==
null);run_on_modified_server([{section: \"admins\", key:
\"[email protected]\", value: \"funnybone\"}], function ()
{T(CouchDB.login(\"[email protected]\",
\"funnybone\").ok);T(CouchDB.session().userCtx.name ==
\"[email protected]\");T(CouchDB.session().userCtx.roles.indexOf(\"_admin\") !=
-1);T(CouchDB.session().userCtx.roles.indexOf(\"foo\") != -1);jchrisUserDoc =
usersDb.open(jchrisUserDoc._id);delete jchrisUserDoc.salt;delete
jchrisUserDoc.password_sha;T(usersDb.save(jchrisUserDoc).ok);T(CouchDB.logout().ok);T(CouchDB.login(\"[email protected]\",
\"funnybone\").ok);var s = CouchDB.session();T(s.userCtx.name ==
\"[email protected]\");T(s.userCtx.roles.indexOf(\"_admin\") !=
-1);T(s.info.authenticated == \"cookie\");T(s.info.authentication_db ==
\"test_suite_users\");T(CouchDB.session().userCtx.roles.indexOf(\"foo\") !=
-1);});} finally
{T(CouchDB.logout().ok);}}))@http://127.0.0.1:5985/_utils/script/couch_test_runner.js?0.11.0:375\u000a(true)@http://127.0.0.1:5985/_utils/script/test/cookie_auth.js:253\u000arun(0)@http://127.0.0.1:5985/_utils/script/couch_test_runner.js?0.11.0:91\u000a"}
Froze on replicate_db again.
—
Everything else looks okay though.
Heh.
Gonna give this -1 until we fix the unit tests.
I wonder whether anyone else runs the unit tests at all, sometimes! ;)