Not every system under test can be run with long names, and this makes
rebar's common_test support useless in those environments, as it
currently uses long names (test@hostname.domain) by default, without
recourse to change them.
This patch adds support for a {ct_use_short_names, boolean()} config
variable, which allows the user to specify whether short or long names
are required.
* Typos and other minor bug fixes
* Add "attach" command (via -remsh)
* Add "upgrade" command to install a hot upgrade package
* Add "upgrade" subcommand to UNIX runner script as well
Rebar has support for optional compilers built-in. These compilers might
not be installed causing xref to return errors for the undefined external
function calls query. The updated filter list will catch this error and
act as a nop if they are installed.
bin/<release_name> console -kernel test '[{"a","b"}]' fails, because
when $@ is inserted into CMD [{"a","b"}] is interpreted.
Fix the same issue for 'start' command and quote all arguments.
The custom queries are configured in rebar.config via the tuple
{xref_queries, [{query(), query_result()},...]}. The implementation
passes the query() string to xref:q and compares the return value with
query_result(). It will result in an error if they do not match.
The following configuration, for example, is the same as running the
xref check undefined_function_calls. It additionally filters
ejabberd_logger:*_msg/4 from the result as these functions are generated
on execution by ejabberd and not available at compile time.
{xref_queries, [{"(XC - UC) || (XU - X - B -
(\"ejabberd_logger\":\".*_msg\"/\"4\"))",[]}]}.
This patch also modifies the build process of this package by running a
custom query instead of doing a diff against a static xref_warning file.