couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dav...@apache.org
Subject svn commit: r1096098 - in /couchdb/trunk: .gitignore license.skip src/couchdb/couch_os_daemons.erl test/etap/ test/etap/173-os-daemon-cfg-register.es test/etap/173-os-daemon-cfg-register.t test/etap/Makefile.am test/etap/test_cfg_register.c
Date Sat, 23 Apr 2011 00:55:28 GMT
Author: davisp
Date: Sat Apr 23 00:55:28 2011
New Revision: 1096098

URL: http://svn.apache.org/viewvc?rev=1096098&view=rev
Log:
Fix random errors in 173-os-daemon-cfg-register.t

The daemon script this test used previously was an escript which
would occasionally cause errors if the Erlang VM took too long
to boot up.

This fixes the issue by replacing the escript with a trivial C
program.


Added:
    couchdb/trunk/test/etap/test_cfg_register.c
Removed:
    couchdb/trunk/test/etap/173-os-daemon-cfg-register.es
Modified:
    couchdb/trunk/.gitignore
    couchdb/trunk/license.skip
    couchdb/trunk/src/couchdb/couch_os_daemons.erl
    couchdb/trunk/test/etap/   (props changed)
    couchdb/trunk/test/etap/173-os-daemon-cfg-register.t
    couchdb/trunk/test/etap/Makefile.am

Modified: couchdb/trunk/.gitignore
URL: http://svn.apache.org/viewvc/couchdb/trunk/.gitignore?rev=1096098&r1=1096097&r2=1096098&view=diff
==============================================================================
--- couchdb/trunk/.gitignore (original)
+++ couchdb/trunk/.gitignore Sat Apr 23 00:55:28 2011
@@ -70,7 +70,9 @@ src/ejson/.libs/
 src/ejson/priv
 src/mochiweb/mochiweb.app
 test/local.ini
+test/etap/.deps/
 test/etap/run
+test/etap/test_cfg_register
 test/etap/test_util.erl
 test/javascript/run
 share/server/main.js

Modified: couchdb/trunk/license.skip
URL: http://svn.apache.org/viewvc/couchdb/trunk/license.skip?rev=1096098&r1=1096097&r2=1096098&view=diff
==============================================================================
--- couchdb/trunk/license.skip (original)
+++ couchdb/trunk/license.skip Sat Apr 23 00:55:28 2011
@@ -94,6 +94,9 @@
 ^test/bench/Makefile
 ^test/bench/Makefile.in
 ^test/etap/.*beam
