mad_utils_SUITE.erl 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. -module(mad_utils_SUITE).
  2. -export([all/0]).
  3. -export([cwd/1]).
  4. -export([exec/1]).
  5. -export([home/1]).
  6. -export([consult/1]).
  7. -export([rebar_conf/1]).
  8. -export([src/1]).
  9. -export([include/1]).
  10. -export([ebin/1]).
  11. -export([deps/1]).
  12. -export([get_value/1]).
  13. -export([script/1]).
  14. -export([lib_dirs/1]).
  15. -export([sub_dirs/1]).
  16. -export([https_to_git/1]).
  17. -export([git_to_https/1]).
  18. -export([last_modified/1]).
  19. -import(helper, [get_value/2]).
  20. all() ->
  21. [
  22. cwd, exec, home, consult, rebar_conf, src, include, ebin, deps, get_value,
  23. script, lib_dirs, sub_dirs, https_to_git, git_to_https, last_modified
  24. ].
  25. cwd(_) ->
  26. Cwd = os:cmd("pwd") -- "\n",
  27. Cwd = mad_utils:cwd().
  28. exec(_) ->
  29. "xyz" = mad_utils:exec("echo", ["-n", "xyz"]).
  30. home(_) ->
  31. Home = os:cmd("echo $HOME") -- "\n",
  32. Home = mad_utils:home().
  33. consult(Config) ->
  34. File = filename:join(get_value(data_dir, Config), "rebar"),
  35. [] = mad_utils:consult(File),
  36. [{deps, [
  37. {mad, ".*", {git, "git://github.com/s1n4/mad.git",
  38. {branch, "master"}}}
  39. ]},
  40. {erl_opts, [d, 'X']}] = mad_utils:consult(File ++ ".config").
  41. rebar_conf(Config) ->
  42. [] = mad_utils:rebar_conf("."),
  43. [{deps, [
  44. {mad, ".*", {git, "git://github.com/s1n4/mad.git",
  45. {branch, "master"}}}
  46. ]},
  47. {erl_opts, [d, 'X']}] = mad_utils:rebar_conf(get_value(data_dir, Config)).
  48. src(_) ->
  49. "/path/to/app/src" = mad_utils:src("/path/to/app").
  50. include(_) ->
  51. "/path/to/app/include" = mad_utils:include("/path/to/app").
  52. ebin(_) ->
  53. "/path/to/app/ebin" = mad_utils:ebin("/path/to/app").
  54. deps(Config) ->
  55. File = filename:join(get_value(data_dir, Config), "rebar"),
  56. [] = mad_utils:deps(File),
  57. [{mad, ".*",
  58. {git, "git://github.com/s1n4/mad.git", {branch, "master"}
  59. }}] = mad_utils:deps(File ++ ".config").
  60. get_value(_) ->
  61. Opts = [{numbers, [0,1,2,"and so on"]}],
  62. patience_dude = mad_utils:get_value(gimme_wat_I_want, Opts, patience_dude),
  63. [0,1,2,"and so on"] = mad_utils:get_value(numbers, Opts, undefined).
  64. script(Config) ->
  65. [a, b, c] = mad_utils:script(mad_utils:cwd(), [a, b, c]),
  66. Dir = get_value(data_dir, Config),
  67. [{sub_dirs, ["sub_dir1", "sub_dir2"]},
  68. a, b, c] = mad_utils:script(Dir, [a, b, c]).
  69. sub_dirs(Config) ->
  70. ["/sub_dir0"] = mad_utils:sub_dirs("/", [{sub_dirs, ["sub_dir0"]}]),
  71. DataDir = get_value(data_dir, Config),
  72. SD1 = filename:absname(filename:join(DataDir, "sub_dir1")),
  73. SD2 = filename:join(SD1, "trap"),
  74. SD3 = filename:absname(filename:join(DataDir, "sub_dir2")),
  75. SD4 = filename:join(SD3, "time-machine"),
  76. [
  77. SD1, SD2, SD3, SD4
  78. ] = mad_utils:sub_dirs(DataDir, [{sub_dirs, ["sub_dir1", "sub_dir2"]}]).
  79. lib_dirs(Config) ->
  80. [] = mad_utils:lib_dirs("/", [{lib_dirs, ["lib_dir0"]}]),
  81. DataDir = get_value(data_dir, Config),
  82. LD1 = filename:absname(filename:join([DataDir, "lib_dir1", "app1", "ebin"])),
  83. LD2 = filename:absname(filename:join([DataDir, "lib_dir2", "app2", "ebin"])),
  84. [LD1, LD2] = mad_utils:lib_dirs(DataDir,
  85. [{lib_dirs, ["lib_dir1", "lib_dir2"]}]).
  86. https_to_git(_) ->
  87. Repo = "https://github.com/erlang/otp.git",
  88. "git://github.com/erlang/otp.git" = mad_utils:https_to_git(Repo).
  89. git_to_https(_) ->
  90. Repo = "git://github.com/s1n4/some_secret.git",
  91. "https://github.com/s1n4/some_secret.git" = mad_utils:git_to_https(Repo).
  92. last_modified(Config) ->
  93. 0 = mad_utils:last_modified("you_mad_bro"),
  94. DataDir = get_value(data_dir, Config),
  95. true = (mad_utils:last_modified(DataDir ++ "rebar.config") > 0).