aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/test
AgeCommit message (Collapse)Author
2014-02-21Merge branch 'hb/stdlib/epp_bug_fix/OTP-11728'Hans Bolinder
* hb/stdlib/epp_bug_fix/OTP-11728: Fix a bug in epp concerning circular macro definitions
2014-02-20Merge branch 'siri/appup_tests_17/OTP-11534'Siri Hansen
* siri/appup_tests_17/OTP-11534: Update sasl/test/test_lib.hrl with recent versions of kernel and stdlib Update appups and appup tests for kernel, stdlib and sasl
2014-02-20Fix a bug in epp concerning circular macro definitionsHans Bolinder
epp could loop when encountering a circular macro definition in an included file. Thanks to Maruthavanan Subbarayan for reporting the bug, and to Richard Carlsson for providing a bug fix.
2014-02-20Merge branch 'fenollp/shell-expand-0arity-completely'Björn Gustavsson
* fenollp/shell-expand-0arity-completely: Correct parenthesis expansion Clean up edlin_expand_SUITE.erl to facilitate maintainance
2014-02-19Merge branch 'sverk/ets-all-race'Sverker Eriksson
OTP-11726 * sverk/ets-all-race: erts: Fix faulty asserts in erts_sys_aligned_alloc/free erts: Fix harmless (?) typo in beam_load.c erts: Fix race bug in ets:all/0
2014-02-19erts: Fix race bug in ets:all/0Sverker Eriksson
causing recently created/deleted tables to not be included/excluded.
2014-02-17Correct parenthesis expansionBjörn Gustavsson
Commit dfb4ec804a099b539c91e5643090d8183885e71c attempted to add a closing parenthesis to the expansion of a funtion of zero arity if there were no other functions with the same name. Unfortunately it would add the closing parenthesis in many cases when there was another function with another name (e.g. to Mod:module_info/0 even though there is a Mod:module_info/1). Correct logic for adding parenthesis and add a test case.
2014-02-17Clean up edlin_expand_SUITE.erl to facilitate maintainanceBjörn Gustavsson
* Introduce the helper function do_expand/1. * Remove all ?line macros.
2014-02-14Merge branch 'nox/maps-improve-erl_expand_records'Björn-Egil Dahlberg
* nox/maps-improve-erl_expand_records: Fix expansion of records in maps
2014-02-12Update appups and appup tests for kernel, stdlib and saslSiri Hansen
Appups now only support one major release back, and the tests are updated accordingly. Support is also added in tests for giving previous releases in a ct config file, e.g. {otp_releases,[{r15,"/path/to/r15/bin/erl"}, {r16,"/path/to/r16/bin/erl"}, {'17',"/path/to/17/bin/erl"}]}.
2014-02-12Merge branch 'nox/maps-erl_prettypr'Björn-Egil Dahlberg
* nox/maps-erl_prettypr: stdlib: Add tests for Maps in erl_prettypr Support maps in erl_prettypr
2014-02-12Merge branch 'nox/maps-improve-erl_eval'Björn-Egil Dahlberg
* nox/maps-improve-erl_eval: Handle map fields in their own function in erl_eval
2014-02-11Merge branch 'fenollp/shell-expand-0arity-completely'Henrik Nord
* fenollp/shell-expand-0arity-completely: Shell: expand 0-arity functions all the way to closing parenthesis OTP-11684
2014-02-10Merge branch 'josevalim/suppress-all-auto-imports'Henrik Nord
* josevalim/suppress-all-auto-imports: Allow all auto imports to be suppressed at once OTP-11682
2014-02-07Merge branch 'hsv/add_droplast_to_lists'Henrik Nord
* hsv/add_droplast_to_lists: Added documentation of lists:droplast/1 Added tests for lists:droplast/1 to stdlib/lists_SUITE stdlib/lists: Add function droplast/1 This functions drops the last element of a non-empty list.
2014-02-04Fix expansion of records in mapsAnthony Ramine
Records were not properly expanded in keys in patterns and in arguments in map updates.
2014-02-03stdlib: Add tests for Maps in erl_prettyprBjörn-Egil Dahlberg
2014-02-01Handle map fields in their own function in erl_evalAnthony Ramine
Map fields (K := V, K => V) are not expressions and shouldn't be clauses of erl_eval:expr/5.
2014-01-29Merge branch 'egil/maps/OTP-11616'Björn-Egil Dahlberg
* egil/maps/OTP-11616: (112 commits) compiler: Add core compile test for maps compiler: Fix core parse for Maps compiler: Fixup #map_pair{} spec erts: Strengthen map_SUITE tests erts: Update maps_fold test to respect maps:fold/3 stdlib: Make maps:fold/3 order-independent erts: Fixup enif_make_map_put on windows erts: Update preloaded erts_internal.beam hipe: Fixup update cerl pretty printer erts: Add map construction to driver API dialyzer: Add maps tests dialyzer: Remove dead code dialyzer: Reflect map_pair core changes in dialyzer hipe: Update cerl pretty printer compiler: Update inliner tests compiler: Squash #c_map_pair_*{} to #c_map_pair{} compiler: Squash #k_map_pair_*{} to #k_map_pair{} preloaded: Fixup export cmp_term in erts_internal erts: Change 'size' argument of enif_get_map_size from int* to size_t* erts: Fix compile error for halfword emulator ...
2014-01-28Merge branch 'siri/appup_tests_17/OTP-11534'Siri Hansen
* siri/appup_tests_17/OTP-11534: Update sasl appup test to work for OTP release 17 Update stdlib appup test to work for OTP release 17 Update kernel appup test to work for OTP release 17
2014-01-28stdlib: Update erl_scan_SUITE for ':=' and '=>' tokensBjörn-Egil Dahlberg
2014-01-28Update stdlib appup test to work for OTP release 17Siri Hansen
2014-01-24Added tests for lists:droplast/1 to stdlib/lists_SUITEHans Svensson
2014-01-23Fix erl_eval bug when erlang:'=='/2 is used in guardsJosé Valim
Prior to this commit, erl_eval did not properly evaluate erlang:'=='/2 and friends in guard clauses because it always flattened it to a local call ==/2. This commit removes the flattening logic while still normalizing old guards style.
2014-01-23Properly handle export_all when looking for undefined callbacksAnthony Ramine
Reported-by: Michele Miron
2014-01-21Fix testing with unicode pathsDan Gudmundsson
re needs unicode option
2014-01-09Shell: expand 0-arity functions all the way to closing parenthesisPierre Fenoll
`erl` has tab completion for modules' exported functions but expands only up to the opening paren. This commit closes that opening paren in case the function is of arity zero and there is no other function with the same name. It browses the lists of matches (a 2nd time) for Arity, on complete match and then decides what to append.
2013-12-12Test named funsAnthony Ramine
2013-10-22Merge branch 'mh/dict_orddict_is_empty/OTP-11353'Fredrik Gustafsson
* mh/dict_orddict_is_empty/OTP-11353: Update primary bootstrap Add dict:is_empty/1 and orddict:is_empty/1
2013-10-18Allow all auto imports to be suppressed at onceJosé Valim
This patch introduces the no_auto_import attribute: -compile(no_auto_import). Useful for code generation tools that always use the qualified function names and want to avoid the auto imported functions clashing with local ones. Implementation wise, we chose to have a special flag 'all' to avoid doing many set lookups when checking for suppression.
2013-10-14Merge branch 'maint'Fredrik Gustafsson
2013-10-14Merge branch 'fenollp/treewide_remove_unexpected_0xff/OTP-11323' into maintFredrik Gustafsson
* fenollp/treewide_remove_unexpected_0xff/OTP-11323: Remove ^L characters hidden randomly in the code. Not those used in text files as delimiters.
2013-09-30Merge branch 'maint'Fredrik Gustafsson
2013-09-25stdlib: extended binary_module_SUITE to assure badarg for OTP-11350Fredrik Gustafsson
2013-09-13Add dict:is_empty/1 and orddict:is_empty/1Magnus Henoch
dict:size/1 runs in constant time, but orddict:size/1 does not. With this change, the two modules stay API compatible and gain a constant-time function for checking whether a dictionary is empty.
2013-09-12Remove ^L characters hidden randomly in the code. Not those used in text ↵Pierre Fenoll
files as delimiters. While working on a tool that processes Erlang code and testing it against this repo, I found out about those little sneaky 0xff. I thought it may be of help to other people build such tools to remove non-conforming-to-standard characters.
2013-09-06Merge branch 'maint'Fredrik Gustafsson
Conflicts: bootstrap/lib/stdlib/ebin/erl_lint.beam
2013-08-27Fix variable usage tracking in some record errorsAnthony Ramine
When reporting a field redefinition in a record, erl_lint can forget about some old unused variables. f() -> X = 1, #r{a=foo,a=bar,a=qux}.
2013-08-27Fix unsafe variable tracking in try expressionsAnthony Ramine
Variables used in the body of a try expression were marked as unsafe *and* used, which makes no sense as an unsafe variable can't be used. Function vtsubtract/2 is used to forget usage of such unsafe variables. Reported-by: Paul Davis
2013-08-27Fix variable usage tracking in erl_lintAnthony Ramine
When analyzing complex expressions (i.e. comprehensions, cases, tries, ifs and receives), erl_lint does not forget about old unused variables when returning the updated variable table. This causes a bug where old unused variables are not recorded as such: t(X, Y) -> #r{a=[ K || K <- Y ],b=[ K || K <- Y ]}. As erl_lint uses vtmerge_pat/2 to merge the results of the analysis of the two list comprehensions, X is marked as used and the warning is not emitted. The function vtmerge_pat/2 is used instead of the similar vtmerge/2 which does not mark multiple occurrences of a variable as usage to handle cases like the following one: t(X, Y) -> #r{a=A=X,b=A=Y}. Other simpler expressions like conses, tuples and external fun references do not correctly follow this behaviour, e.g. A is not marked as used in the following code: t(X, Y) -> {A=X,A=Y}. This commit fixes both issues and makes erl_lint not return old unused variables in updated tables and makes all compound expressions use vtmerge_pat/2. Reported-by: Anders Ramsell
2013-08-21Merge branch 'maint'Hans Bolinder
* maint: Fix a Dets bug concerning traversal of tables
2013-08-21Merge branch 'hb/stdlib/dets_bugfix/OTP-11245' into maintHans Bolinder
* hb/stdlib/dets_bugfix/OTP-11245: Fix a Dets bug concerning traversal of tables
2013-08-21Merge branch 'maint'Hans Bolinder
* maint: Fix a bug in the linter regarding the 'fun M:F/A' construct
2013-08-20Fix a bug in the linter regarding the 'fun M:F/A' constructHans Bolinder
If the fun M:F/A construct was used erroneously the linter could crash. Thanks to Mikhail Sobolev for reporting the bug.
2013-08-19Fix a Dets bug concerning traversal of tablesHans Bolinder
The bug was introduced in R16B. Thanks to Manuel Durán Aguete.
2013-08-09Add more tests for corner error cases in erl_bif_re.cPatrik Nyblom
2013-08-09Add match_limit and match_limit_recursion optionsPatrik Nyblom
Added to re:run and sets the corresponding fields in 'extra' struct for the PCRE match engine. The result can be viewed by also setting 'report_errors' when matching. Some housekeeping was also done... The offset option also did not properly check for offset's >= 0. Change nomatch to BADARG when pre-compiled mp() is faked: By constructing a 5-tuple with faked content but the right data types, you could do a re:run which returned nomatch when in fact the mp() was bad. The cheapest solution is to check the return from pcre_exec better. Remove unreachable code in erts_bif_re.c: Replaced tests for things that logically simply cannot happen with ASSERT.
2013-08-09Add return_errors option to re:run/3Patrik Nyblom
2013-08-09Add new options to Erlang re interface and mend dupnamesPatrik Nyblom
Add notempty_atstart, no_start_optimize, ucp and never_utf options from new PCRE version. Use the new notempty_atstart in global matching. Add inspect/2 function Correctly handle dupnames when capturing a name, as in Perl, get the leftmost matching occurence. Also added all_names, to get all the names in the pattern in alphabetical (name) order. To be able to use this in global matching, an inspect function that can dig out a namelist was added.
2013-08-06Integrate new PCRE test suitesPatrik Nyblom
The relevant testoutputNN files were copied from the PCRE distribution and some corrections were done to run_pcre_tests.erl. Also made test generator be more compiler friendly The re_testoutput1_replacement_test and re_testoutput1_split_test modules that are generated by run_pcre_tests.erl (offline, when a new version of PCRE is integrated in the VM) took forever to compile, as one single huge function contained all the tests. The autogenerated tests are now split into ~50 functions, which reduces compile time to approximately a third. New automatic test suites are also generated from the new testoutputNN files, and checked in.