summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorUlf Wiger <ulf@feuerlabs.com>2016-02-12 11:15:59 -0800
committerUlf Wiger <ulf@feuerlabs.com>2016-02-12 11:15:59 -0800
commit030a31cd8717e8fc3376c42dd4bd088b4a117797 (patch)
tree0ef4ab150a50438023f97ed96d17260dbd6b5aca /test
parent3b8f8579451a37e2c45fc4d2adfb439d72942a13 (diff)
downloadrvi_core-030a31cd8717e8fc3376c42dd4bd088b4a117797.tar.gz
Adapt test suite to new scripts, scripts more flexible, bt not default
- rvi_install & rvi_ctl adapted so they can be run from different directories - ensure that RVI_LOGDIR is respected consistently - RVI_RUNDIR allows for specifying where the boot scripts are stored - bt apps excluded by default, can be put back in through config if needed
Diffstat (limited to 'test')
-rw-r--r--test/rvi_core_SUITE.erl119
1 files changed, 65 insertions, 54 deletions
diff --git a/test/rvi_core_SUITE.erl b/test/rvi_core_SUITE.erl
index c61e8ce..bd1a996 100644
--- a/test/rvi_core_SUITE.erl
+++ b/test/rvi_core_SUITE.erl
@@ -219,90 +219,86 @@ t_sample_keys_and_cert(Config) ->
generate_sota_cred(sample, Dir, CredDir, Config).
t_install_backend_node(_Config) ->
- install_rvi_node("basic_backend", env(),
- [root(), "/priv/test_config/basic_backend.config"]).
+ install_backend_node("basic_backend").
t_install_sample_node(_Config) ->
- install_sample_node("basic_sample", "basic_sample.config").
+ install_sample_node("basic_sample").
t_install_sms_backend_node(_Config) ->
- install_rvi_node("sms_backend", env(),
- [root(), "/priv/test_config/sms_backend.config"]).
+ install_backend_node("sms_backend").
t_install_sms_sample_node(_Config) ->
- install_sample_node("sms_sample", "sms_sample.config").
+ install_sample_node("sms_sample").
t_install_tls_backend_node(_Config) ->
- install_rvi_node("tls_backend", env(),
- [root(), "/priv/test_config/tls_backend.config"]).
+ install_backend_node("tls_backend").
t_install_tls_sample_node(_Config) ->
- install_sample_node("tls_sample", "tls_sample.config").
+ install_sample_node("tls_sample").
t_install_tlsj_backend_node(_Config) ->
- install_rvi_node("tlsj_backend", env(),
- [root(), "/priv/test_config/tlsj_backend.config"]).
+ install_backend_node("tlsj_backend").
t_install_tlsj_sample_node(_Config) ->
- install_sample_node("tlsj_sample", "tlsj_sample.config").
+ install_sample_node("tlsj_sample").
t_install_tls_backend_noverify_node(_Config) ->
- install_rvi_node("tls_backend_noverify", env(),
- [root(), "/priv/test_config/tls_backend_noverify.config"]).
+ install_backend_node("tls_backend_noverify").
t_install_tls_sample_noverify_node(_Config) ->
- install_sample_node("tls_sample_noverify", "tls_sample_noverify.config").
+ install_sample_node("tls_sample_noverify").
t_install_bt_backend_node(_Config) ->
- install_rvi_node("bt_backend", env(),
- [root(), "/priv/test_config/bt_backend.config"]).
+ install_backend_node("bt_backend").
t_install_bt_sample_node(_Config) ->
- install_sample_node("bt_sample", "bt_sample.config").
+ install_sample_node("bt_sample").
-generic_start(Name) ->
+start_backend(Name) -> generic_start(backend, Name).
+start_sample (Name) -> generic_start(sample , Name).
+
+generic_start(Type, Name) ->
+ {ok,Cwd} = file:get_cwd(),
F = filename:join([".", Name, "start_me.sh"]),
- Cmd = [env(),
- " ./", Name, "/rvi.sh",
- " -s ", Name,
- " -l ./", Name, "/rvi/log",
- " -d ./", Name,
- " -c ./", Name, "/priv/test_config/", Name, ".config",
- " $1"],
+ Cmd = [env(Type),
+ " RVI_RUNDIR=", filename:join(Cwd, Name),
+ " ./", Name, "/rvi_core/rvi_ctl",
+ " -c ./", Name, "/rvi_core/priv/test_config/", Name, ".config",
+ " $*"],
ok = save_cmd(F, Cmd),
- cmd([F, " start"]),
+ cmd(["sh -x ", F, " start"]),
await_started(Name).
t_start_basic_backend(_Config) ->
- generic_start("basic_backend").
+ start_backend("basic_backend").
t_start_basic_sample(_Config) ->
- generic_start("basic_sample").
+ start_sample("basic_sample").
t_start_bt_backend(_Config) ->
- generic_start("bt_backend").
+ start_backend("bt_backend").
t_start_bt_sample(_Config) ->
- generic_start("bt_sample").
+ start_sample("bt_sample").
t_start_tls_backend(_Config) ->
- generic_start("tls_backend").
+ start_backend("tls_backend").
t_start_tls_sample(_Config) ->
- generic_start("tls_sample").
+ start_sample("tls_sample").
t_start_tlsj_backend(_Config) ->
- generic_start("tlsj_backend").
+ start_backend("tlsj_backend").
t_start_tlsj_sample(_Config) ->
- generic_start("tlsj_sample").
+ start_sample("tlsj_sample").
t_start_tls_backend_noverify(_Config) ->
- generic_start("tls_backend_noverify").
+ start_backend("tls_backend_noverify").
t_start_tls_sample_noverify(_Config) ->
- generic_start("tls_sample_noverify").
+ start_sample("tls_sample_noverify").
t_register_lock_service(_Config) ->
Pid =
@@ -706,6 +702,15 @@ ensure_dir(Dir) ->
env() ->
"RVI_LOGLEVEL=debug RVI_MYIP=127.0.0.1 RVI_BACKEND=127.0.0.1".
+env(backend) ->
+ env();
+env(sample) ->
+ [env(),
+ " RVI_BACKEND=127.0.0.1 RVI_PORT=9000"
+ " RVI_MY_NODE_ADDR=127.0.0.1:9000"].
+
+
+
root() ->
code:lib_dir(rvi_core).
@@ -724,18 +729,28 @@ service_edge("sample" ) -> "http://localhost:9001".
rvi_log_addr("backend") -> "http://localhost:8809";
rvi_log_addr("sample" ) -> "http://localhost:9009".
-install_rvi_node(Name, Env, _ConfigF) ->
+install_backend_node(Name) ->
+ install_rvi_node(backend, Name).
+
+install_sample_node(Name) ->
+ install_rvi_node(sample, Name).
+
+install_rvi_node(Type, Name) ->
Root = code:lib_dir(rvi_core),
Scripts = filename:join(Root, "scripts"),
ct:log("Root = ~p", [Root]),
Cmd = lists:flatten(
- [Env, " ", Scripts, "/rvi_install.sh ./", Name]),
-
+ ["sh -x ", Scripts, "/rvi_install",
+ " -r ", filename:join(root_keys(), "root_cert.crt"),
+ " -d basic_backend_keys/device_cert.crt",
+ " -k basic_backend_keys/device_key.pem",
+ " -n ", Name,
+ creds(Type),
+ " ", Name, "/rvi_core"]),
ct:log("Cmd = `~s`", [Cmd]),
Res = cmd(Cmd),
ct:log("install_rvi_node/1 -> ~p", [Res]),
-
Res1 = cmd(lists:flatten(["install -d --mode 0755 ./", Name])),
ct:log("install_rvi_node/2 -> ~p", [Res1]),
@@ -744,17 +759,12 @@ install_rvi_node(Name, Env, _ConfigF) ->
Res2.
-install_sample_node(Name, ConfigF) ->
- Env = [env(),
- " RVI_BACKEND=127.0.0.1 RVI_PORT=9000"
- " RVI_MY_NODE_ADDR=127.0.0.1:9000"],
- install_rvi_node(Name, Env,
- [root(), "/priv/test_config/", ConfigF]).
-
-%% in_priv_dir(F, Cfg) ->
-%% %% PrivDir = ?config(priv_dir, Cfg),
-%% %% in_dir(PrivDir, F, Cfg).
-%% F(Cfg).
+creds(backend) ->
+ [" -c basic_backend_creds/backend_cred.jwt"
+ " -c basic_backend_creds/sota_backend_cred.jwt"];
+creds(sample) ->
+ [" -c basic_sample_creds/lock_cred.jwt"
+ " -c basic_sample_creds/sota_cred.jwt"].
cmd(C) ->
cmd(C, []).
@@ -896,7 +906,8 @@ no_errors(Dirs, PDir) ->
ct:log("Will check errors in ~p", [Dirs]),
true = lists:all(
fun(D) ->
- no_errors_(filename:join([PDir, D, "rvi", "log", "lager"]), D)
+ no_errors_(filename:join([PDir, D, "rvi_core",
+ "log", "lager"]), D)
end, Dirs),
ok.
@@ -913,6 +924,6 @@ log_is_empty(Log, F, Name) ->
ct:log("~s: ~s is not empty:~n~s", [Name, F, Content]),
false;
{error, Reason} ->
- ct:log("~s: Cannot read log ~s (~p)", [Name, F, Reason]),
+ ct:log("~s: Cannot read log ~s (~p)", [Name, Log, Reason]),
false
end.