| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`unit` can't be bound any more than `none` can.
This resulted in slightly improved analysis in some cases, taking
notice of more functions in OTP that lacked a local return, so I've
added specs to those functions in order to silence the warnings.
The pattern for that is:
```erlang
try function_that_returns_unit() catch _:_ -> error(xyz) end
```
Previously, this expression was treated as returning unit() even
though it could only ever return none(), as the wrapped function
would never return.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a --enable-deterministic-build to the configure script,
which sets ERL_DETERMINISTIC=yes throughout the relevant
Makefiles, which then invoke the relevant build stages with the
+deterministic option.
This addresses absolute paths being included in generated .erl files
and compiled .beam files that resulted in builds from different source
directories generating different artefacts (which is a component of the
issue in erlang#4482).
I think it would make sense to make this the default at some stage, but
I've put the change behind a flag for now to decouple
making deterministic OTP builds possible from making them the default.
Having +deterministic set results in compiler options being
removed from the module info for modules where this options was used.
This may have other implications for users of OTP.
For tests themselves, +determinism is not set, since many test cases
depend on accessing the test module's compilation options, or other
features not available in deterministic mode, in order to configure
themselves. For tests of the determinism feature specifically,
+deterministic must be explicitly passed to the compiler within the
relevant test cases.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
OTP-17892
* max-au/remove-emem:
Update configure scripts
[beam] remove allocator wrappers
[erts, tools] remove "emem" completely
|
| |
| |
| |
| |
| |
| | |
Test suites for the tool were lost long ago. Removing "liberts.a"
library as well, for it is now empty and AR on MacOS/Windows
does not like empty libraries.
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
|
|
| |
Removing ?t retained for backward compatibility allows to
search for test_server callsites easier.
Replace ?t:fail and test_server:fail with ct:fail.
|
| |
|
|
|
|
| |
This reverts commit 221e41bd32e433f6e08bbfedb013fc49c9aa1283.
|
| |
|
|
|
|
|
|
|
| |
Remove the current date/time in rel, script and application resource
files generated by reltool_target.
Contributes to #4417 (ERL-1445) and #4482 (ERL-1446).
|
|
|
|
| |
This reverts commit 1cc1d15c4e54c1d9d8c34a4c66193a95b10c479a.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
If ERL_LIBS is set when the testrun is started
the reltool_server_SUITE fails to run. So we clear
it before we start that suite and restore it
afterwards in case in contains something we need.
|
| |
| |
| |
| | |
This reverts commit bbc0f3386c2546af25936730742d8dee1664f1dd.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Both Mix and Rebar allow some applications to be absent
at runtime - sometimes also known as optional dependencies.
However, given optional applications are not stored in .app
resource files, releases do not consider optional applications
in its boot order, leaving it up to chance if an optional app
will be started before its parent.
Users can try to explicitly list optional applications on their
release definition files, but given the order is not enforced,
this manual specification may be reordered when new apps are
added, leaving developers with broken releases.
This PR introduces the "optional_applications" field to .app
resource files. If an application is listed on both "applications"
and "optional_applications", it will be attempted to be started
before its parent but the parent won't fail to start in case it
is missing:
If application "b" is an optional application for application "a",
and application "b" is missing, "application:start(a)" will still
succeed.
If application "b" is an optional application for application "a",
and application "b" is available, "application:ensure_all_started(a)"
will automatically start application "b" before "a".
systools and reltool have also been modified to consider
optional_applications.
|
|/ |
|
|
|
|
|
| |
The internal state of reltool does not sort the erl_libs
so neither should the test functions.
|
|
|
|
|
|
|
|
|
|
|
|
| |
We add `seemfa`, `seeerl`, `seetype`, `seeapp`, `seecom`, `seecref`
, `seefile` and `seeguide` in order to make it easier to reason
about what each link points to without examining the target.
This information will then be embedded in the EEP-48 chunks for
usage by other tools.
The tool used can be found here:
https://gist.github.com/garazdawi/68527d92ae5b37c8f129bfbdfffdfa68
|
| |
|
|
|
|
|
| |
The variable can be set to pdf, html, man or chunks
and also any combination of the above.
|
| |
|
|\ |
|
| | |
|
| | |
|
|/
|
|
| |
The added make target is described in HOWTO/TESTING.md.
|
| |
|
|
|
|
| |
This reverts commit 425889ba69b69a9b6fb14bfbef121d51b78e853a.
|
| |
|
|
|
|
| |
This reverts commit 0118046f9bda8dcf3594184fa439b79267db8017.
|
| |
|
|
|
|
| |
This reverts commit df130102cdeca8d35fec95a0c926fd1cfec54eab.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
* siri/cuddle-master:
Update sasl/test/test_lib.hrl with recent versions of kernel and stdlib
[logger] Fix faulty report_cb in logger_disk_log_h_SUITE:logging/1
[cdv] Update compiler directive for release compatibility
[reltool] Make test pass when $ERL_LIBS is set
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds a rel tuple to the reltool release specific configuration
format as {rel, Name, Vsn, RelApps, Opts} to support the use of
{rel, Name, Vsn, RelApps, [{load_dot_erlang, false}]} for preventing
the insertion of {apply,{c,erlangrc,[]}} into the release script file
and the release boot file.
This change makes it possible to prevent releases generated with
reltool from attempting to load a ${HOME}/.erlang file which is
desirable for production deployment of Erlang, to have greater control
of what BEAM evaluates. The ${HOME}/.erlang file lacks visibility and
its location on the filesystem separate from where the release lives
means it can be misused in a way that lacks visibility.
|
|\ \ |
|
| | | |
|
| | |
| | |
| | |
| | | |
introduced after OTP_R13B03.
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | | |
* maint:
Updated OTP version
Prepare release
|
| | | |
|
|\ \ \
| |/ / |
|
| | | |
|