aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-03-11Don't throw exceptions from rpc:call() and rpc:block_call()Björn Gustavsson
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]}}}}
2016-03-11Reduce code duplication in called_node_dies/1 and friendsBjörn Gustavsson
2016-03-11Merge branch 'bjorn/kernel/modernize-tests'Björn Gustavsson
* bjorn/kernel/modernize-tests: Remove ?line macros Fix comments gen_tcp_misc_SUITE: Use unique node names Eliminate use of the ?t macro Eliminate use of doc and suite clauses Replace use of test_server:capture*/0 with ct:capture*/0 Eliminate use test_server:format() Eliminate use of test_server:sleep/1 Eliminate use of test_server:fail/0,1 Eliminate use of ?config() macro Modernize timetraps disk_log_SUITE: Remove vestiges of VxWorks support Conflicts: lib/kernel/test/code_SUITE.erl
2016-03-11Update primary bootstrapBjörn Gustavsson
2016-03-11Merge branch 'bjorn/compiler/opt/OTP-12951'Björn Gustavsson
* bjorn/compiler/opt/OTP-12951: beam_block: Eliminate unsafe optimization
2016-03-11Merge branch 'maint'Lars Thorsen
2016-03-11Update preloaded modulesLars Thorsen
2016-03-11Merge branch 'maint'Lars Thorsen
2016-03-10Remove ?line macrosBjörn Gustavsson
While we are it, also re-ident the files.
2016-03-10Fix commentsBjörn Gustavsson
Remove out-commented code. Make sure that comments that are not at the end of a line starts with two '%' characters and not just one. That will become important later when we'll remove all ?line macros and ask Emacs to re-indent the files.
2016-03-10gen_tcp_misc_SUITE: Use unique node namesBjörn Gustavsson
Use unique node names to ensure that one failed test case will not cause other test cases to fail if a slave node was left.
2016-03-10Update primary bootstrapLars Thorsen
2016-03-10Merge branch 'maint'Siri Hansen
2016-03-10Merge branch 'siri/common_test/fix-doc-links' into maintSiri Hansen
* siri/common_test/fix-doc-links: Fix link errors in common_test documentation Document that any ssh option is allowed in ct_netconfc Conflicts: lib/common_test/doc/src/ct_hooks_chapter.xml lib/common_test/doc/src/ct_netconfc.xml
2016-03-10Merge branch 'siri/ct_netconfc/doc-allow-ssh-options/OTP-13338' into maintSiri Hansen
* siri/ct_netconfc/doc-allow-ssh-options/OTP-13338: Document that any ssh option is allowed in ct_netconfc
2016-03-10Merge branch 'siri/code_SUITE-fix' into maintSiri Hansen
* siri/code_SUITE-fix: Change '==' to '=' in code_SUITE:bad_erl_libs
2016-03-10Merge branch 'maint'Peter Andersson
2016-03-10Eliminate use of the ?t macroBjörn Gustavsson
2016-03-10Eliminate use of doc and suite clausesBjörn Gustavsson
Those clause are obsolete and never used by common_test.
2016-03-10Replace use of test_server:capture*/0 with ct:capture*/0Björn Gustavsson
2016-03-10Eliminate use test_server:format()Björn Gustavsson
Replace with io:format/2 or ct:pal/3.
2016-03-10Eliminate use of test_server:sleep/1Björn Gustavsson
2016-03-10Merge branch 'peppe/common_test/cth_improvements_docs' into maintPeter Andersson
* peppe/common_test/cth_improvements_docs: Document new CT Hook functions
2016-03-10Merge branch 'peppe/common_test/html_improvements_docs' into maintPeter Andersson
* peppe/common_test/html_improvements_docs: Document the new HTML improvements
2016-03-10Merge branch 'peppe/common_test/new_docs' into maintPeter Andersson
* peppe/common_test/new_docs: Some minor fixes Stop using edoc for the reference manual Common Test: Editorial changes 3 Common Test: Editorial changes 2 Common Test: Editorial changes 1
2016-03-10Fix link errors in common_test documentationSiri Hansen
These were introduced when converting from edoc to xml files for the common_test documentation.
2016-03-10Merge branch 'peppe/common_test/misc_18.3_bugfixes' into maintPeter Andersson
* peppe/common_test/misc_18.3_bugfixes: Fix minor issues with escaping characters OTP-13003
2016-03-10Document that any ssh option is allowed in ct_netconfcSiri Hansen
The code was changed by OTP-13338, commit bf309240cb531df880989702ae901316e8b5e97d.
2016-03-10beam_block: Eliminate unsafe optimizationBjörn Gustavsson
Consider this code: %% Start of block get_tuple_element Tuple 0 Element get_map_elements Fail Map [Key => Dest] . . . move Element UltimateDest %% End of block Fail: %% Code that uses Element. beam_block (more precisely, otp_tuple_element/1) would incorrectly transform the code to this: %% Start of block get_map_elements Fail Map [Key => Dest] . . . get_tuple_element Tuple 0 UltimateDest %% End of block Fail: %% Code that uses Element. That is, the code at label Fail would use register Element, which is either uninitalized or contains the wrong value. We could fix this problem by always keeping label information at hand when optimizing blocks so that we could check the code at the failure label for get_map_elements. That would require changes to beam_block and beam_utils. We might consider doing that in the future if it turns out be worth it. For now, I have decided that I want to keep the simplicity of blocks (allowing them to be optimized without keeping label information). That could be achieved by not including get_map_elements in blocks. Another way, which I have chosen, is to only allow get_map_elements as the first instruction in the block. For background on the bug: c288ab8 introduced the beam_reorder pass and 5f431276 introduced opt_tuple_element() in beam_block.
2016-03-10Merge branch 'maint'Björn-Egil Dahlberg
Conflicts: lib/webtool/src/webtool.erl
2016-03-10Merge branch 'egil/fix-webtool/OTP-13406' into maintBjörn-Egil Dahlberg
* egil/fix-webtool/OTP-13406: webtool: Remove mod_include dependecy
2016-03-10Merge branch 'bjorn/multiple-load/OTP-13111'Björn Gustavsson
* bjorn/multiple-load/OTP-13111: erl_prim_loader_SUITE: Add debug printout Skip erl_prim_loader_SUITE:get_modules/1 when cover-compiled multi_load_SUITE: Clarify failure reasons multi_load_SUITE: Don't fail on non-HiPE systems
2016-03-10Merge branch 'bjorn/stdlib/modernize-tests'Björn Gustavsson
* bjorn/stdlib/modernize-tests: Eliminate use of ?config() macro Remove ?line macros Replace "%" with "%%" at the beginning of a line Eliminate 'suite' and 'doc' clauses gen_server_SUITE: Eliminate use of test_server:timecall/3 Use 'test_server' instead of ?t macro Eliminate use of test_server:messages_get/0 sys_SUITE: Replace test_server:capture*/0 with ct:capture*/0 sys_SUITE: Mend test cases that didn't test what they should Replace calls to test_server:sleep/1 with ct:sleep/1 or timer:sleep/1 Eliminate use of test_server:do_times() Replace use of test_server:format/2 with io:format/2 Eliminate use of test_server:fail/0,1 Modernize use of timetraps
2016-03-09Merge branch 'maint'Sverker Eriksson
2016-03-09erts: Fix wobbling tests in nif_SUITESverker Eriksson
No point in checking tmp_alloc instance 0 as any non-scheduler thread could race us.
2016-03-09Fix minor issues with escaping charactersPeter Andersson
OTP-13003
2016-03-09Document new CT Hook functionsPeter Andersson
2016-03-09Document the new HTML improvementsPeter Andersson
2016-03-09webtool: Remove mod_include dependecyBjörn-Egil Dahlberg
2016-03-09Eliminate use of test_server:fail/0,1Björn Gustavsson
2016-03-09Eliminate use of ?config() macroBjörn Gustavsson
?config is ugly and not recommended. Use proplists:get_value/2 instead.
2016-03-09Modernize timetrapsBjörn Gustavsson
2016-03-09Eliminate use of ?config() macroBjörn Gustavsson
2016-03-09Remove ?line macrosBjörn Gustavsson
While we are it, also re-ident the files.
2016-03-09Replace "%" with "%%" at the beginning of a lineBjörn Gustavsson
We want to re-ident the source files after having taken out all ?line macros. When re-indenting using Emacs, it's important that comments that should be at the beginning of a line (or follow the indentation of statements around it) must start with "%%".
2016-03-09Eliminate 'suite' and 'doc' clausesBjörn Gustavsson
2016-03-09gen_server_SUITE: Eliminate use of test_server:timecall/3Björn Gustavsson
2016-03-09Use 'test_server' instead of ?t macroBjörn Gustavsson
2016-03-09Eliminate use of test_server:messages_get/0Björn Gustavsson
2016-03-09sys_SUITE: Replace test_server:capture*/0 with ct:capture*/0Björn Gustavsson