Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

127 linhas
4.5 KiB

  1. -module(rebar_cover_SUITE).
  2. -export([suite/0,
  3. init_per_suite/1,
  4. end_per_suite/1,
  5. init_per_testcase/2,
  6. all/0,
  7. flag_coverdata_written/1,
  8. config_coverdata_written/1,
  9. index_written/1,
  10. config_alt_coverdir/1,
  11. flag_verbose/1,
  12. config_verbose/1]).
  13. -include_lib("common_test/include/ct.hrl").
  14. -include_lib("eunit/include/eunit.hrl").
  15. -include_lib("kernel/include/file.hrl").
  16. suite() ->
  17. [].
  18. init_per_suite(Config) ->
  19. Config.
  20. end_per_suite(_Config) ->
  21. ok.
  22. init_per_testcase(_, Config) ->
  23. rebar_test_utils:init_rebar_state(Config, "cover_").
  24. all() ->
  25. [flag_coverdata_written, config_coverdata_written,
  26. index_written,
  27. config_alt_coverdir,
  28. flag_verbose, config_verbose].
  29. flag_coverdata_written(Config) ->
  30. AppDir = ?config(apps, Config),
  31. Name = rebar_test_utils:create_random_name("cover_"),
  32. Vsn = rebar_test_utils:create_random_vsn(),
  33. rebar_test_utils:create_eunit_app(AppDir, Name, Vsn, [kernel, stdlib]),
  34. RebarConfig = [{erl_opts, [{d, some_define}]}],
  35. rebar_test_utils:run_and_check(Config,
  36. RebarConfig,
  37. ["eunit", "--cover"],
  38. {ok, [{app, Name}]}),
  39. true = filelib:is_file(filename:join([AppDir, "_build", "test", "cover", "eunit.coverdata"])).
  40. config_coverdata_written(Config) ->
  41. AppDir = ?config(apps, Config),
  42. Name = rebar_test_utils:create_random_name("cover_"),
  43. Vsn = rebar_test_utils:create_random_vsn(),
  44. rebar_test_utils:create_eunit_app(AppDir, Name, Vsn, [kernel, stdlib]),
  45. RebarConfig = [{erl_opts, [{d, some_define}]}, {cover_enabled, true}],
  46. rebar_test_utils:run_and_check(Config,
  47. RebarConfig,
  48. ["eunit"],
  49. {ok, [{app, Name}]}),
  50. true = filelib:is_file(filename:join([AppDir, "_build", "test", "cover", "eunit.coverdata"])).
  51. index_written(Config) ->
  52. AppDir = ?config(apps, Config),
  53. Name = rebar_test_utils:create_random_name("cover_"),
  54. Vsn = rebar_test_utils:create_random_vsn(),
  55. rebar_test_utils:create_eunit_app(AppDir, Name, Vsn, [kernel, stdlib]),
  56. RebarConfig = [{erl_opts, [{d, some_define}]}],
  57. rebar_test_utils:run_and_check(Config,
  58. RebarConfig,
  59. ["do", "eunit", "--cover", ",", "cover"],
  60. {ok, [{app, Name}]}),
  61. true = filelib:is_file(filename:join([AppDir, "_build", "test", "cover", "index.html"])).
  62. config_alt_coverdir(Config) ->
  63. AppDir = ?config(apps, Config),
  64. Name = rebar_test_utils:create_random_name("cover_"),
  65. Vsn = rebar_test_utils:create_random_vsn(),
  66. rebar_test_utils:create_eunit_app(AppDir, Name, Vsn, [kernel, stdlib]),
  67. CoverDir = filename:join(["coverage", "goes", "here"]),
  68. RebarConfig = [{erl_opts, [{d, some_define}]}, {cover_data_dir, CoverDir}],
  69. rebar_test_utils:run_and_check(Config,
  70. RebarConfig,
  71. ["do", "eunit", "--cover", ",", "cover"],
  72. {ok, [{app, Name}]}),
  73. true = filelib:is_file(filename:join([CoverDir, "index.html"])).
  74. flag_verbose(Config) ->
  75. AppDir = ?config(apps, Config),
  76. Name = rebar_test_utils:create_random_name("cover_"),
  77. Vsn = rebar_test_utils:create_random_vsn(),
  78. rebar_test_utils:create_eunit_app(AppDir, Name, Vsn, [kernel, stdlib]),
  79. RebarConfig = [{erl_opts, [{d, some_define}]}],
  80. rebar_test_utils:run_and_check(Config,
  81. RebarConfig,
  82. ["do", "eunit", "--cover", ",", "cover", "--verbose"],
  83. {ok, [{app, Name}]}),
  84. true = filelib:is_file(filename:join([AppDir, "_build", "test", "cover", "index.html"])).
  85. config_verbose(Config) ->
  86. AppDir = ?config(apps, Config),
  87. Name = rebar_test_utils:create_random_name("cover_"),
  88. Vsn = rebar_test_utils:create_random_vsn(),
  89. rebar_test_utils:create_eunit_app(AppDir, Name, Vsn, [kernel, stdlib]),
  90. RebarConfig = [{erl_opts, [{d, some_define}]}, {cover_print_enabled, true}],
  91. rebar_test_utils:run_and_check(Config,
  92. RebarConfig,
  93. ["do", "eunit", "--cover", ",", "cover"],
  94. {ok, [{app, Name}]}),
  95. true = filelib:is_file(filename:join([AppDir, "_build", "test", "cover", "index.html"])).