anchor.diff:  -export([all/0, suite/0, groups/0, init_per_suite/1, end_per_suite/1,
   	 init_per_group/2, end_per_group/2,
   	 app_test/1, appup_test/1, eunit_test/1, eunit_exact_test/1,
  -         surefire_utf8_test/1, surefire_latin_test/1,
  -	 surefire_c0_test/1, surefire_ensure_dir_test/1,
  +         fixture_test/1, primitive_test/1, surefire_utf8_test/1,
  +         surefire_latin_test/1, surefire_c0_test/1, surefire_ensure_dir_test/1,
   	 stacktrace_at_timeout_test/1]).
  +
  +-export([sample_gen/0]).
   
   -include_lib("common_test/include/ct.hrl").
   -define(TIMEOUT, 1000).
  
positive.code: 
  eunit_exact_test(Config) when is_list(Config) ->
      ok = file:set_cwd(code:lib_dir(eunit)),
      ok = eunit:test([eunit, eunit_tests],
                      [{report, {eunit_test_listener, [self()]}}]),
      check_test_results(14, 0, 0, 0),
      ok = eunit:test([eunit, eunit_tests],
                      [{report, {eunit_test_listener, [self()]}},
                       {exact_execution, false}]),
      check_test_results(14, 0, 0, 0),
      ok = eunit:test([eunit, eunit_tests],
                      [{report, {eunit_test_listener, [self()]}},
                       {exact_execution, true}]),
      check_test_results(7, 0, 0, 0),
      ok.
  
  check_test_results(Pass, Fail, Skip, Cancel) ->
      receive
          {test_report, TestReport} ->
              #{pass := Pass, fail := Fail,
                skip := Skip, cancel := Cancel} = TestReport
      after ?TIMEOUT ->
              ct:fail(no_test_report_not_received)
      end.
  
negative.code: suite() -> [{ct_hooks,[ts_install_cth]}].
  
  all() ->
      [app_test, appup_test, eunit_test, eunit_exact_test, primitive_test,
       fixture_test, surefire_utf8_test, surefire_latin_test, surefire_c0_test,
       surefire_ensure_dir_test, stacktrace_at_timeout_test].
  
  groups() ->
      [].
  