From 030a31cd8717e8fc3376c42dd4bd088b4a117797 Mon Sep 17 00:00:00 2001 From: Ulf Wiger Date: Fri, 12 Feb 2016 11:15:59 -0800 Subject: 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 --- test/rvi_core_SUITE.erl | 119 ++++++++++++++++++++++++++---------------------- 1 file changed, 65 insertions(+), 54 deletions(-) (limited to 'test') 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. -- cgit v1.2.1