Don't take the log from the GIT_DIR but whatever was the latest change for finding the vsn version
Only abort eunit command if 'keep_going' flag is not set
Per default write common_test xml result if common_test hook is available
Include EUnit HTML reporter
Include EUnit XML reporter (slight modified copy of eunit_surefire)
Allow Eunit to exclude test paths using regex patterns

In order to make it possible to filter out files that shall not
be treated by Eunit. The following parameter specifies a list
of regexps that are tried on each file that rebar finds. If a
regexp match, that particular file will be excluded from the
set of files that Eunit will operate on. Example:

  {eunit_exlude_patterns, ["test/.*"]}.

The above will exclude any files in the test directory.

Also, removed the hardcoded {d,TEST} setting for eunit since
it conflicted with local definitions. If needed, it should
be set via the eunit_compile_opts parameter.

Conflicts:
        rebar.config.sample
Fix bug for correct console output in the corner case of 100% coverage
Change coverage reports to include covered and total number of lines
Add exclusive coverage report (suite M_tests reports coverage for module M)

Add option cover_type to control behaviour of coverage reporting.
Values:
        accumulated (default): coverage for all modules in the app are
        reported, even those without a specific unit test.  Modules
        that are used indirectly might get coverage and tested modules
        might get coverage from other tests.

        exclusive: coverage tests for module M, i.e., M_tests, will
        report coverage only for module M.  No indirect coverage is
        reported.

Add open cover_symmary to save summary of coverage to file.  If true
(default is false), one line (<covered lines> <total lines>) is saved
to the file '.eunit/cover_summary.txt'.

Made option handling of cover_type, coverage_summary,
cover_enabled, cover_print_enabled settable either in config file or
from command line.  A value on the command line takes precedence over
a value given in the config file.  [Ideally, all option handling
should work like this]
Move writing of cover report for module after the test has been run

Fix bug when using cover_type=exclusive which made HTML coverage files
incorrectly report zero coverage for all but the last run (tested)
module.  Now we write the HTML cover report directly after the test,
making it safe to do a cover:reset() before running each test.
Integrate covertool
Skip illegal characters when creating the XML text

Tests can output any valid byte, but XML specification restricts the set of
valid chars to:

Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]

As we receive the output in a binary, the range starting in 16#100 is out of
scope. However, it is possible to receive an output containing illegal bytes in
the range 0x00..0x1F.

We skip those as it is not possible to escape them in any way.
Write chars as UTF-8 to file
Don't check for dependencies before compiling when skip_apps is true

Otherwise we have to configure the paths for them
Fix issue were an old version of systools would be used.
Allow for a user provided relup and to include the runtime in an upgrade release.
Allow skip_deps=true for 'get-deps'
Stop cover between eunit runs for speed.

Cover gets slower and slower for each application. This is due to
the cover_server internal state. Stopping the cover between eunit+cover
runs, emptying the cover_server state, gives a ~5-6 speed improvement
on systems with a lot of dependencies. Stopping the cover replaces the
earlier practice of doing a cover:reset before each run.
Fix duplicated test macro

Don't add {d, 'TEST'} if it is already in the list of compile
options when compiling for eunit testing.
Fix eunit compile with custom src dirs

Use the src_dirs option to determine which files to use for tests.
This fixes an issue that eunit crashes when it tries to do cover
analysis of files in custom src directories.