aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/test
AgeCommit message (Collapse)Author
2018-11-05Merge branch 'john/erts/OTP-20.3.8/minusminus_trapping/OTP-15371' into maint-20Erlang/OTP
* john/erts/OTP-20.3.8/minusminus_trapping/OTP-15371: Optimize operator '--' and yield on large inputs
2018-11-02Optimize operator '--' and yield on large inputsJohn Högberg
The removal set now uses a red-black tree instead of an array on large inputs, decreasing runtime complexity from `n*n` to `n*log(n)`. It will also exit early when there are no more items left in the removal set, drastically improving performance and memory use when the items to be removed are present near the head of the list. This got a lot more complicated than before as the overhead of always using a red-black tree was unacceptable when either of the inputs were small, but this compromise has okay-to-decent performance regardless of input size. Co-authored-by: Dmytro Lytovchenko <[email protected]>
2018-10-16Merge branch 'sverker/erts/ets-select_replace-bug/OTP-15346' into maint-20Erlang/OTP
* sverker/erts/ets-select_replace-bug/OTP-15346: erts: Fix bug in ets:select_replace for bound key
2018-10-09erts: Fix bug in ets:select_replace for bound keySverker Eriksson
which may cause following calls to ets:next or ets:prev to fail.
2018-03-17Test event insert from initRaimo Niskanen
2018-03-01ERL-558 Add the missing function clause for string:prefix (#1702)Seyed Mirsadeghi
OTP-14942
2018-02-27Make re_SUITE:sub_binaries less unstableJohn Högberg
The small sub-binary conversion trick in the GC broke this test pretty often on some machines.
2018-02-13Merge branch 'maint-20' into maintSverker Eriksson
* maint-20: Updated OTP version Update release notes Update version numbers erts: Add system_flags(erts_alloc,"+M?sbct *") erts: Add age order first fit allocator strategies erts: Refactor erl_ao_firstfit_alloc erts: Add migration options "acnl" and "acfml" kernel: Add os:cmd/2 with max_size option erts: Add more stats for mbcs_pool erts: Fix alloc_SUITE:migration stdlib: Make ets_SUITE memory check try again erts: Improve carrier pool search erts: Improve alloc_SUITE:migration erts: Refactor carrier dealloc migration
2018-02-12Merge 'sverker/maint-19/alloc-n-migration/ERIERL-88'Sverker Eriksson
into 'sverker/maint-20/alloc-n-migration/ERIERL-88' OTP-14915 OTP-14916 OTP-14917 OTP-14918
2018-01-22stdlib: Correct contractsHans Bolinder
2018-01-05stdlib: Correct a filelib test caseHans Bolinder
2018-01-05stdlib: Let filelib:find_source() search subdirsHans Bolinder
The Design Principles states that an application can have Erlang source files one level below the "src" directory, and now filelib:find_source() by default searches one level below "src". The same applies to "esrc". That directory is only mentioned in filename(3).
2017-12-20stdlib: Make ets_SUITE memory check try againSverker Eriksson
as memory stats do not guarantee consistency. A typical ETS test case ends by a lot of deallocating that may now trigger homecoming carrier migration, that in turn can cause quite large inconsistencies in memory stats when same carrier is accounted for twice or not at all. And that's my theory why I now sometimes see transient discrepancies between before and after memory stats.
2017-11-29Avoid falling measurements testcases on slow machinesDan Gudmundsson
2017-11-29stdlib: string optimize special case for ASCIIDan Gudmundsson
Avoid unicode_util module call for ASCII strings
2017-11-29stdlib: Minor unicode_util optsDan Gudmundsson
Exit early for Latin-1
2017-10-30stdlib: Fix a minor issue with the qlc suiteHans Bolinder
When comparing the process dictionary before and after a test, only (a sorted list of) qlc keys are compared.
2017-10-23fix win32 share filename join/split (#1604)Bikram Chatterjee
Handle UNC (shared) path on win32, previously "//dir/.." and "\\\\dir\.." was cleaned up to "/dir/.." which was not correct. OTP-14693
2017-10-12Revert "Merge branch 'rickard/null-char-filenames/ERL-370/OTP-14543' into maint"Rickard Green
This reverts commit 0717a2194e863f3a78595184ccc5637697f03353, reversing changes made to 71a40658a0cef8b3e25df3a8e48a72d0563a89bf.
2017-09-27Don't allow null in filenamesRickard Green
2017-09-12Merge branch 'sverker/valgrind-fixes/OTP-14609' into maintSverker Eriksson
* sverker/valgrind-fixes/OTP-14609: erts: Suppress false memory leak for dlerror [ct] Cleanup and rename purify related functions as valgrind Revert "remove unused purify functions" erts: Fix memory leak when sending to terminating port erts: Fix harmless use of uninitialised value
2017-09-08Merge pull request #1561 from ↵Björn Gustavsson
bjorng/bjorn/stdlib/false-warning/ERL-478/OTP-14600 Eliminate incorrect get_stacktrace/0 warning
2017-09-06Eliminate incorrect get_stacktrace/0 warningBjörn Gustavsson
There could be a false warning for erlang:get_stacktrace/0 being outside a try block when it was actually inside a try block. https://bugs.erlang.org/browse/ERL-478
2017-09-05stdlib: add Unicode translation modifier in error_logger_tty_hSiri Hansen
Check if standard_io can handle Unicode, and if so add the 't' modifier to format strings.
2017-09-05stdlib: Improve handling of Unicode in edlin_expandHans Bolinder
2017-09-05stdlib: Modify handling of Unicode in proc_libHans Bolinder
2017-08-31Merge branch 'rickard/pcre-8.41' into maintRickard Green
OTP-14574 * rickard/pcre-8.41: Upgrade to PCRE 8.41 from PCRE 8.40
2017-08-30[ct] Cleanup and rename purify related functions as valgrindSverker Eriksson
2017-08-30Revert "remove unused purify functions"Sverker Eriksson
This reverts commit d8c8e0c66d6faf5402682f3a8568362eedebdfee.
2017-08-29Upgrade to PCRE 8.41 from PCRE 8.40Rickard Green
2017-07-04Merge branch 'hasse/stdlib/deprecated_warning/OTP-14378' into maintHans Bolinder
* hasse/stdlib/deprecated_warning/OTP-14378: stdlib: Accept all nowarn_deprecated_function options
2017-07-04Merge branch 'maint-20' into maintJohn Högberg
* maint-20: Updated OTP version Update release notes Update version numbers erts: Fix bug in quick alloc Fix old length usage in string stdlib: Fix bug in proc_lib Support arbitrary crash report in proc_lib.
2017-07-03Merge branch 'siri/make/default-outdir/ERL-438/OTP-14489' into maintSiri Hansen
* siri/make/default-outdir/ERL-438/OTP-14489: [ct_make] Do not use the interactive tool 'c' from ct_make Use current dir as default outdir for c:c/1,2 [make] Do not use the interactive tool 'c' from make
2017-06-30Merge branch 'siri/make/default-outdir/ERL-438/OTP-14489' into maint-20Erlang/OTP
* siri/make/default-outdir/ERL-438/OTP-14489: [ct_make] Do not use the interactive tool 'c' from ct_make Use current dir as default outdir for c:c/1,2 [make] Do not use the interactive tool 'c' from make
2017-06-29Use current dir as default outdir for c:c/1,2Siri Hansen
In OTP-20, c:c/1,2 started using the directory of the source file as default output directory. For backwards compatibility reasons this is now reversed so the current directory is used instead.
2017-06-26Add test for using typed records in shellSvilen Ivanov
2017-06-22stdlib: Accept all nowarn_deprecated_function optionsHans Bolinder
The check of bad nowarn_deprecated_function tags in -compile attributes often made it impossible to compile modules with the warnings_as_errors option in two consecutive releases.
2017-06-22stdlib: Fix bug in proc_libHans Bolinder
Add a few more tests to the proc_lib_SUITE.
2017-06-22Support arbitrary crash report in proc_lib.Daniil Fedotov
The `error_logger_format_depth` variable is `unlimited` by default. This can cause errors when logging crash reports using sasl logger, because `io_lib:format("~P"...` does not support `unlimited` as a depth parameter. Use formatter string "~p" for unlimited depth. A way to reproduce the error: Start erl with sasl logger: erl -boot start_sasl -sasl errlog_type error -sasl sasl_error_logger tty Report arbitrary error: error_logger:error_report(crash_report, [fake_crash_report, foo]).
2017-06-12stdlib: Evaluate expressions in fun2ms bodiesHans Bolinder
The ms_transform module, used by ets:fun2ms/1 and dbg:fun2ms, evaluates constant arithmetic expressions. This is necessary since the Erlang compiler, which normally evaluates constant expressions, does not recognize the format generated by ms_transform.
2017-06-12Merge branch 'hasse/unicode_atoms/OTP-14285'Hans Bolinder
* hasse/unicode_atoms/OTP-14285: compiler: Handle (bad) Unicode parse transform module names kernel: Improve handling of Unicode filenames stdlib: Handle Unicode atoms in ms_transform stdlib: Improve Unicode handling of the Erlang parser stdlib: Handle unknown compiler options with Unicode stdlib: Handle Unicode macro names stdlib: Correct Unicode handling in escript dialyzer: Improve handling of Unicode parsetools: Improve handling of Unicode atoms stdlib: Handle Unicode atoms when formatting stacktraces stdlib: Add more checks of module names to the linter stdlib: Handle Unicode atoms better in io_lib_format stdlib: Handle Unicode atoms in c.erl
2017-06-09stdlib: Handle Unicode macro namesHans Bolinder
2017-06-09stdlib: Handle Unicode atoms when formatting stacktracesHans Bolinder
2017-06-09stdlib: Add more checks of module names to the linterHans Bolinder
Unicode atoms are handled better by the Erlang code linter. Module names are checked for character codes greater than 255. This means that modules invoked after the linter can assume that module names have only Latin-1 characters.
2017-06-07stdlib: Lookup src path in beamDan Gudmundsson
find and use source directive when searching for source file
2017-05-29Merge pull request #1476 from bjorng/bjorn/stdlib/erl_tar-timesBjörn Gustavsson
erl_tar: Fix handling of date and time
2017-05-29erl_tar: Fix handling of date and timeBjörn Gustavsson
Since aa0c4b0df7cdc, erl_tar would write the local time (instead of the POSIX time) into the tar header for the archived files. When extracting the tar file, the extracted file could be set to a future time (depending on the time zone). We could do a minimal fix, but this seems to be a good time to rewrite the time handling to use the new features that allow file info to be read and written in the POSIX time format. First reported here: https://github.com/erlang/rebar3/issues/1554
2017-05-23Merge pull request #1469 from josevalim/jv-unicode-normalize-errorDan Gudmundsson
Return error tuple on unicode normalization functions
2017-05-22Return error tuple on unicode normalization functionsJosé Valim
Prior to this patch, the normalization functions in the unicode module would raise a function clause error for non-utf8 binaries. This patch changes it so it returns {error, SoFar, Invalid} as characters_to_binary and characters_to_list does in the unicode module. Note string:next_codepoint/1 and string:next_grapheme had to be changed accordingly and also return an error tuple.
2017-05-22stdlib: Warn for bad type variables of parameterized typesHans Bolinder
The linter emits warnings about using '_' as type variable in parameterized types.