aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/test
AgeCommit message (Collapse)Author
2012-08-20Merge branch 'jkl/fix-filename-nativename/OTP-10188' into maintFredrik Gustafsson
* jkl/fix-filename-nativename/OTP-10188: Fix filename:nativename/1 on Win32 Add filename:nativename/1 binary argument test to suite
2012-08-15Merge branch 'sverk/ets-compressed-binary-bug/OTP-10182' into maintSverker Eriksson
* sverk/ets-compressed-binary-bug/OTP-10182: Fix corrupted binaries in compressed ETS tables Make ETS compile with #define DEBUG_CLONE
2012-08-15erl_lint: Add a deprecated warning for literal tuple funsBjörn Gustavsson
The run-time warning for use of tuple funs will not catch the use of literal tuple funs, such as: if {erlang,'+'}(3,X) =:= 0 -> true; true -> false end. Therefore, add a compile-time warning to give users some warning before they stop working in R16.
2012-08-14Fix corrupted binaries in compressed ETS tablesSverker Eriksson
2012-08-08Bugfix escript_SUITE:archive_script_file_accessSiri Hansen
Used internal function do_run/3 instead of run/3 for executing escript. This will always fail on windows.
2012-08-07Fix flattening of paths in erl_prim_loaderSiri Hansen
When correcting OTP-10071, a new error was introduced in erl_prim_loader. In order to improve ability to detect if a file was inside the primary archive, all paths were flattened - i.e. "." and ".." were removed. This implementation had some faults, and it did not take symlinks into account. This has been corrected.
2012-07-30Add filename:nativename/1 binary argument test to suiteJan Klötzke
The filename module accepts binaries as file names. Add a test for filename:nativename/1 with binary input data as it currently fails on win32.
2012-07-18Merge branch 'ta/prim_archive-reloading' into maintHenrik Nord
* ta/prim_archive-reloading: escript_SUITE: remove gratuitous space [erts,kernel,stdlib] fix escript/primary archive reloading Conflicts: erts/preloaded/src/erl_prim_loader.erl OTP-10151
2012-07-11Merge branch 'siri/erl_prim_loader/archive-scripts/OTP-10071' into maintSiri Hansen
* siri/erl_prim_loader/archive-scripts/OTP-10071: Update preloaded Add tests for problems with handling of primary archive Add comments to make erl_prim_loader primary archive handling more readable Fix erl_prim_loader errors in handling of primary archive
2012-07-10Add tests for problems with handling of primary archiveSiri Hansen
Thanks to Tuncer Ayaz for co-authoring.
2012-07-06escript_SUITE: remove gratuitous spaceTuncer Ayaz
2012-07-06[erts,kernel,stdlib] fix escript/primary archive reloadingTuncer Ayaz
If the mtime of an escript/primary archive file changes after being added to the code path, correctly reload the archive and update the cache. The existing code didn't consider that it might be a zip archive and failed: =ERROR REPORT==== 3-Aug-2011::09:21:21 === File operation error: bad_central_directory. Target: /escript_archive/module.beam. Function: get_file. Process: code_server. Thanks David Reid and Hakan Mattson.
2012-07-04Change testcase of gen_server:enter_loop/4 with global scopeGustav Simonsson
to match on result of a gen_server:call/2
2012-07-03Correct guard matching in gen_server:enter_loop/4Gustav Simonsson
to match global scope in ServerName without timeout. OTP-10130
2012-06-08Merge branch 'lukas/otp/install_with_whitespace/OTP-10107' into maintLukas Larsson
* lukas/otp/install_with_whitespace/OTP-10107: Update to work with space in include path Update to work with whitespace in exec path
2012-06-05Update to work with whitespace in exec pathLukas Larsson
OTP-10106 OTP-10107
2012-06-04Merge branch 'bjorn/remove-hybrid-heap/OTP-10105' into maintLukas Larsson
* bjorn/remove-hybrid-heap/OTP-10105: Remove stale code for hybrid heap and incremental GC Remove the hipe_bifs:show_message_area/0 BIF Remove support for erlang:system_info(global_heaps_size) Remove the erlang:garbage_collect_message_area/0 BIF Remove workarounds for hybrid and shared heaps in test suites
2012-05-30Extand timetrap for escript testsLukas Larsson
2012-05-15Improve the nice 'badarith' message displayed by the shellHans Bolinder
2012-05-10Remove workarounds for hybrid and shared heaps in test suitesBjörn Gustavsson
2012-03-30Update copyright yearsBjörn-Egil Dahlberg
2012-03-21Teach edlin_expand_SUITE:init_per_suite independencePatrik Nyblom
2012-03-21io_proto_SUITE: make sure temp files are removedPatrik Nyblom
2012-03-20Correct a minor bug in qlc's testsuiteHans Bolinder
2012-03-05Merge branch 'hb/stdlib/digraph_condensation/OTP-9953' into maintHans Bolinder
* hb/stdlib/digraph_condensation/OTP-9953: Remove loops from the graph created by digraph_utils:condensation/1
2012-03-05Leave control back to gen_server during supervisor's restart loopSiri Hansen
When an attempt to restart a child failed, supervisor would earlier keep the execution flow and try to restart the child over and over again until it either succeeded or the restart frequency limit was reached. If none of these happened, supervisor would hang forever in this loop. This commit adds a timer of 0 ms where the control is left back to the gen_server which implements the supervisor. This way any incoming request to the supervisor will be handled - which could help breaking the infinite loop - e.g. shutdown request for the supervisor or for the problematic child. This introduces some incompatibilities in stdlib due to new return values from supervisor: * restart_child/2 can now return {error,restarting} * delete_child/2 can now return {error,restarting} * which_children/1 returns a list of {Id,Child,Type,Mods}, where Child, in addition to the old pid() or 'undefined', now also can be 'restarting'.
2012-03-01Remove loops from the graph created by digraph_utils:condensation/1Hans Bolinder
The function digraph_utils:condensation/1 used to create a digraph containing loops contradicting the documentation which states that the created digraph is free of cycles. Thanks to Kostis Sagonas for finding the bug.
2012-02-24Merge branch 'uw/extending_gen' into maintGustav Simonsson
* uw/extending_gen: Add plugin support for alternative name lookup OTP-9945
2012-02-21erts: Fix bignum-bug in ETS with compressed optionSverker Eriksson
A large 64-bit immediate number will be stored as SMALL_BIG_EXT by ETS compressed format. When uncompressing, the SMALL_BIG_EXT was first decoded as as bignum (by bytes_to_big) and then turned into a small (by big_norm). This works for normal "binary_to_term" as decoded_size() over-estimates the needed heap size. But for ETS no over-estimation is done as the real term size is known and stored in DbTerm. Fixed by preventing bytes_to_big() from writing bignum digit when the number is seen to fit in an immediate.
2012-02-09Remove usage of tuple funs in sofsHans Bolinder
2012-02-09Merge branch 'bjorn/remove-is_constant-vestiges/OTP-6454' into maintBjörn Gustavsson
* bjorn/remove-is_constant-vestiges/OTP-6454: HiPE: Remove support for is_constant/1 erl_lint: Remove handling of constant/1 erl_bif_types: Remove type for is_constant/1 erl_eval: Remove support for is_constant/1 Remove support for is_constant/1 in ms_transform Remove references to is_constant/1 from the match spec documentation
2012-02-06re_SUITE: Skip error_handling/1 if 're' is native codeBjörn Gustavsson
2012-01-30shell_SUITE: Handle different EXIT reasons from native codeBjörn Gustavsson
2012-01-27sofs_SUITE: Handle different EXIT reasons from native codeBjörn Gustavsson
2012-01-27erl_eval_SUITE: Skip test of parameterized modules if native codeBjörn Gustavsson
Parameterized modules are not supported by HiPE.
2012-01-26Remove support for is_constant/1 in ms_transformBjörn Gustavsson
2012-01-26erl_lint: Disallow call to is_record/3 if there is a local is_record/3Björn Gustavsson
Attempting to call is_record/3 (without an erlang: prefix) from a guard if there was a local function named is_record/3 would cause a compiler crash. For consistency with other guard tests, disallow the call. is_record/2 in a guard will still be allowed (and work correctly) even if there is a local is_record/2. It could be argued that is_record/2 should be handled in the same way as is_record/3, but changing that now could break working code.
2012-01-25Ensure that generated record operations don't call local functionsBjörn Gustavsson
Consistently use external (remote) calls to the BIFs element/2, setelement/3, and is_record/3.
2012-01-17erl_lint: Consistently reject local calls from guardsBjörn Gustavsson
If a guard test (such as is_list/1) has a local definition in a module (or is imported), erl_lint will reject a call to it from a guard if the call is not at the top-level: foo(L) when is_list(L) =:= true -> %% Will be rejected. ok. is_list(_) -> ok. But if the call is at the top-level, it will be accepted (and cause a crash in a later compiler pass): foo(L) when is_list(L) -> %% Will be accepted by erl_lint ok. is_list(_) -> ok. This inconsistency was an oversight introduced when it became possible to override BIFs with local definitions.
2012-01-11Merge branch 'sverk/wait_for_test_procs' into maintSverker Eriksson
* sverk/wait_for_test_procs: stdlib: Enable unused 'end_per_testcase' in ets_SUITE
2011-12-20Don't save child spec for temporary child if child's start func returns ignoreSiri Hansen
Supervisor should never keep child specs for dead temporary children.
2011-12-19stdlib: Enable unused 'end_per_testcase' in ets_SUITESverker Eriksson
Also added more information when waiting for test proc to die
2011-12-09Update copyright yearsBjörn-Egil Dahlberg
2011-12-08Change supervisor_SUITE to pure common test styleSiri Hansen
Also, some minor debug help is added to a test case which fails every now and then.
2011-12-05Fix typos in tar_SUITETuncer Ayaz
2011-11-30Remove dependency on R12 from a qlc test caseHans Bolinder
The new file lib/stdlib/test/qlc_SUITE_data/join_info_compat.erl was created on an R12B node.
2011-11-28Merge branch 'bjorn/compiler/options/OTP-9752'Björn Gustavsson
* bjorn/compiler/options/OTP-9752: filename documentation: Recommend against using filename:find_src/1,2 Teach filename:find_src/1,2 to handle slim or stripped BEAM files filename: Eliminate failing call to Mod:module_info(source_file) filename.erl:filter_options/1: Remove handling of dead options compiler: Don't include {cwd,_} in module_info(compile) compiler: Don't include source code options in module_info(compile) hipe: Teach hipe to handle slim or stripped BEAM files
2011-11-24Teach filename:find_src/1,2 to handle slim or stripped BEAM filesBjörn Gustavsson
filename:find_src/1,2 will crash when asked to find the source corresponding to a BEAM with no compilation options. A BEAM file can be missing compilation options if it has been stripped using beam_lib:strip/1 or compiled using the undocumented 'slim' option. Why this matters: If ERL_COMPILE_OPTIONS is set to +slim before building Erlang/OTP, there will be a crash in 'igor' during the building of the public_key application. ('igor' merges several source code files, and uses filename:find_src/1,2 to find the source code.) Change filename:find_src/1,2 to return an empty option list if there are no options in the BEAM file. Noticed-by: Per Hedeland
2011-11-24Add plugin support for alternative name lookupUlf Wiger
OTP behaviour instances (gen_server, gen_fsm, gen_event) can currently register themselves either locally or globally, and the behaviour libraries (including gen.erl) support both addressing methods, as well as the normal Pid and {Name, Node}. However, there are alternative registry implementations - e.g. gproc - and one can well imagine other ways of locating a behaviour instance, e.g. on a node connected only via a TCP tunnel, rather than via Distributed Erlang. In all these cases, one needs to write extra code to identify the behaviour instance, even though the instance itself need not be aware of how it is located. This patch introduces a new way of locating a behaviour instance: {via, Module, Name}. Module is expected to export a subset of the functions in global.erl, namely: register_name(Name, Pid) -> yes | no whereis_name(Name) -> pid() | undefined unregister_name(Name) -> ok send(Name, Msg) -> Pid Semantics are expected to be the same as for global.erl This can be used in all places where {global, Name} is accepted. faulty export in gen_fsm_SUITE.erl await process death in dummy_via:reset() fix error in gen_[server|fsm]:enter_loop() fix documentation
2011-11-23tar_SUITE: Don't do symlink tests on WindowsBjörn Gustavsson