+^test/etap/.*\.o
+^test/etap/.deps/*
+^test/etap/test_cfg_register
 ^test/etap/Makefile
 ^test/etap/Makefile.in
 ^test/etap/temp.*

Modified: couchdb/trunk/src/couchdb/couch_os_daemons.erl
URL: http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/couch_os_daemons.erl?rev=1096098&r1=1096097&r2=1096098&view=diff
==============================================================================
--- couchdb/trunk/src/couchdb/couch_os_daemons.erl (original)
+++ couchdb/trunk/src/couchdb/couch_os_daemons.erl Sat Apr 23 00:55:28 2011
@@ -86,12 +86,12 @@ handle_info({'EXIT', Port, Reason}, Tabl
             ?LOG_INFO("Port ~p exited after stopping: ~p~n", [Port, Reason]);
         [#daemon{status=stopping}] ->
             true = ets:delete(Table, Port);
-        [#daemon{name=Name, status=restarting, errors=Errs}=D] ->
+        [#daemon{name=Name, status=restarting}=D] ->
             ?LOG_INFO("Daemon ~P restarting after config change.", [Name]),
             true = ets:delete(Table, Port),
             {ok, Port2} = start_port(D#daemon.cmd),
             true = ets:insert(Table, D#daemon{
-                port=Port2, status=running, kill=undefined, errors=Errs, buf=[]
+                port=Port2, status=running, kill=undefined, buf=[]
             });
         [#daemon{name=Name, status=halted}] ->
             ?LOG_ERROR("Halted daemon process: ~p", [Name]);
@@ -106,12 +106,12 @@ handle_info({Port, {exit_status, Status}
         [] ->
             ?LOG_ERROR("Unknown port ~p exiting ~p", [Port, Status]),
             {stop, {error, unknown_port_died, Status}, Table};
-        [#daemon{name=Name, status=restarting, errors=Errors}=D] ->
+        [#daemon{name=Name, status=restarting}=D] ->
             ?LOG_INFO("Daemon ~P restarting after config change.", [Name]),
             true = ets:delete(Table, Port),
             {ok, Port2} = start_port(D#daemon.cmd),
             true = ets:insert(Table, D#daemon{
-                port=Port2, kill=undefined, errors=Errors, buf=[]
+                port=Port2, status=running, kill=undefined, buf=[]
             }),
             {noreply, Table};
         [#daemon{status=stopping}=D] ->
@@ -140,7 +140,8 @@ handle_info({Port, {exit_status, Status}
                     true = ets:delete(Table, Port),
                     {ok, Port2} = start_port(D#daemon.cmd),
                     true = ets:insert(Table, D#daemon{
-                        port=Port2, kill=undefined, errors=Errors, buf=[]
+                        port=Port2, status=running, kill=undefined,
+                                                errors=Errors, buf=[]
                     }),
                     {noreply, Table}
             end;

Propchange: couchdb/trunk/test/etap/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Sat Apr 23 00:55:28 2011
@@ -1,3 +1,4 @@
+.deps
 temp.*
 Makefile
 Makefile.in

Modified: couchdb/trunk/test/etap/173-os-daemon-cfg-register.t
URL: http://svn.apache.org/viewvc/couchdb/trunk/test/etap/173-os-daemon-cfg-register.t?rev=1096098&r1=1096097&r2=1096098&view=diff
==============================================================================
--- couchdb/trunk/test/etap/173-os-daemon-cfg-register.t (original)
+++ couchdb/trunk/test/etap/173-os-daemon-cfg-register.t Sat Apr 23 00:55:28 2011
@@ -28,7 +28,7 @@ daemon_name() ->
     "wheee".
 
 daemon_cmd() ->
-    test_util:source_file("test/etap/173-os-daemon-cfg-register.es").
+    test_util:build_file("test/etap/test_cfg_register").
 
 main(_) ->
     test_util:init_code_path(),

Modified: couchdb/trunk/test/etap/Makefile.am
URL: http://svn.apache.org/viewvc/couchdb/trunk/test/etap/Makefile.am?rev=1096098&r1=1096097&r2=1096098&view=diff
==============================================================================
--- couchdb/trunk/test/etap/Makefile.am (original)
+++ couchdb/trunk/test/etap/Makefile.am Sat Apr 23 00:55:28 2011
@@ -13,6 +13,10 @@
 noinst_SCRIPTS = run
 noinst_DATA = test_util.beam test_web.beam
 
+noinst_PROGRAMS = test_cfg_register
+test_cfg_register_SOURCES = test_cfg_register.c
+test_cfg_register_CFLAGS = -D_BSD_SOURCE
+
 %.beam: %.erl
 	$(ERLC) $<
 
@@ -74,7 +78,6 @@ EXTRA_DIST = \
     172-os-daemon-errors.3.sh \
     172-os-daemon-errors.4.sh \
     172-os-daemon-errors.t \
-    173-os-daemon-cfg-register.es \
     173-os-daemon-cfg-register.t \
     180-http-proxy.ini \
     180-http-proxy.t \

Added: couchdb/trunk/test/etap/test_cfg_register.c
URL: http://svn.apache.org/viewvc/couchdb/trunk/test/etap/test_cfg_register.c?rev=1096098&view=auto
==============================================================================
--- couchdb/trunk/test/etap/test_cfg_register.c (added)
+++ couchdb/trunk/test/etap/test_cfg_register.c Sat Apr 23 00:55:28 2011
@@ -0,0 +1,30 @@
+// Licensed under the Apache License, Version 2.0 (the "License"); you may not
+// use this file except in compliance with the License. You may obtain a copy of
+// the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+// License for the specific language governing permissions and limitations under
+// the License.
+
+#include <stdio.h>
+
+int
+main(int argc, const char * argv[])
+{
+    char c = '\0';
+    size_t num = 1;
+    
+    fprintf(stdout, "[\"register\", \"s1\"]\n");
+    fprintf(stdout, "[\"register\", \"s2\", \"k\"]\n");
+    fflush(stdout);
+    
+    while(c != '\n' && num > 0) {
+        num = fread(&c, 1, 1, stdin);
+    }
+    
+    exit(0);
+}



Mime
View raw message