Age | Commit message (Collapse) | Author |
|
The tests were waiting for the test group to finish before
they could continue with the next test group. Now "core"
and "all" targets directly depend on individual test cases,
allowing parallel Make to get to the next tests quicker and
removing 1/3rd of the total run time.
make check -j8 -k 5790,16s user 1207,08s system 627% cpu 18:35,49 total
make check -j8 -k 6250,13s user 1326,77s system 972% cpu 12:59,16 total
|
|
Instead of calling `find` we use $(wildcard ...) and some
logic on top to find all the files we are looking for.
This is more efficient and greatly helps reduce re-build
times when there's little to be done, particularly when
many dependencies are involved.
|
|
Also remove usage of grep for ignoring files since find
can do this directly.
|
|
Internally, strings were stored using Unicode code points. However, when
being written to disk with the `file:write_file()` function, there were
converted to ISO-8859-1. According to the documentation, that is because
the file module is bytewise-oriented: the conversion to another encoding
than ISO-8859-1 is the responsibility of the caller.
Using unicode:character_to_binary() permits the script to convert the
Unicode string to an UTF-8-encoded binary.
Without this patch, the added testcase would fail with the following
error:
gmake[3]: *** No rule to make target '(...)/erlang.mk/test/h��test_core_makedep_non_usascii_paths/deps/test_core_makedep_non_usascii_paths_dep/include/hello.hrl', needed by 'src/hello.erl'. Stop.
In this case, the path (passed from the Makefile to the `makedep.erl`
script) contains UTF-8-encoded `é` characters but it was converted when
doing the final file I/O.
|
|
And use this in the tests to fetch Rebar only once and then
clone from the local repository. This should speed up tests
a little.
|
|
|
|
|
|
|