aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2017-03-06Merge branch 'peppe/common_test/multiply_timetraps/OTP-14210' into maintPeter Andersson
* peppe/common_test/multiply_timetraps/OTP-14210: Fix multiply/scale_timetraps in testspecs not working OTP-14210
2017-03-06Merge branch 'siri/ct_hooks/callbacks-on-skip/OTP-10599' into maintSiri Hansen
* siri/ct_hooks/callbacks-on-skip/OTP-10599: [ct] Update built-in ct hooks with new Suite parameter [cth_surefire] Handle skips from test spec [ct] Remove excessive skipped/failed tag in hook function [ct] Send tc_start event on force_stop and failed sequence [ct] Correctly handle process died in init and end_per_testcase [ct] Fix faulty hook callbacks for skipped tests Add dummy end_per_suite/1 [ct] Fix hooks and fail when one of init/end_per_* does not exit [ct] Add Suite argument to hook callback functions [ct] Fix function_clause in ct_framework when hook function crashes
2017-03-03Merge pull request #1361 from bjorng/bjorn/home-directory/ERL-161/OTP-14249Björn Gustavsson
Use a portable way to lookup the home directory
2017-03-03Merge branch 'raimo/kernel/gen_statem-progress/OTP-14114' into maintRaimo Niskanen
* raimo/kernel/gen_statem-progress/OTP-14114: Make code_change/4 optional Implement fallback for terminate/3 Clarify code_change and callback mode change Stop pampering with stacktraces Clean up timer handling Remove event timer optimization Clean up timer handling Reduce number of loop variables hence code mass Optimize by using async cancel_timer Bugfix: callback mode not cached after code change Implement repeat_state and repeat_state_and_data Correct type checking function for action {next_event,,} Change arity of type to init_result/1
2017-03-02tools: Use portable lookup of home directoryBjörn Gustavsson
In the xref example, use init:get_argument(home) to find the location of the home directory.
2017-03-02dialyzer, observer: Use portable lookup of home directoryBjörn Gustavsson
Use init:get_argument(home) to find the location of the home directory. That will work on all platforms (including Windows). Note that the run-time system will fail to start if HOME (or the equivalent on Windows) is not set. Therefore, it can be assumed that init:get_argument(home) will not fail. ERL-161
2017-03-02typer: Update runtime dependenciesHans Bolinder
2017-03-02dialyzer: Update runtime dependenciesHans Bolinder
2017-03-02Merge branch 'siri/sys/get_modules/ERL-367/OTP-14248' into maintSiri Hansen
* siri/sys/get_modules/ERL-367/OTP-14248: Correct documentation of get_modules message
2017-03-01Merge branch 'hans/ssh/cuddle_tests_maint' into maintHans Nilsson
2017-03-01Merge pull request #1358 from bjorng/bjorn/stdlib/fix-zip-bugs/OTP-14189Björn Gustavsson
zip: Fix bugs ERL-348 and ERL-349 OTP-14246
2017-03-01Correct documentation of get_modules messageSiri Hansen
2017-02-28Merge branch 'hasse/stdlib/fix_term_traversal' into maintHans Bolinder
* hasse/stdlib/fix_term_traversal: stdlib: Add maps to term traversal
2017-02-28zip: Eliminate leak of open file after crashBjörn Gustavsson
Make sure that zip:extract() and zip:create() closes the zip file if there is an error. ERL-349
2017-02-28zip: Don't crash when a zip file has an Unix extra headerBjörn Gustavsson
There is unfinished code in the zip module to handle the extra field in the central-directory header for each file. The code to extract an Unix extra subfield is incorrect and always causes a bad_unix_extra_field error. A further flaw in the code is that it expects that there is only a single subfield. Correcting the code for extracting extra subfields will not do any good, because the extracted data is ignored. In fact, not even the file times extracted from DOS file times are used for some reason. Therefore, don't correct the unfinished code. Remove it completely. (If needed, extending zip to use file times and to use the information in the extra field should be done in a major release, not in a maintenance release.) ERL-348
2017-02-27Merge pull request #1355 from gomoripeti/compile_doc_fixBjörn Gustavsson
Fix minor typo in compile:forms/1 doc OTP-14240
2017-02-27ssh: Print Pids in testcase for debuggingHans Nilsson
2017-02-27stdlib: Add maps to term traversalHans Bolinder
2017-02-26Documentation: use behaviour(ssh_daemon_channel)Malcolm
In the SSH User's Guide, section 2.8 'Creating a Subsystem' uses behaviour(ssh_subsystem) but should use behaviour(ssh_daemon_channel). The renaming was updated in the Reference Manual but never reflected in the User's Guide.
2017-02-26Fix minor typo in compile:forms/1 docPéter Gömöri
2017-02-24ssh: increase timetrap for test on slow machineHans Nilsson
2017-02-24Merge pull request #1350 from bjorng/bjorn/stdlib/safe-relative-path/OTP-14215Björn Gustavsson
filename: Add safe_relative_path/1 OTP-14215
2017-02-23Make code_change/4 optionalRaimo Niskanen
2017-02-23Implement fallback for terminate/3Raimo Niskanen
2017-02-23Clarify code_change and callback mode changeRaimo Niskanen
2017-02-22Merge branch 'ingela/ssl/default-ciphers-suites/OTP-14235' into maintIngela Anderton Andin
* ingela/ssl/default-ciphers-suites/OTP-14235: ssl: Always prefer AES over 3DES
2017-02-22Merge branch 'lukas/kernel/fix_os_cmd_close_race/OTP-14232' into maintLukas Larsson
* lukas/kernel/fix_os_cmd_close_race/OTP-14232: kernel: Fix hanging os:cmd race condition
2017-02-22Merge branch 'lukas/kernel/fail-sticky_dir-if-not-sticky' into maintLukas Larsson
* lukas/kernel/fail-sticky_dir-if-not-sticky: kernel: Fail sticky_dir tc if module not sticky
2017-02-22Stop pampering with stacktracesRaimo Niskanen
2017-02-22Merge pull request #1351 from stevendanna/ssl_session_cache_api_size_docsIngela Andin
Document ssl_session_cache_api's size/1 callback
2017-02-22Clean up timer handlingRaimo Niskanen
2017-02-22Merge branch 'hasse/stdlib/fix_pretty_maps/OTP-14175' into maintHans Bolinder
* hasse/stdlib/fix_pretty_maps/OTP-14175: stdlib: Improve pretty-printing of terms with maps
2017-02-22Merge branch 'lars/xmerl/sax-parser-multi-doc-problem' into maintLars Thorsen
* lars/xmerl/sax-parser-multi-doc-problem: [xmerl] Remove faulty throws [xmerl] Fix XML "well-formedness" bug i SAX parser [xmerl] Correct bug handling multiple documents on a stream OTP-14211 OTP-14213
2017-02-22Merge branch 'siri/ct/get_dirs_from_testspec/OTP-14132' into maintSiri Hansen
* siri/ct/get_dirs_from_testspec/OTP-14132: [ct] Add ct_testspec:get_tests/1
2017-02-22[xmerl] Remove faulty throwsLars Thorsen
2017-02-22[xmerl] Fix XML "well-formedness" bug i SAX parserLars Thorsen
Changed the XML Sax parser behaviour so it returns an error if there are something more in the file after the the matching document. If one using the xmerl_sax_parser:stream() a rest is allowed which then can be sent to a new call of xmerl_sax_parser:stream() to parse next document. This is done to be compliant with XML conformance tests.
2017-02-22[xmerl] Correct bug handling multiple documents on a streamLars Thorsen
Change how to interpret end of document to comply with Tim Brays comment on the standard. This makes it possible to handle more than one doc on a stream, the standard makes it impossible to know when the document is ended without waiting for the next document (and not always even that). Tim Brays comment about the trailing "Misc" rule: The fact that you're allowed some trailing junk after the root element, I decided (but unfortunately too late) is a real design error in XML. If I'm writing a network client, I'm probably going to close the link as soon as a I see the root element end-tag, and not depend on the other end closing it down properly. Furthermore, if I want to send a succession of XML documents over a network link, if I find a processing instruction after a root element, is it a trailer on the previous document, or part of the prolog of the next?
2017-02-21ssl: Always prefer AES over 3DESIngela Anderton Andin
AES256 was preferred over 3DES already, so this only makes sure AES128 is preferred over 3DES also. This changes the default but probably nobody will notice as a better algorithm will be chosen anyhow.
2017-02-21Fix multiply/scale_timetraps in testspecs not workingPeter Andersson
OTP-14210
2017-02-21[ct] Update built-in ct hooks with new Suite parameterSiri Hansen
The Suite parameter is added to all group- and testcase hook callbacks. This commit updates cth_conn_log and cth_log_redirect according to this new API.
2017-02-21Merge branch 'legoscia/erl_interface/doc-no-tuple-funs/PR-1343/OTP-14233' ↵Björn-Egil Dahlberg
into maint * legoscia/erl_interface/doc-no-tuple-funs/PR-1343/OTP-14233: Documentation: tuple funs are unsupported
2017-02-21Document ssl_session_cache_api's size/1 callbackSteven Danna
The size/1 callback was added as a non-optional callback in 42b8a29dbae1d626f32bc16dd81a129caf741138 but wasn't added to the documentation for the ssl_session_cache_api behavior. Signed-off-by: Steven Danna <[email protected]>
2017-02-21[cth_surefire] Handle skips from test specSiri Hansen
When a test case is skipped from the test spec, there is no call to the common_test hook functions 'pre_init_per_testcase' and 'post_end_per_testcase'. This causes cth_surefire to erroneously mark the previous test case as skipped in the xml report. The actually skipped test case is not present in the xml report at all. This is now corrected. OTP-14129
2017-02-21kernel: Fix hanging os:cmd race conditionLukas Larsson
If the port terminates before Port ! close is issued, there will be no 'closed' reply, so the old code would hang. As it turns out there is no way to figure out if a closed reply is supposed to come as that reply is sent after all links and monitors are triggered. So we have to use the synchronous port_close to close the port.
2017-02-21stdlib: Improve pretty-printing of terms with mapsHans Bolinder
As of committing this branch maps:fold/3 calls maps:to_list/1, which means that the time and memory needed for printing maps is not always proportional to the size of the generated deep list of characters.
2017-02-21filename: Add safe_relative_path/1Björn Gustavsson
Add safe_relative_path/1 to guard against directory traversal attacks. It either returns a shorter path without any ".." or "." components, or 'unsafe' if an ".." component would climb up above the root of the relative path. Here are a few examples: safe_relative_path("a/b/..") => "a" safe_relative_path("a/..") => "" safe_relative_path("a/../..") => unsafe safe_relative_path("/absolute/path") => unsafe The returned path can be used directly or combined with an absolute path using filename:join/2.
2017-02-20[ct] Remove excessive skipped/failed tag in hook functionSiri Hansen
When skipping or failing in a configuration function, the configuration function itself would get {auto_skipped,Reason}, {skipped,Reason} or {failed,Reason} in the hook callbacks on_tc_skip or on_tc_fail. The other test cases that were skipped as a result of this would only get Reason in the hook callbacks. This is now corrected.
2017-02-20[ct] Send tc_start event on force_stop and failed sequenceSiri Hansen
If test cases were skipped because of option {force_stop,skip_rest} or because of a failed sequence, then no tc_start event would be sent, only only tc_done. This is now corrected.
2017-02-20[ct] Correctly handle process died in init and end_per_testcaseSiri Hansen
Documentation says that a test case is skipped if init_per_testcase fails. This is correct if init_per_testcase fails in a normal way, but if it gets an exit signal causing the process to die, then the case was earlier marked as failed with reason {skip,...}. This is now corrected, so the case is auto skipped. If end_per_testcase crashes, it does not change the result of a test case, it only adds a warning in the comment field. But if it gets an exit signal causing the process to die while running end_per_testcase, then the case was earlier marked as failed in addition to this warning. This is now corrected, so the result of the test case is not changed by an exit signal during end_per_testcase.
2017-02-20[ct] Fix faulty hook callbacks for skipped testsSiri Hansen
The following bugs are corrected: * Tests that were skipped before calling pre_init_per_* got faulty calls to the corresponding post_init_per_*. E.g. if a test was skipped because suite/0 returned a 'require' statement that was not fulfilled, then post_init_per_suite would be called, even though pre_init_per_suite and init_per_suite were not called. * Tests that were skipped before or in init_per_testcase got faulty calls to pre_end_per_testcase and post_end_per_testcase (end_per_testcase is not called in these situations). Test are added to make sure that the expected callbacks, and only those, are called when tests are skipped in different ways. Conflicts: lib/common_test/test/ct_hooks_SUITE.erl