From fa8456a96f099b4aa878b6cea7e3fef0e6da1e63 Mon Sep 17 00:00:00 2001
From: Michael Santos <michael.santos@gmail.com>
Date: Tue, 5 Apr 2011 20:45:17 -0400
Subject: heart: remove garbage appended to heart command

heart:get_cmd/0 is documented to return an empty string if the command is
cleared. get_cmd/0 returns 2 extra bytes: 1 byte for the trailing null,
1 byte from the op (the op is an unsigned char and 2 bytes are allocated
for it in the returned buffer).

1> heart:get_cmd().
{ok,[0,0]}
2> heart:set_cmd("echo hello").
ok
3> heart:get_cmd().
{ok,[101,99,104,111,32,104,101,108,108,111,0,0]}
4> heart:clear_cmd().
ok
5> heart:get_cmd().
{ok,[0,99]}
---
 lib/kernel/test/heart_SUITE.erl | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

(limited to 'lib/kernel')

diff --git a/lib/kernel/test/heart_SUITE.erl b/lib/kernel/test/heart_SUITE.erl
index 043c753cf8..233e438dc9 100644
--- a/lib/kernel/test/heart_SUITE.erl
+++ b/lib/kernel/test/heart_SUITE.erl
@@ -22,7 +22,7 @@
 
 -export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1, 
 	 init_per_group/2,end_per_group/2, start/1, restart/1, 
-	 reboot/1, set_cmd/1, clear_cmd/1,
+	 reboot/1, set_cmd/1, clear_cmd/1, get_cmd/1,
 	 dont_drop/1, kill_pid/1]).
 
 -export([init_per_testcase/2, end_per_testcase/2]).
@@ -58,7 +58,7 @@ end_per_testcase(_Func, Config) ->
 suite() -> [{ct_hooks,[ts_install_cth]}].
 
 all() -> 
-    [start, restart, reboot, set_cmd, clear_cmd, kill_pid].
+    [start, restart, reboot, set_cmd, clear_cmd, get_cmd, kill_pid].
 
 groups() -> 
     [].
@@ -246,6 +246,15 @@ clear_cmd(Config) when is_list(Config) ->
 	  end,
     ok.
 
+get_cmd(suite) -> [];
+get_cmd(Config) when is_list(Config) ->
+    ?line {ok, Node} = start_check(slave, heart_test),
+    Cmd = "test",
+    ?line ok = rpc:call(Node, heart, set_cmd, [Cmd]),
+    ?line {ok, Cmd} = rpc:call(Node, heart, get_cmd, []),
+    stop_node(Node),
+    ok.
+
 dont_drop(suite) -> 
 %%% Removed as it may crash epmd/distribution in colourful
 %%% ways. While we ARE finding out WHY, it would
-- 
cgit v1.2.3