Doh! Was a bit tired and only checked distcheck and Futon and buildbot is down. :/
I should write a script that checks everything in one go. I think tonight I'll work on updating the CLI runner for running the JS tests from the command line. Paul On Sat, Oct 24, 2009 at 2:56 PM, Adam Kocoloski <[email protected]> wrote: > Good catch, Bob. > > Regarding code:priv_dir(couch), it works in a normal server installation but > fails from make dev. Apparently we have couch_util:priv_dir() to work > around this (didn't notice it till now). I've replaced all usage of > code:priv_dir(couch) with couch_util:priv_dir() > > We'll still need to figure out something for the stats test. Best, > > Adam > > On Oct 24, 2009, at 2:26 PM, Robert Dionne wrote: > >> yea it broke. It looks like the problem is couch_util:priv_dir() fails >> when couch is not running. Poking into this a bit I see another related >> problem: >> >> If line 79 in couch_server_sup ever executes: >> >> filename:join(code:priv_dir(couch), "lib"); >> >> It fails because code:priv_dir(couch) returns a bad name error. You can >> see this by commenting out util_driver_dir in the config file. I suspect >> this might relate to a private directory not being specified when the app is >> packaged? Perhaps there's something missing in couch.app? >> >> >> >> >> On Oct 24, 2009, at 6:51 AM, Sebastian Cohnen wrote: >> >>> Hey devs, >>> >>> maybe you already are aware of it, but after your last commit, davisp, >>> make check (after make clean) fails: >>> >>> test/etap/121-stats-aggregates............FAILED tests 1-17 >>> Failed 17/17 tests, 0.00% okay >>> Failed Test Stat Wstat Total Fail List of Failed >>> >>> ------------------------------------------------------------------------------- >>> test/etap/121-stats-aggregates.t 17 17 1-17 >>> Failed 1/29 test scripts. 17/367 subtests failed. >>> Files=29, Tests=367, 63 wallclock secs (22.23 cusr + 3.03 csys = 25.26 >>> CPU) >>> Failed 1/29 test programs. 17/367 subtests failed. >>> make: *** [check] Error 255 >>> >>> The browser test suite is all green - at least in the second run. In the >>> first run the stats-test was failing (I accidentally closed the browser >>> window and I can't remember the exact error message, sorry) >>> >>> >>> Sebastian / tisba >>> >>> On 24.10.2009, at 06:14, [email protected] wrote: >>> >>>> Author: davisp >>>> Date: Sat Oct 24 04:14:12 2009 >>>> New Revision: 829304 >>>> >>>> URL: http://svn.apache.org/viewvc?rev=829304&view=rev >>>> Log: >>>> Move stat descriptions out of the config. >>>> >>>> This lists stat descriptions in an Erlang term file to avoid abusing the >>>> config system. Uses a file in CouchDB's priv directory that is a list of >>>> three-tuple terms. >>>> >>>> >>>> Added: >>>> couchdb/trunk/src/couchdb/priv/stat_descriptions.cfg >>>> Modified: >>>> couchdb/trunk/etc/couchdb/default.ini.tpl.in >>>> couchdb/trunk/license.skip >>>> couchdb/trunk/src/couchdb/couch_stats_aggregator.erl >>>> couchdb/trunk/src/couchdb/couch_util.erl >>>> couchdb/trunk/src/couchdb/priv/Makefile.am >>>> >>>> Modified: couchdb/trunk/etc/couchdb/default.ini.tpl.in >>>> URL: >>>> http://svn.apache.org/viewvc/couchdb/trunk/etc/couchdb/default.ini.tpl.in?rev=829304&r1=829303&r2=829304&view=diff >>>> >>>> ============================================================================== >>>> --- couchdb/trunk/etc/couchdb/default.ini.tpl.in (original) >>>> +++ couchdb/trunk/etc/couchdb/default.ini.tpl.in Sat Oct 24 04:14:12 >>>> 2009 >>>> @@ -112,40 +112,3 @@ >>>> ; sample intervals are in seconds >>>> samples = [0, 60, 300, 900] >>>> >>>> -; Style guide for descriptions: Start with a lowercase letter & do not >>>> add >>>> -; a trailing full-stop / period. >>>> -; Please keep this in alphabetical order. >>>> -[stats_descriptions] >>>> -{couchdb, database_writes} = number of times a database was changed >>>> -{couchdb, database_reads} = number of times a document was read from a >>>> database >>>> -{couchdb, open_databases} = number of open databases >>>> -{couchdb, open_os_files} = number of file descriptors CouchDB has open >>>> -{couchdb, request_time} = length of a request inside CouchDB without >>>> MochiWeb >>>> - >>>> -{httpd, bulk_requests} = number of bulk requests >>>> -{httpd, requests} = number of HTTP requests >>>> -{httpd, temporary_view_reads} = number of temporary view reads >>>> -{httpd, view_reads} = number of view reads >>>> -{httpd, clients_requesting_changes} = number of clients for continuous >>>> _changes >>>> - >>>> -{httpd_request_methods, 'COPY'} = number of HTTP COPY requests >>>> -{httpd_request_methods, 'DELETE'} = number of HTTP DELETE requests >>>> -{httpd_request_methods, 'GET'} = number of HTTP GET requests >>>> -{httpd_request_methods, 'HEAD'} = number of HTTP HEAD requests >>>> -{httpd_request_methods, 'MOVE'} = number of HTTP MOVE requests >>>> -{httpd_request_methods, 'POST'} = number of HTTP POST requests >>>> -{httpd_request_methods, 'PUT'} = number of HTTP PUT requests >>>> - >>>> -{httpd_status_codes, '200'} = number of HTTP 200 OK responses >>>> -{httpd_status_codes, '201'} = number of HTTP 201 Created responses >>>> -{httpd_status_codes, '202'} = number of HTTP 202 Accepted responses >>>> -{httpd_status_codes, '301'} = number of HTTP 301 Moved Permanently >>>> responses >>>> -{httpd_status_codes, '304'} = number of HTTP 304 Not Modified responses >>>> -{httpd_status_codes, '400'} = number of HTTP 400 Bad Request responses >>>> -{httpd_status_codes, '401'} = number of HTTP 401 Unauthorized responses >>>> -{httpd_status_codes, '403'} = number of HTTP 403 Forbidden responses >>>> -{httpd_status_codes, '404'} = number of HTTP 404 Not Found responses >>>> -{httpd_status_codes, '405'} = number of HTTP 405 Method Not Allowed >>>> responses >>>> -{httpd_status_codes, '409'} = number of HTTP 409 Conflict responses >>>> -{httpd_status_codes, '412'} = number of HTTP 412 Precondition Failed >>>> responses >>>> -{httpd_status_codes, '500'} = number of HTTP 500 Internal Server Error >>>> responses >>>> >>>> Modified: couchdb/trunk/license.skip >>>> URL: >>>> http://svn.apache.org/viewvc/couchdb/trunk/license.skip?rev=829304&r1=829303&r2=829304&view=diff >>>> >>>> ============================================================================== >>>> --- couchdb/trunk/license.skip (original) >>>> +++ couchdb/trunk/license.skip Sat Oct 24 04:14:12 2009 >>>> @@ -64,6 +64,7 @@ >>>> ^src/couchdb/priv/Makefile >>>> ^src/couchdb/priv/Makefile.in >>>> ^src/couchdb/priv/couchspawnkillable >>>> +^src/couchdb/priv/stat_descriptions.cfg >>>> ^src/erlang-oauth/* >>>> ^src/etap/* >>>> ^src/ibrowse/* >>>> >>>> Modified: couchdb/trunk/src/couchdb/couch_stats_aggregator.erl >>>> URL: >>>> http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/couch_stats_aggregator.erl?rev=829304&r1=829303&r2=829304&view=diff >>>> >>>> ============================================================================== >>>> --- couchdb/trunk/src/couchdb/couch_stats_aggregator.erl (original) >>>> +++ couchdb/trunk/src/couchdb/couch_stats_aggregator.erl Sat Oct 24 >>>> 04:14:12 2009 >>>> @@ -90,16 +90,17 @@ >>>> ets:new(?MODULE, [named_table, set, protected]), >>>> SampleStr = couch_config:get("stats", "samples", "[0]"), >>>> {ok, Samples} = couch_util:parse_term(SampleStr), >>>> - lists:foreach(fun({KeyStr, Value}) -> >>>> - {ok, Key} = couch_util:parse_term(KeyStr), >>>> + PrivDir = couch_util:priv_dir(), >>>> + {ok, Descs} = file:consult(filename:join(PrivDir, >>>> "stat_descriptions.cfg")), >>>> + lists:foreach(fun({Sect, Key, Value}) -> >>>> lists:foreach(fun(Secs) -> >>>> Agg = #aggregate{ >>>> description=list_to_binary(Value), >>>> seconds=Secs >>>> }, >>>> - ets:insert(?MODULE, {{Key, Secs}, Agg}) >>>> + ets:insert(?MODULE, {{{Sect, Key}, Secs}, Agg}) >>>> end, Samples) >>>> - end, couch_config:get("stats_descriptions")), >>>> + end, Descs), >>>> >>>> Self = self(), >>>> ok = couch_config:register( >>>> >>>> Modified: couchdb/trunk/src/couchdb/couch_util.erl >>>> URL: >>>> http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/couch_util.erl?rev=829304&r1=829303&r2=829304&view=diff >>>> >>>> ============================================================================== >>>> --- couchdb/trunk/src/couchdb/couch_util.erl (original) >>>> +++ couchdb/trunk/src/couchdb/couch_util.erl Sat Oct 24 04:14:12 2009 >>>> @@ -12,7 +12,7 @@ >>>> >>>> -module(couch_util). >>>> >>>> --export([start_driver/1,terminate_linked/1]). >>>> +-export([priv_dir/0, start_driver/1,terminate_linked/1]). >>>> -export([should_flush/0, should_flush/1, to_existing_atom/1]). >>>> -export([rand32/0, implode/2, collate/2, collate/3]). >>>> -export([abs_pathname/1,abs_pathname/2, trim/1, ascii_lower/1]). >>>> @@ -27,6 +27,16 @@ >>>> % arbitrarily chosen amount of memory to use before flushing to disk >>>> -define(FLUSH_MAX_MEM, 10000000). >>>> >>>> +priv_dir() -> >>>> + case code:priv_dir(couch) of >>>> + {error, bad_name} -> >>>> + % small hack, in dev mode "app" is couchdb. Fixing requires >>>> + % renaming src/couch to src/couch. Not really worth the >>>> hassle. >>>> + % -Damien >>>> + code:priv_dir(couchdb); >>>> + Dir -> Dir >>>> + end. >>>> + >>>> start_driver(LibDir) -> >>>> case erl_ddll:load_driver(LibDir, "couch_erl_driver") of >>>> ok -> >>>> >>>> Modified: couchdb/trunk/src/couchdb/priv/Makefile.am >>>> URL: >>>> http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/priv/Makefile.am?rev=829304&r1=829303&r2=829304&view=diff >>>> >>>> ============================================================================== >>>> --- couchdb/trunk/src/couchdb/priv/Makefile.am (original) >>>> +++ couchdb/trunk/src/couchdb/priv/Makefile.am Sat Oct 24 04:14:12 2009 >>>> @@ -13,8 +13,9 @@ >>>> couchlibdir = $(localerlanglibdir)/couch-$(version) >>>> couchprivdir = $(couchlibdir)/priv >>>> >>>> -EXTRA_DIST = couchspawnkillable.sh >>>> +EXTRA_DIST = couchspawnkillable.sh stat_descriptions.cfg >>>> >>>> +couchpriv_DATA = stat_descriptions.cfg >>>> couchpriv_PROGRAMS = couchspawnkillable >>>> >>>> if WINDOWS >>>> >>>> Added: couchdb/trunk/src/couchdb/priv/stat_descriptions.cfg >>>> URL: >>>> http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/priv/stat_descriptions.cfg?rev=829304&view=auto >>>> >>>> ============================================================================== >>>> --- couchdb/trunk/src/couchdb/priv/stat_descriptions.cfg (added) >>>> +++ couchdb/trunk/src/couchdb/priv/stat_descriptions.cfg Sat Oct 24 >>>> 04:14:12 2009 >>>> @@ -0,0 +1,37 @@ >>>> +% Style guide for descriptions: Start with a lowercase letter & do not >>>> add >>>> +% a trailing full-stop / period >>>> +% Please keep this in alphabetical order >>>> + >>>> +{couchdb, database_writes, "number of times a database was change"}. >>>> +{couchdb, database_reads, "number of times a document was read from a >>>> databas"}. >>>> +{couchdb, open_databases, "number of open database"}. >>>> +{couchdb, open_os_files, "number of file descriptors CouchDB has ope"}. >>>> +{couchdb, request_time, "length of a request inside CouchDB without >>>> MochiWe"}. >>>> + >>>> +{httpd, bulk_requests, "number of bulk request"}. >>>> +{httpd, requests, "number of HTTP request"}. >>>> +{httpd, temporary_view_reads, "number of temporary view read"}. >>>> +{httpd, view_reads, "number of view read"}. >>>> +{httpd, clients_requesting_changes, "number of clients for continuous >>>> _change"}. >>>> + >>>> +{httpd_request_methods, 'COPY', "number of HTTP COPY request"}. >>>> +{httpd_request_methods, 'DELETE', "number of HTTP DELETE request"}. >>>> +{httpd_request_methods, 'GET', "number of HTTP GET request"}. >>>> +{httpd_request_methods, 'HEAD', "number of HTTP HEAD request"}. >>>> +{httpd_request_methods, 'MOVE', "number of HTTP MOVE request"}. >>>> +{httpd_request_methods, 'POST', "number of HTTP POST request"}. >>>> +{httpd_request_methods, 'PUT', "number of HTTP PUT request"}. >>>> + >>>> +{httpd_status_codes, '200', "number of HTTP 200 OK response"}. >>>> +{httpd_status_codes, '201', "number of HTTP 201 Created response"}. >>>> +{httpd_status_codes, '202', "number of HTTP 202 Accepted response"}. >>>> +{httpd_status_codes, '301', "number of HTTP 301 Moved Permanently >>>> response"}. >>>> +{httpd_status_codes, '304', "number of HTTP 304 Not Modified >>>> response"}. >>>> +{httpd_status_codes, '400', "number of HTTP 400 Bad Request response"}. >>>> +{httpd_status_codes, '401', "number of HTTP 401 Unauthorized >>>> response"}. >>>> +{httpd_status_codes, '403', "number of HTTP 403 Forbidden response"}. >>>> +{httpd_status_codes, '404', "number of HTTP 404 Not Found response"}. >>>> +{httpd_status_codes, '405', "number of HTTP 405 Method Not Allowed >>>> response"}. >>>> +{httpd_status_codes, '409', "number of HTTP 409 Conflict response"}. >>>> +{httpd_status_codes, '412', "number of HTTP 412 Precondition Failed >>>> response"}. >>>> +{httpd_status_codes, '500', "number of HTTP 500 Internal Server Error >>>> response"}. >>>> >>>> >>> >> > >
