Age | Commit message (Collapse) | Author |
|
In 8d7d5627, test_server:sleep/1 was changed to ct:sleep/1.
Change it to timer:sleep/1 to make the timing more exact
(ct:sleep/1 will call another process).
|
|
Allow an open operation to fail with {error,enoent}. That will
happen if the executable has compiled-in support for netns,
but the computer has not been configured for netns.
|
|
|
|
Some test machines have quite small hard drives. Help them by
remove temporary files in end_per_test_case/2.
|
|
On modern versions of Windows, creation of symlinks is supported,
but our test machines usually don't have permissions for creating
symlinks. Therefore, the has_links/0 that attempts to predict whether
link creation will work by testing version numbers will not do
any good.
Refactor the code so that test cases don't fail when links cannot
be created because of missing permissions.
|
|
There is never any corresponding get/1.
|
|
Seems that it can happen on Windows.
|
|
On Windows, we might not have permission to create symlinks.
Skip the test case instead of failing.
|
|
On old Solaris versions, many gen_sctp test cases fail. It is not
clear whether the implementation or the test cases or both must
be fixed.
The number of failed test cases is a problem, as other failed
test cases in the Kernel application might not be noticed.
For now, skip most test gen_sctp test cases on old Solaris platforms,
until the day that someone can mend the tests case and/or
implementation (or test machines die). Keep a few smoke test
cases.
|
|
|
|
Avoid interference between test cases.
|
|
On Windows, the pathname is likely to start with "C:/Program Files".
|
|
Eliminate gratuitous use of funs.
Don't limit the send attempts to 1000; it might not be enough.
Rely on four minut timetrap to fail the test case if there will
never be a send timeout error.
|
|
|
|
|
|
|
|
|
|
* egil/fix-filename_basedir-windows:
stdlib: Fix filename:basedir/2,3
|
|
* bjorn/optimize-start-up/OTP-13368:
Update preloaded modules
init: Load modules in parallel using the new loader BIFs
systools_make: Add commonly used modules to mandatory_modules/0
compile: Pre-load compiler modules when invoked from 'erlc'
|
|
* bjorn/asn1/modernize-tests:
Eliminate suite and doc clauses
Replace ?config() macro with proplists:get_value()
Modernize timetraps
Eliminate ?line macros
|
|
|
|
|
|
* lukas/kernel/error_logger_warn_fix/OTP-13184:
kernel: Fix progress check in error logger warn suite
|
|
* lukas/eldap/asn1hrl/OTP-13426:
eldap: Make sure to build out ASN.1 header
|
|
Good for test cases.
|
|
|
|
Good for test cases.
|
|
Conflicts:
lib/ssh/test/ssh_connection_SUITE.erl
|
|
|
|
|
|
|
|
|
|
Handle the case when the environment APPDATA is not set.
|
|
* egil/fix-percept-now/OTP-13422:
Modernize test suites
Use monotonic_time/1 instead of now/0
|
|
Add commonly used modules to the list of modules in
mandatory_modules/0. Having those modules listed will potentially
help the 'init' module to load them in parallel during start-up.
|
|
Slightly speed up 'erlc' by pre-loading the modules used
by the compiler. Write a test case to ensure that the correct
set of modules are loaded.
|
|
* bjorn/kernel/code_server-normalized-paths/OTP-13410:
code_server: Normalize the pathnames for all loaded modules
Update preloaded modules
init: Correct spec for fetch_loaded/1
|
|
|
|
|
|
On Windows, the pathnames for modules that are loaded early are
returned with mixed backslashes and slashes:
1> code:which(lists).
"C:\\Program Files\\erl8.0/lib/stdlib-2.7/ebin/lists.beam"
2>
Modules loaded later are fully normalized.
When starting the code_server, normalize the pathnames for all modules
that have been loaded so far.
|
|
* ia/public_key/EC-public_key/OTP-13408:
public_key: Handle PEM encoded EC public keys
|
|
to make it kill and then wait for all spawned processes to exit.
|
|
=== OTP-18.3 ===
Changed Applications:
- asn1-4.0.2
- common_test-1.12
- compiler-6.0.3
- cosNotification-1.2.1
- cosTime-1.2.1
- cosTransactions-1.3.1
- crypto-3.6.3
- debugger-4.1.2
- dialyzer-2.9
- diameter-1.11.2
- edoc-0.7.18
- eldap-1.2.1
- erl_docgen-0.4.2
- erl_interface-3.8.2
- erts-7.3
- eunit-2.2.13
- hipe-3.15
- inets-6.2
- kernel-4.2
- mnesia-4.13.3
- observer-2.1.2
- orber-3.8.1
- public_key-1.1.1
- runtime_tools-1.9.3
- sasl-2.7
- snmp-5.2.2
- ssh-4.2.2
- ssl-7.3
- stdlib-2.8
- test_server-3.10
- tools-2.8.3
- webtool-0.9.1
- wx-1.6.1
- xmerl-1.3.10
Unchanged Applications:
- cosEvent-2.2
- cosEventDomain-1.2
- cosFileTransfer-1.2
- cosProperty-1.2
- et-1.5.1
- gs-1.6
- ic-4.4
- jinterface-1.6.1
- megaco-3.18
- odbc-2.11.1
- os_mon-2.4
- ose-1.1
- otp_mibs-1.1
- parsetools-2.1.1
- percept-0.8.11
- reltool-0.7
- syntax_tools-1.7
- typer-0.9.10
Conflicts:
OTP_VERSION
erts/vsn.mk
lib/test_server/doc/src/notes.xml
lib/test_server/vsn.mk
lib/webtool/doc/src/notes.xml
lib/webtool/vsn.mk
|
|
* bjorn/kernel/rpc/OTP-13409:
Don't throw exceptions from rpc:call() and rpc:block_call()
Reduce code duplication in called_node_dies/1 and friends
|
|
* bjorn/clearer-startup-crashes/OTP-13294:
Make distribution failures during start-up easier to read
net_kernel: Separate exports into documented and non-documented groups
erl_distribution: Simplify start_link/0 and friends
Reorder and comment API functions
Clean up splitting of node names
|
|
When an attempt is made to start a distributed Erlang node with
the same name as an existing node, the crash reports for several
supervisors would be displayed. Only the first line contains
useful information. The verbiage is annoying for old hands and
could easily scare newcomers away for good.
For all the common distribution failures during start-up, write a
simple message and terminate the emulator using halt/1. Here is an
example of what will be printed:
Protocol 'inet_tcp': the name somename@somehost seems to be in use by another Erlang node
|
|
|
|
The documentation for rpc:call() says:
Evaluates apply(Module, Function, Args) on the node Node and
returns the corresponding value Res, or {badrpc, Reason} if
the call fails.
What is not said that rpc:call() can generate an exception if the
'rex' process on the other node is killed:
(kalle@host)1> Rex = rpc:call(arne@host, erlang, whereis, [rex]).
<6937.14.0>
(kalle@host)2> rpc:call(arne@host, erlang, exit, [Rex,kill]).
** exception exit: {killed,
{gen_server,call,
[{rex,arne@host},
{call,erlang,exit,[<6937.14.0>,kill],<0.33.0>},
infinity]}}
in function rpc:rpc_check/1 (rpc.erl, line 361)
On the other hand, if the other node shuts down for some other reason,
we'll get a {badrpc,nodedown} result:
(kalle@host)5> rpc:call(arne@host, erlang, halt, []).
{badrpc,nodedown}
There does not seem to be any reason to handle the two cases
differently. If the 'rex' process is terminated on the other node,
it will shut down shortly thereafter.
Therefore, change rpc:call() and rpc:block_call() to always return
{badrpc,Reason} is the call fails:
(kalle@host)1> Rex = rpc:call(arne@host, erlang, whereis, [rex]).
<6937.14.0>
(kalle@host)2> rpc:call(arne@host, erlang, exit, [Rex,kill]).
{badrpc,{'EXIT',{killed,{gen_server,call,
[{rex,arne@host},
{call,erlang,exit,[<7126.14.0>,kill],<0.33.0>},
infinity]}}}}
|
|
|
|
* rickard/doc-fix:
Fix doc build
|