aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/test
AgeCommit message (Collapse)Author
2014-09-25Fix handling of single dot in filename:join/2Siri Hansen
The reference manual says that filename:join(A,B) is equivalent to filename:join([A,B]). In some rare cases this turns out not to be true: 1> filename:join("/a/.","b"). "/a/./b" 2> filename:join(["/a/.","b"]). "/a/b" In general, filename:join/1,2 removes single dots from the resulting path, except dots that occur at the beginning or end of the path. The problem above occurs when the first argument to join/2 ends with a dot, then it is not removed even if the second argument differs from an empty string and thus the dot ends up in "the middle" of the path. This commit corrects this problem. A single dot is now only kept if it occurs at the very beginning or the very end of the resulting path. Test of filename:join/1,2 are added in filename_SUITE. In addition, filelib_SUITE is updated with more tests of filelib:wildcard/2 since this failed when the given current directory (second argument) ended with a dot.
2014-09-04Merge branch 'maint'Björn-Egil Dahlberg
2014-09-04Merge branch 'egil/maps-with-doc-tests/OTP-12137' into maintBjörn-Egil Dahlberg
* egil/maps-with-doc-tests/OTP-12137: stdlib: Test maps:with/2 stdlib: Document maps:with/2
2014-09-01Merge branch 'maint'Marcus Arendt
2014-09-01Merge branch 'nox/erl_scan-fix-column-tracking' into maintMarcus Arendt
* nox/erl_scan-fix-column-tracking: Properly track column numbers in erl_scan
2014-08-28Merge branch 'maint'Dan Gudmundsson
2014-08-28Merge branch 'dgud/stdlib/format_status_terminate/OTP-11967' into maintDan Gudmundsson
* dgud/stdlib/format_status_terminate/OTP-11967: stdlib: Call format_status even if terminate callback crashes
2014-08-26stdlib: Test maps:with/2Björn-Egil Dahlberg
2014-07-15Merge branch 'maint'Bruce Yinhe
2014-07-15Merge branch 'nox/maps-shell-expansion' into maintBruce Yinhe
OTP-12063 * nox/maps-shell-expansion: Expand shell functions in map expressions
2014-07-11Merge branch 'maint'Erland Schönbeck
2014-07-11Merge branch 'maint-17' into maintErland Schönbeck
2014-07-09Add tests of filelib and symlinksSiri Hansen
This commit complements 769996c0cd4cb68c157e39de725642f209ed7423 and adds tests for the following problems introduced by f11aabdc9fec593c31e6c4f3fa25c1707e9c35df: Given the symlink 'dirlink' pointing to an existing dir, then - filelib:is_regular("dirlink") -> false - filelib:is_dir("dirlink") -> false Given the symlink 'filelink' pointing to an existing file, then - filelib:is_regular("filelink") -> false - filelib:is_file("filelink") -> false - filelib:last_modified("filelink") and filelib:filesize("filelink") return the info of the link and not the file Given the symlink "broken_symlink" pointing to a non-existing file, then - filelib:wildcard("broken_symlink",File) -> []
2014-07-09Fix handling of broken symlinks in filelibAnthony Ramine
This fixes a bug introduced in f11aabdc9fec593c31e6c4f3fa25c1707e9c35df where filelib:eval_read_file_info/2 was made to use file:read_link_info/1 to never follow symlinks. This fixed wildcard/1 but broke every other function using eval_read_file_info/2. Reported-by: Louis-Philippe Gauthier Reported-by: Danil Zagoskin
2014-07-07Merge branch 'maint'Bruce Yinhe
2014-07-07Merge branch 'nox/io_lib_format-width-too-small' into maintBruce Yinhe
* nox/io_lib_format-width-too-small: Properly handle fields too short in io_lib_format OTP-12041
2014-07-04stdlib: Call format_status even if terminate callback crashesDan Gudmundsson
The format_status callback (if exists) should always be invoked when logging errors.
2014-07-01Merge branch 'maint'Hans Bolinder
* maint: stdlib: Correct documentation of dets:insert/2
2014-07-01Expand shell functions in map expressionsAnthony Ramine
Reported-by: Danil Zagoskin
2014-06-30stdlib: Correct documentation of dets:insert/2Hans Bolinder
Thanks to Alexei Sholik for reporting the bug.
2014-06-16Properly track column numbers in erl_scanAnthony Ramine
This is a partial revert of 05c4d31b2c5c5f6ade7d91b55c598fe7fa58e509 in which a new macro `?STR()` was introduced. This macro shouldn't be used in scan_number/6 and scan_based_int/6 because the length of the string is needed when computing column numbers through tok3/8.
2014-06-11Merge branch 'siri/sync-stop-gen/OTP-11173'Siri Hansen
* siri/sync-stop-gen/OTP-11173: Add synchronous stop function to wx_object Fix minor bugs in gen_server and gen_fsm documentation Update gen_event:stop to be synchronous Add synchronous stop functions to gen_server and gen_fsm Add synchronous stop function to proc_lib Add system message 'terminate' Remove old code from stdlib/test/sys_sp2.erl
2014-05-26Merge branch 'maint'Björn-Egil Dahlberg
2014-05-26Merge branch 'saa/add_default_value_for_maps_get/OTP-11951' into maintBjörn-Egil Dahlberg
* saa/add_default_value_for_maps_get/OTP-11951: stdlib: Fix indentation of maps doc Add docs and test for maps:get/3 Add default value for maps:get
2014-05-26Update gen_event:stop to be synchronousSiri Hansen
This function now uses proc_lib:stop, which guarantees that the process is terminated before the function return.
2014-05-26Add synchronous stop functions to gen_server and gen_fsmSiri Hansen
The functions utilize proc_lib:stop, which in turn utilizes sys:terminate.
2014-05-26Add synchronous stop function to proc_libSiri Hansen
The new function utilizes sys:terminate.
2014-05-26Add system message 'terminate'Siri Hansen
This is to be used when implementing synchronous stop of generic behaviours and other 'sys special processes'.
2014-05-20Properly handle fields too short in io_lib_formatAnthony Ramine
Values for which the precision or field width were too small in io_lib_format could trigger an infinite loop or crash in term/5. Reported-by: Richard Carlsson
2014-05-12Merge branch 'maint'Björn-Egil Dahlberg
2014-05-12Merge branch 'nox/fix-eval-map-update/OTP-11922' into maintBjörn-Egil Dahlberg
* nox/fix-eval-map-update/OTP-11922: Fix evaluation of map updates in the debugger and erl_eval
2014-05-09Merge branch 'maint'Björn Gustavsson
* maint: Correct typo in type specification Fix typo in erl_tar docs Update information about compatibility Correct end of tape marker Support path names with characters outside the US ASCII range
2014-05-09Merge branch 'bjorn/stdlib/erl_tar/OTP-11854' into maintBjörn Gustavsson
* bjorn/stdlib/erl_tar/OTP-11854: Correct typo in type specification Fix typo in erl_tar docs Update information about compatibility Correct end of tape marker Support path names with characters outside the US ASCII range
2014-05-09Merge branch 'maint'Siri Hansen
2014-05-09Merge branch 'siri/cuddle-with-tests' into maintSiri Hansen
* siri/cuddle-with-tests: Fix regexp in release_handler test so versions are correctly replaced Update kernel, stdlib and sasl appup tests Minor update to test_server for finding old releases
2014-05-08Correct end of tape markerBjörn Gustavsson
The POSIX standard for tar says that there must be at least two 512-bytes zero blocks at the end of the tar archive file. Our implementation would only emit a single 512-byte zero block if the size of the last file was in the range 18*512 through 19*512-1 (modulo 20*512). GNU tar would correctly unpack such tar archive file, but would emit a warning: tar: A lone zero block at 20
2014-05-08Support path names with characters outside the US ASCII rangeBjörn Gustavsson
2014-05-08Merge branch 'maint'Björn Gustavsson
* maint: Document that spawn_opt/5 does not support the 'monitor' option filelib:wildcard() should show broken symlinks
2014-05-08Merge branch 'bjorn/stdlib/file_lib-wildcard/OTP-11850' into maintBjörn Gustavsson
* bjorn/stdlib/file_lib-wildcard/OTP-11850: filelib:wildcard() should show broken symlinks
2014-05-07Remove old code from stdlib/test/sys_sp2.erlSiri Hansen
This code was related to an old implementation of sys:get_state and sys:replace_state. sys_sp2.erl is now more like sys_sp1.erl - in order to avoid confusion.
2014-05-05Remove pre-defined types dict(), digraph(), &cHans Bolinder
The pre-defined types array(), dict(), digraph(), gb_set(), gb_tree(), queue(), set(), and tid() have been removed.
2014-05-03Fix evaluation of map updates in the debugger and erl_evalAnthony Ramine
Reported-by: José Valim
2014-04-29[stdlib] Simplify some linter warnings about specsHans Bolinder
Use F/A rather than M:F/A for local functions.
2014-04-29Disallow '_' as type variableHans Bolinder
"... when _ :: ..." used to compile, but Dialyzer crashed.
2014-04-29Fix a -callback attribute bugHans Bolinder
sys_pre_expand used to crash. There is no known reason to allow -callback attributes with explicit module.
2014-04-29Allow more type namesHans Bolinder
product/_, union/_, range/2 as well as tuple/N (N > 0), map/N (N > 0), atom/1, integer/1, binary/2, record/_, and 'fun'/_ can now be used as type names.
2014-04-28Introduce the attribute -optional_callbacks in the context of behavioursHans Bolinder
2014-04-23Update kernel, stdlib and sasl appup testsSiri Hansen
Add test of update instructions from current major to current minor. Earlier only previous major to current was tested.
2014-04-16stdlib: Fix error message when exporting (redefined) map() typeHans Bolinder
When redefining and exporting the type map() erl_lint erroneously emitted an error. This bug has been fixed.
2014-04-15Add docs and test for maps:get/3Sergey Abramyan