See test run below. The error I get on any branch and even trunk, and I have no idea if it's because something is misconfigured on my system. What's worrying is that it seems the automatic starter seems to start several couchdb instances, which is bad. It does seem that there is more than one instance running after this test: eric@thelog:~/canonical/desktopcouch/r-get-port$ ps uax | grep couchdb eric 14858 0.0 0.0 1836 544 pts/2 S 11:36 0:00 /bin/sh -e /usr/bin/couchdb -c \"/etc/couchdb/default.ini\" -c \"/home/eric/.config/desktop-couch/desktop-couchdb.ini\" -b -r 0 -p /home/eric/.cache/desktop-couch/desktop-couchdb.pid -o /home/eric/.cache/desktop-couch/desktop-couchdb.stdout -e /home/eric/.cache/desktop-couch/desktop-couchdb.stderr -R eric 14885 0.0 0.0 1836 324 pts/2 S 11:36 0:00 /bin/sh -e /usr/bin/couchdb -c \"/etc/couchdb/default.ini\" -c \"/home/eric/.config/desktop-couch/desktop-couchdb.ini\" -b -r 0 -p /home/eric/.cache/desktop-couch/desktop-couchdb.pid -o /home/eric/.cache/desktop-couch/desktop-couchdb.stdout -e /home/eric/.cache/desktop-couch/desktop-couchdb.stderr -R eric 14886 0.1 0.2 64000 7656 pts/2 Sl 11:36 0:00 /usr/lib/erlang/erts-5.7.2/bin/beam.smp -Bd -K true -- -root /usr/lib/erlang -progname erl -- -home /home/eric -noshell -noinput -smp auto -sasl errlog_type error -pa /usr/lib/couchdb/erlang/lib/couch-0.9.0/ebin /usr/lib/couchdb/erlang/lib/mochiweb-r97/ebin /usr/lib/couchdb/erlang/lib/ibrowse-1.4.1/ebin -eval application:load(ibrowse) -eval application:load(crypto) -eval application:load(couch) -eval crypto:start() -eval ibrowse:start() -eval couch_server:start([ "/etc/couchdb/default.ini", "/home/eric/.config/desktop-couch/desktop-couchdb.ini"]), receive done -> done end. -pidfile /home/eric/.cache/desktop-couch/desktop-couchdb.pid -heart eric 14930 0.0 0.0 1836 540 pts/2 S 11:36 0:00 /bin/sh -e /usr/bin/couchdb -c \"/etc/couchdb/default.ini\" -c \"/home/eric/.config/desktop-couch/desktop-couchdb.ini\" -b -r 0 -p /home/eric/.cache/desktop-couch/desktop-couchdb.pid -o /home/eric/.cache/desktop-couch/desktop-couchdb.stdout -e /home/eric/.cache/desktop-couch/desktop-couchdb.stderr -R eric 14958 0.0 0.0 1836 320 pts/2 S 11:36 0:00 /bin/sh -e /usr/bin/couchdb -c \"/etc/couchdb/default.ini\" -c \"/home/eric/.config/desktop-couch/desktop-couchdb.ini\" -b -r 0 -p /home/eric/.cache/desktop-couch/desktop-couchdb.pid -o /home/eric/.cache/desktop-couch/desktop-couchdb.stdout -e /home/eric/.cache/desktop-couch/desktop-couchdb.stderr -R eric 14959 0.1 0.2 64000 7656 pts/2 Sl 11:36 0:00 /usr/lib/erlang/erts-5.7.2/bin/beam.smp -Bd -K true -- -root /usr/lib/erlang -progname erl -- -home /home/eric -noshell -noinput -smp auto -sasl errlog_type error -pa /usr/lib/couchdb/erlang/lib/couch-0.9.0/ebin /usr/lib/couchdb/erlang/lib/mochiweb-r97/ebin /usr/lib/couchdb/erlang/lib/ibrowse-1.4.1/ebin -eval application:load(ibrowse) -eval application:load(crypto) -eval application:load(couch) -eval crypto:start() -eval ibrowse:start() -eval couch_server:start([ "/etc/couchdb/default.ini", "/home/eric/.config/desktop-couch/desktop-couchdb.ini"]), receive done -> done end. -pidfile /home/eric/.cache/desktop-couch/desktop-couchdb.pid -heart eric 15013 0.0 0.0 1836 544 pts/2 S 11:36 0:00 /bin/sh -e /usr/bin/couchdb -c \"/etc/couchdb/default.ini\" -c \"/home/eric/.config/desktop-couch/desktop-couchdb.ini\" -b -r 0 -p /home/eric/.cache/desktop-couch/desktop-couchdb.pid -o /home/eric/.cache/desktop-couch/desktop-couchdb.stdout -e /home/eric/.cache/desktop-couch/desktop-couchdb.stderr -R eric 15040 0.0 0.0 1836 324 pts/2 S 11:36 0:00 /bin/sh -e /usr/bin/couchdb -c \"/etc/couchdb/default.ini\" -c \"/home/eric/.config/desktop-couch/desktop-couchdb.ini\" -b -r 0 -p /home/eric/.cache/desktop-couch/desktop-couchdb.pid -o /home/eric/.cache/desktop-couch/desktop-couchdb.stdout -e /home/eric/.cache/desktop-couch/desktop-couchdb.stderr -R eric 15041 0.4 0.2 65476 8988 pts/2 Sl 11:36 0:00 /usr/lib/erlang/erts-5.7.2/bin/beam.smp -Bd -K true -- -root /usr/lib/erlang -progname erl -- -home /home/eric -noshell -noinput -smp auto -sasl errlog_type error -pa /usr/lib/couchdb/erlang/lib/couch-0.9.0/ebin /usr/lib/couchdb/erlang/lib/mochiweb-r97/ebin /usr/lib/couchdb/erlang/lib/ibrowse-1.4.1/ebin -eval application:load(ibrowse) -eval application:load(crypto) -eval application:load(couch) -eval crypto:start() -eval ibrowse:start() -eval couch_server:start([ "/etc/couchdb/default.ini", "/home/eric/.config/desktop-couch/desktop-couchdb.ini"]), receive done -> done end. -pidfile /home/eric/.cache/desktop-couch/desktop-couchdb.pid -heart eric 15055 0.0 0.0 8800 2628 ? Ss 11:36 0:00 /usr/lib/couchdb/bin/couchjs /usr/share/couchdb/server/main.js eric 15109 0.0 0.0 3128 808 pts/2 S+ 11:39 0:00 grep couchdb Traceback (most recent call last): File "/usr/lib/python2.6/dist-packages/twisted/python/usage.py", line 241, in parseOptions self.postOptions() File "/usr/lib/python2.6/dist-packages/twisted/scripts/trial.py", line 293, in postOptions self['reporter'] = self._loadReporterByName(self['reporter']) File "/usr/lib/python2.6/dist-packages/twisted/scripts/trial.py", line 279, in _loadReporterByName for p in plugin.getPlugins(itrial.IReporter): File "/usr/lib/python2.6/dist-packages/twisted/plugin.py", line 200, in getPlugins allDropins = getCache(package) --- --- File "/usr/lib/python2.6/dist-packages/twisted/plugin.py", line 179, in getCache dropinPath.setContent(pickle.dumps(dropinDotCache)) File "/usr/lib/python2.6/dist-packages/twisted/python/filepath.py", line 623, in setContent f = sib.open('w') File "/usr/lib/python2.6/dist-packages/twisted/python/filepath.py", line 433, in open return open(self.path, mode+'b') exceptions.IOError: [Errno 13] Permission denied: '/usr/lib/python2.6/dist-packages/twisted/plugins/dropin.cache.new' desktopcouch.pair.tests.test_network_io TestNetworkIO test_successful_lifespan ... [OK] desktopcouch.records.tests.test_field_registry TestFieldMapping test_mergeable_list_field_mapping ... [ERROR] test_mergeable_list_field_mapping_empty_field ... [OK] test_simple_field_mapping ... [OK] TestTransformer test_from_app ... [OK] test_to_app ... [OK] desktopcouch.records.tests.test_record TestRecordFactory test_build ... [OK] TestRecords test_application_annotations ... [OK] test_dictionary_access_to_mergeable_list ... [OK] test_get ... [OK] test_get_item ... [OK] test_keys ... [OK] test_list ... [OK] test_loads_dict_multi_subdict ... [OK] test_loads_dict_subdict ... [OK] test_mergeable_list_append ... [OK] test_mergeable_list_append_record_dict ... [OK] test_mergeable_list_del ... [OK] test_mergeable_list_index ... [OK] test_mergeable_list_set_value_in_list_item ... [OK] test_record_type ... [OK] test_tuple ... [OK] test_uuid_like_keys ... [OK] test_validate ... [OK] desktopcouch.records.tests.test_server TestCouchDatabase test_delete_record ... Desktop CouchDB is not running; starting it. Apache CouchDB has started, time to relax. Desktop CouchDB is not running; starting it. Apache CouchDB has started, time to relax. Desktop CouchDB is not running; starting it. Apache CouchDB has started, time to relax. Browse your desktop CouchDB at file:///home/eric/.local/share/desktop-couch/couchdb.html Browse your desktop CouchDB at file:///home/eric/.local/share/desktop-couch/couchdb.html Browse your desktop CouchDB at file:///home/eric/.local/share/desktop-couch/couchdb.html [OK] test_func_get_records ... [OK] test_get_record ... [OK] test_get_records_by_record_type_save_view ... [OK] test_get_view_by_type_createxcl_fail ... [OK] test_get_view_by_type_new_but_already ... [OK] test_list_views ... [OK] test_put_record ... [OK] test_record_exists ... [OK] test_update_fields ... [OK] test_view_add_and_delete ... [OK] desktopcouch.tests.test_local_files TestLocalFiles test_all_files_returned ... [OK] =============================================================================== [ERROR]: desktopcouch.records.tests.test_field_registry.TestFieldMapping.test_mergeable_list_field_mapping Traceback (most recent call last): Failure: twisted.trial.util.DirtyReactorAggregateError: Reactor was unclean. DelayedCalls: (set twisted.internet.base.DelayedCall.debug = True to debug) (exit_on_success, *(), **{})()> ------------------------------------------------------------------------------- Ran 36 tests in 20.935s FAILED (errors=1, successes=35)