-module(mad_utils_SUITE). -export([all/0]). -export([cwd/1]). -export([exec/1]). -export([home/1]). -export([consult/1]). -export([rebar_conf/1]). -export([src/1]). -export([include/1]). -export([ebin/1]). -export([deps/1]). -export([get_value/1]). -export([script/1]). -export([lib_dirs/1]). -export([sub_dirs/1]). -export([https_to_git/1]). -export([git_to_https/1]). -export([last_modified/1]). -import(helper, [get_value/2]). all() -> [ cwd, exec, home, consult, rebar_conf, src, include, ebin, deps, get_value, script, lib_dirs, sub_dirs, https_to_git, git_to_https, last_modified ]. cwd(_) -> Cwd = os:cmd("pwd") -- "\n", Cwd = mad_utils:cwd(). exec(_) -> "xyz" = mad_utils:exec("echo", ["-n", "xyz"]). home(_) -> Home = os:cmd("echo $HOME") -- "\n", Home = mad_utils:home(). consult(Config) -> File = filename:join(get_value(data_dir, Config), "rebar"), [] = mad_utils:consult(File), [{deps, [ {mad, ".*", {git, "git://github.com/s1n4/mad.git", {branch, "master"}}} ]}, {erl_opts, [d, 'X']}] = mad_utils:consult(File ++ ".config"). rebar_conf(Config) -> [] = mad_utils:rebar_conf("."), [{deps, [ {mad, ".*", {git, "git://github.com/s1n4/mad.git", {branch, "master"}}} ]}, {erl_opts, [d, 'X']}] = mad_utils:rebar_conf(get_value(data_dir, Config)). src(_) -> "/path/to/app/src" = mad_utils:src("/path/to/app"). include(_) -> "/path/to/app/include" = mad_utils:include("/path/to/app"). ebin(_) -> "/path/to/app/ebin" = mad_utils:ebin("/path/to/app"). deps(Config) -> File = filename:join(get_value(data_dir, Config), "rebar"), [] = mad_utils:deps(File), [{mad, ".*", {git, "git://github.com/s1n4/mad.git", {branch, "master"} }}] = mad_utils:deps(File ++ ".config"). get_value(_) -> Opts = [{numbers, [0,1,2,"and so on"]}], patience_dude = mad_utils:get_value(gimme_wat_I_want, Opts, patience_dude), [0,1,2,"and so on"] = mad_utils:get_value(numbers, Opts, undefined). script(Config) -> [a, b, c] = mad_utils:script(mad_utils:cwd(), [a, b, c]), Dir = get_value(data_dir, Config), [{sub_dirs, ["sub_dir1", "sub_dir2"]}, a, b, c] = mad_utils:script(Dir, [a, b, c]). sub_dirs(Config) -> ["/sub_dir0"] = mad_utils:sub_dirs("/", [{sub_dirs, ["sub_dir0"]}]), DataDir = get_value(data_dir, Config), SD1 = filename:absname(filename:join(DataDir, "sub_dir1")), SD2 = filename:join(SD1, "trap"), SD3 = filename:absname(filename:join(DataDir, "sub_dir2")), SD4 = filename:join(SD3, "time-machine"), [ SD1, SD2, SD3, SD4 ] = mad_utils:sub_dirs(DataDir, [{sub_dirs, ["sub_dir1", "sub_dir2"]}]). lib_dirs(Config) -> [] = mad_utils:lib_dirs("/", [{lib_dirs, ["lib_dir0"]}]), DataDir = get_value(data_dir, Config), LD1 = filename:absname(filename:join([DataDir, "lib_dir1", "app1", "ebin"])), LD2 = filename:absname(filename:join([DataDir, "lib_dir2", "app2", "ebin"])), [LD1, LD2] = mad_utils:lib_dirs(DataDir, [{lib_dirs, ["lib_dir1", "lib_dir2"]}]). https_to_git(_) -> Repo = "https://github.com/erlang/otp.git", "git://github.com/erlang/otp.git" = mad_utils:https_to_git(Repo). git_to_https(_) -> Repo = "git://github.com/s1n4/some_secret.git", "https://github.com/s1n4/some_secret.git" = mad_utils:git_to_https(Repo). last_modified(Config) -> 0 = mad_utils:last_modified("you_mad_bro"), DataDir = get_value(data_dir, Config), true = (mad_utils:last_modified(DataDir ++ "rebar.config") > 0).