mad_compile_SUITE.erl 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. -module(mad_compile_SUITE).
  2. -export([all/0]).
  3. -export([erl_files/1]).
  4. -export([app_src_files/1]).
  5. -export([is_app_src/1]).
  6. -export([app_src_to_app/1]).
  7. -export([erl_to_beam/1]).
  8. -export([is_compiled/1]).
  9. -export([deps/1]).
  10. -import(helper, [get_value/2]).
  11. all() ->
  12. [
  13. erl_files, app_src_files, is_app_src, app_src_to_app, erl_to_beam, deps,
  14. is_compiled
  15. ].
  16. erl_files(Config) ->
  17. DataDir = get_value(data_dir, Config),
  18. SrcDir = filename:join([DataDir, "deps", "one", "src"]),
  19. ErlFile = filename:join(SrcDir, "one.erl"),
  20. [ErlFile] = mad_compile:erl_files(SrcDir).
  21. app_src_files(Config) ->
  22. DataDir = get_value(data_dir, Config),
  23. SrcDir = filename:join([DataDir, "deps", "one", "src"]),
  24. AppSrcFile = filename:join(SrcDir, "one.app.src"),
  25. [AppSrcFile] = mad_compile:app_src_files(SrcDir).
  26. is_app_src(_) ->
  27. false = mad_compile:is_app_src("/path/to/file.erl"),
  28. true = mad_compile:is_app_src("/path/to/file.app.src").
  29. app_src_to_app(_) ->
  30. "file.app" = mad_compile:app_src_to_app("/path/to/file.app.src").
  31. erl_to_beam(_) ->
  32. "/path/to/ebin/file.beam" = mad_compile:erl_to_beam("/path/to/ebin",
  33. "/path/to/file.erl").
  34. deps(Config) ->
  35. DataDir = get_value(data_dir, Config),
  36. Deps = [{one, "", {}}, {two, "", {}}],
  37. ok = mad_compile:deps(DataDir, Deps),
  38. pong = one:ping(),
  39. pong = two:ping(),
  40. ok = application:load(one),
  41. ok = application:load(two),
  42. {ok, [one]} = application:get_key(one, modules),
  43. {ok, [two]} = application:get_key(two, modules).
  44. is_compiled(Config) ->
  45. DataDir = get_value(data_dir, Config),
  46. SrcDir = filename:join([DataDir, "deps", "one", "src"]),
  47. EbinDir = filename:join([SrcDir, "..", "ebin"]),
  48. false = mad_compile:is_compiled(EbinDir, filename:join(SrcDir, "x.erl")),
  49. true = mad_compile:is_compiled(EbinDir, filename:join(SrcDir, "one.erl")).