Permalink
Browse files

Fix random errors in 173-os-daemon-cfg-register.t

This is a backport of 1096098 from trunk.



git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1096099 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information...
1 parent d277f71 commit d47d7e98819363e31f81a7954fed8bccc5d7d03b @davisp davisp committed Apr 23, 2011
View
@@ -65,7 +65,9 @@ src/erlang-oauth/oauth.app
src/ibrowse/ibrowse.app
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
View
@@ -93,6 +93,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.*
@@ -86,12 +86,12 @@ handle_info({'EXIT', Port, Reason}, Table) ->
?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}}, Table) ->
[] ->
?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}}, Table) ->
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;
@@ -1,35 +0,0 @@
-#! /usr/bin/env escript
-
-% 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.
-
-write(Mesg) ->
- Data = iolist_to_binary(couch_util:json_encode(Mesg)),
- io:format(binary_to_list(Data) ++ "\n", []).
-
-cfg_register(Section) ->
- write([<<"register">>, Section]).
-
-cfg_register(Section, Key) ->
- write([<<"register">>, Section, Key]).
-
-wait(_) ->
- init:stop().
-
-do_tests() ->
- cfg_register(<<"s1">>),
- cfg_register(<<"s2">>, <<"k">>),
- wait(io:read("")).
-
-main([]) ->
- test_util:init_code_path(),
- do_tests().
@@ -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(),
View
@@ -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) $<
@@ -78,7 +82,7 @@ EXTRA_DIST = \
172-os-daemon-errors.3.es \
172-os-daemon-errors.4.es \
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
+ 180-http-proxy.t \
+ 190-json-stream-parse.t
@@ -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);
+}

0 comments on commit d47d7e9

Please sign in to comment.