I assumed it was the cookie auth thing detecting that a secret hasn't
been set so it generates its own. I gave it about 30s of thought and
couldn't think of something that was better than making sure the
local_dev.ini was writable (which it should be).

On Fri, Apr 27, 2012 at 5:42 AM, Jan Lehnardt <[email protected]> wrote:
>
> On Apr 27, 2012, at 02:30 , Paul Davis wrote:
>
>> Found it:
>>
>> {set,"couch_httpd_auth","secret","81732db8242bbeacb35ce76fe44b554d",true}
>>
>> I'm just gonna make local_dev.ini writable and forget about it. This
>> is just a VPATH build artifact because it forces the local.ini to be
>> read-only.
>
> I'd prefer making that set not persistent. In addition, this call doesn't
> occur in cookie_auth.js.
>
> Cheers
> Jan
> --
>
>
>>
>> On Thu, Apr 26, 2012 at 7:20 PM, Randall Leeds <[email protected]> 
>> wrote:
>>> On Thu, Apr 26, 2012 at 17:03, Paul Davis <[email protected]> 
>>> wrote:
>>>> Now we figure out what its trying to write to.
>>>
>>> Blind guess: not using X-Couch-Persist: false for something?
>>>
>>>>
>>>> On Thu, Apr 26, 2012 at 4:30 PM, Jan Lehnardt <[email protected]> wrote:
>>>>> The problem is that the vpath directory has -w perms. Running
>>>>> chmod -R +w apache-couchdb-1.3.0a-eb3d5d8-git and then
>>>>> ./test/javascript/run again, it all works.
>>>>>
>>>>> What now? :)
>>>>>
>>>>> Cheers
>>>>> Jan
>>>>> --
>>>>>
>>>>>
>>>>> On Apr 26, 2012, at 22:55 , Jan Lehnardt wrote:
>>>>>
>>>>>>
>>>>>> On Apr 26, 2012, at 22:26 , Jan Lehnardt wrote:
>>>>>>
>>>>>>>
>>>>>>> On Apr 26, 2012, at 19:38 , Paul Davis wrote:
>>>>>>>
>>>>>>>> Reproduces for me. Also looks related to the vpath build because it
>>>>>>>> only reproduces in distcheck and runs fine otherwise. Looking into it.
>>>>>>>
>>>>>>> one more interesting point, if you cd into the distcheck build dir,
>>>>>>> currently apache-couchdb-1.3.0a-eb3d5d8-git/_build after the test fails
>>>>>>> and then run ./test/javascript/run it all succeeds as well.
>>>>>>>
>>>>>>> Maybe we are digging in the wrong place?
>>>>>>
>>>>>> This however reproduces the failure:
>>>>>>
>>>>>>> ./apache-couchdb-1.3.0a-eb3d5d8-git/_build/test/javascript/run 
>>>>>>> cookie_auth
>>>>>>
>>>>>> *keeps digging*
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> On Thu, Apr 26, 2012 at 6:56 AM, Jan Lehnardt <[email protected]> wrote:
>>>>>>>>> Actually, no.
>>>>>>>>>
>>>>>>>>> I can now repeatedly get make distcheck to fail at
>>>>>>>>>
>>>>>>>>> not ok 18 cookie_auth
>>>>>>>>>
>>>>>>>>> on two different machines. I don't know if this was introduced in the 
>>>>>>>>> "fixing" commit or one of Paul's others.
>>>>>>>>>
>>>>>>>>> Full log:
>>>>>>>>>
>>>>>>>>> not ok 18 cookie_auth
>>>>>>>>> Reason: false
>>>>>>>>> Trace back (most recent call first):
>>>>>>>>>
>>>>>>>>> 46: 
>>>>>>>>> /Users/jan/Work/couchdb/apache-couchdb-1.3.0a-0250310-git/_build/../test/javascript/cli_runner.js
>>>>>>>>>    T(false)
>>>>>>>>> 133: 
>>>>>>>>> /Users/jan/Work/couchdb/apache-couchdb-1.3.0a-0250310-git/_build/../share/www/script/test/cookie_auth.js
>>>>>>>>>    ()
>>>>>>>>> "[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));}xhr = 
>>>>>>>>> CouchDB.request("POST", "/_session?fail=/", {headers: 
>>>>>>>>> {'Content-Type': "application/x-www-form-urlencoded"}, body: 
>>>>>>>>> "name=Jason%20Davies&password=foobar"});if (xhr.status == 200) 
>>>>>>>>> {T(/Welcome/.test(xhr.responseText));}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);jchrisUserDoc.foo = 
>>>>>>>>> ["foo"];T(save_as(usersDb, jchrisUserDoc, "jan"));jchrisUserDoc.roles 
>>>>>>>>> = ["_bar"];var res = save_as(usersDb, jchrisUserDoc, 
>>>>>>>>> "jan");T(res.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);TEquals(true, CouchDB.login("jan", 
>>>>>>>>> "apple").ok);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);}TEquals(true, 
>>>>>>>>> CouchDB.login("jan", 
>>>>>>>>> "apple").ok);}))@/Users/jan/Work/couchdb/apache-couchdb-1.3.0a-0250310-git/_build/../share/www/script/couch_test_runner.js:380:
>>>>>>>>>  apache.org"}, "funnybone");T(usersDb.save(jchrisUserDoc).ok);var 
>>>>>>>>> duplicateJchrisDoc = CouchDB.prepareUserDoc({name
>>>>>>>>>    run_on_modified_server([object Array],(function () {try {var ddoc 
>>>>>>>>> = op
>>>>>>>>> 286: 
>>>>>>>>> /Users/jan/Work/couchdb/apache-couchdb-1.3.0a-0250310-git/_build/../share/www/script/test/cookie_auth.js
>>>>>>>>>    ()
>>>>>>>>> "[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));}xhr = 
>>>>>>>>> CouchDB.request("POST", "/_session?fail=/", {headers: 
>>>>>>>>> {'Content-Type': "application/x-www-form-urlencoded"}, body: 
>>>>>>>>> "name=Jason%20Davies&password=foobar"});if (xhr.status == 200) 
>>>>>>>>> {T(/Welcome/.test(xhr.responseText));}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);jchrisUserDoc.foo = 
>>>>>>>>> ["foo"];T(save_as(usersDb, jchrisUserDoc, "jan"));jchrisUserDoc.roles 
>>>>>>>>> = ["_bar"];var res = save_as(usersDb, jchrisUserDoc, 
>>>>>>>>> "jan");T(res.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);TEquals(true, CouchDB.login("jan", 
>>>>>>>>> "apple").ok);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);}TEquals(true, 
>>>>>>>>> CouchDB.login("jan", "apple").ok);};var usersDb = new 
>>>>>>>>> CouchDB("test_suite_users", {'X-Couch-Full-Commit': 
>>>>>>>>> "false"});usersDb.deleteDb();usersDb.createDb();run_on_modified_server([{section:
>>>>>>>>>  "couch_httpd_auth", key: "authentication_db", value: 
>>>>>>>>> "test_suite_users"}, {section: "couch_httpd_auth", key: "iterations", 
>>>>>>>>> value: "1"}, {section: "admins", key: "jan", value: "apple"}], 
>>>>>>>>> testFun);}))@/Users/jan/Work/couchdb/apache-couchdb-1.3.0a-0250310-git/_build/../test/javascript/cli_runner.js:53:
>>>>>>>>>  apache.org"}, "funnybone");T(usersDb.save(jchrisUserDoc).ok);var 
>>>>>>>>> duplicateJchrisDoc = CouchDB.prepareUserDoc({name
>>>>>>>>>    var testFun = function () {try {var ddoc = open_as(usersDb, 
>>>>>>>>> "_design/_
>>>>>>>>> 72: 
>>>>>>>>> /Users/jan/Work/couchdb/apache-couchdb-1.3.0a-0250310-git/_build/../test/javascript/cli_runner.js
>>>>>>>>>    runAllTestsConsole()
>>>>>>>>> 85: 
>>>>>>>>> /Users/jan/Work/couchdb/apache-couchdb-1.3.0a-0250310-git/_build/../test/javascript/cli_runner.js
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Apr 26, 2012, at 13:27 , Jan Lehnardt wrote:
>>>>>>>>>
>>>>>>>>>> Paul fixed this in 
>>>>>>>>>> http://git-wip-us.apache.org/repos/asf/couchdb/commit/02503102
>>>>>>>>>>
>>>>>>>>>> Cheers!
>>>>>>>>>>
>>>>>>>>>> On Apr 24, 2012, at 20:39 , Jan Lehnardt wrote:
>>>>>>>>>>
>>>>>>>>>>> Thanks for the replies!
>>>>>>>>>>>
>>>>>>>>>>> ./test/javascript/run.tpl, line 15:
>>>>>>>>>>>
>>>>>>>>>>> SRC_DIR=%abs_top_srcdir%
>>>>>>>>>>>
>>>>>>>>>>> What now? :)
>>>>>>>>>>>
>>>>>>>>>>> Jan
>>>>>>>>>>> --
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Apr 24, 2012, at 20:25 , Paul Davis wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Yeah. We'll need an $(abs_top_srcdir) or $(abs_top_builddir) here
>>>>>>>>>>>> depending on how they're used. It can be a bit of a PITA if one of
>>>>>>>>>>>> those needs to support write backs by one of the tests. Basic 
>>>>>>>>>>>> solution
>>>>>>>>>>>> is to name them foo.ini.tpl and then "build" foo.ini and use
>>>>>>>>>>>> $(abs_top_builddir) in that case. Where by "build" I mean `cp $< 
>>>>>>>>>>>> $@`
>>>>>>>>>>>> or so.
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Apr 24, 2012 at 12:04 PM, Randall Leeds 
>>>>>>>>>>>> <[email protected]> wrote:
>>>>>>>>>>>>> On Tue, Apr 24, 2012 at 08:08, Jan Lehnardt <[email protected]> 
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Apr 24, 2012, at 17:05 , Jan Lehnardt wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Jan 27, 2012, at 02:37 , [email protected] wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> COUCHDB-1338 - run js tests with port=0
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> When the JS tests POST to /_restart, the server comes back up 
>>>>>>>>>>>>>>>> on a
>>>>>>>>>>>>>>>> different port. To work around this, add a getter property for 
>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>> CouchHTTP.prototype.base_url property, using a reserved slot 
>>>>>>>>>>>>>>>> on the
>>>>>>>>>>>>>>>> object to store the value.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
>>>>>>>>>>>>>>>> Commit: 
>>>>>>>>>>>>>>>> http://git-wip-us.apache.org/repos/asf/couchdb/commit/d20e7926
>>>>>>>>>>>>>>>> Tree: 
>>>>>>>>>>>>>>>> http://git-wip-us.apache.org/repos/asf/couchdb/tree/d20e7926
>>>>>>>>>>>>>>>> Diff: 
>>>>>>>>>>>>>>>> http://git-wip-us.apache.org/repos/asf/couchdb/diff/d20e7926
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Branch: refs/heads/master
>>>>>>>>>>>>>>>> Commit: d20e792617db738dd5ad0e046ae847cd740f586f
>>>>>>>>>>>>>>>> Parents: 257eb52
>>>>>>>>>>>>>>>> Author: Randall Leeds <[email protected]>
>>>>>>>>>>>>>>>> Authored: Sat Jan 7 14:21:29 2012 -0800
>>>>>>>>>>>>>>>> Committer: Randall Leeds <[email protected]>
>>>>>>>>>>>>>>>> Committed: Thu Jan 26 17:03:10 2012 -0800
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> ----------------------------------------------------------------------
>>>>>>>>>>>>>>>> src/couchdb/priv/couch_js/help.h  |    2 +
>>>>>>>>>>>>>>>> src/couchdb/priv/couch_js/http.c  |   60 
>>>>>>>>>>>>>>>> +++++++++++++++++++++++++++++++-
>>>>>>>>>>>>>>>> src/couchdb/priv/couch_js/http.h  |    3 ++
>>>>>>>>>>>>>>>> src/couchdb/priv/couch_js/sm170.c |    8 ++++
>>>>>>>>>>>>>>>> src/couchdb/priv/couch_js/sm180.c |    8 ++++
>>>>>>>>>>>>>>>> src/couchdb/priv/couch_js/sm185.c |    8 ++++
>>>>>>>>>>>>>>>> src/couchdb/priv/couch_js/util.c  |    3 +-
>>>>>>>>>>>>>>>> src/couchdb/priv/couch_js/util.h  |    2 +
>>>>>>>>>>>>>>>> test/Makefile.am                  |    1 +
>>>>>>>>>>>>>>>> test/etap/Makefile.am             |    1 -
>>>>>>>>>>>>>>>> test/etap/random_port.ini         |   19 ----------
>>>>>>>>>>>>>>>> test/etap/test_util.erl.in        |    2 +-
>>>>>>>>>>>>>>>> test/javascript/Makefile.am       |    1 +
>>>>>>>>>>>>>>>> test/javascript/couch_http.js     |    9 ++---
>>>>>>>>>>>>>>>> test/javascript/run.tpl           |    9 ++++-
>>>>>>>>>>>>>>>> test/random_port.ini              |   19 ++++++++++
>>>>>>>>>>>>>>>> 16 files changed, 125 insertions(+), 30 deletions(-)
>>>>>>>>>>>>>>>> ----------------------------------------------------------------------
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> [...]
>>>>>>>>>>>>>>>> http://git-wip-us.apache.org/repos/asf/couchdb/blob/d20e7926/test/javascript/run.tpl
>>>>>>>>>>>>>>>> ----------------------------------------------------------------------
>>>>>>>>>>>>>>>> diff --git a/test/javascript/run.tpl b/test/javascript/run.tpl
>>>>>>>>>>>>>>>> index 47d2f6e..ac78b50 100644
>>>>>>>>>>>>>>>> --- a/test/javascript/run.tpl
>>>>>>>>>>>>>>>> +++ b/test/javascript/run.tpl
>>>>>>>>>>>>>>>> @@ -17,6 +17,7 @@ SCRIPT_DIR=$SRC_DIR/share/www/script
>>>>>>>>>>>>>>>> JS_TEST_DIR=$SRC_DIR/test/javascript
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> COUCHJS=%abs_top_builddir%/src/couchdb/priv/couchjs
>>>>>>>>>>>>>>>> +COUCH_URI_FILE=%localstaterundir%/couch.uri
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> if [ "$#" -eq 0 ];
>>>>>>>>>>>>>>>> then
>>>>>>>>>>>>>>>> @@ -48,11 +49,15 @@ abort() {
>>>>>>>>>>>>>>>> if [ -z $COUCHDB_NO_START ]; then
>>>>>>>>>>>>>>>>    make dev
>>>>>>>>>>>>>>>>  trap 'abort' 0 1 2 3 4 6 8 15
>>>>>>>>>>>>>>>> -    ./utils/run -b -r 1
>>>>>>>>>>>>>>>> +    ./utils/run -b -r 1 -n \
>>>>>>>>>>>>>>>> +            -a $SRC_DIR/etc/couchdb/default_dev.ini \
>>>>>>>>>>>>>>>> +            -a $SRC_DIR/test/random_port.ini \
>>>>>>>>>>>>>>>> +            -a $SRC_DIR/etc/couchdb/local_dev.ini
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Randall, this breaks vpath builds. removing the -n option and 
>>>>>>>>>>>>>>> the -n lines makes it work for me.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> … and the -a lines …
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hmm. Maybe it should be "$(abs_top_builddir)" instead of SRC_DIR?
>>>>>>>>>>>>> The -a ...random_port.ini is the crucial one, because that's the 
>>>>>>>>>>>>> point
>>>>>>>>>>>>> of the patch. I can't remember at this moment why I needed to 
>>>>>>>>>>>>> specify
>>>>>>>>>>>>> exactly all the configs and use the -n to reset the config chain, 
>>>>>>>>>>>>> but
>>>>>>>>>>>>> I'm sure there was a reason (like random_port.ini not getting
>>>>>>>>>>>>> preference over default_dev.ini or something).
>>>>>>>>>>>>>
>>>>>>>>>>>>> -R
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>

Reply via email to