aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tools/test
AgeCommit message (Collapse)Author
2011-12-02lcnt_SUITE: Be kind to slow machinesBjörn Gustavsson
Bump the value for timetrap timeout, and also call lcnt:stop/0 in end_per_testcase/2 so that failure in one test case will not cause all the following to fail.
2011-12-02eprof_SUITE: Cope with fast computers and bad time measurementsBjörn Gustavsson
2011-12-02cover_SUITE: Cope with missing/broken crypto applicationBjörn Gustavsson
2011-11-07Merge branch 'bjorn/fun-improvements/OTP-9667'Björn Gustavsson
* bjorn/fun-improvements/OTP-9667: sys_pre_expand: Remove incorrect comment compiler: Eliminate use of deprecated erlang:hash/2 beam_asm: Fix broken NewIndex in fun entries beam_asm: Strenghten the calculation of Uniq for funs
2011-11-07beam_asm: Strenghten the calculation of Uniq for funsBjörn Gustavsson
Funs are identified by a triple, <Module,Uniq,Index>, where Module is the module name, Uniq is a 27 bit hash value of some intermediate representation of the code for the fun, and index is a small integer. When a fun is loaded, the triple for the fun will be compared to previously loaded funs. If all elements in the triple in the newly loaded fun are the same, the newly loaded fun will replace the previous fun. The idea is that if Uniq are the same, the code for the fun is also the same. The problem is that Uniq is only based on the intermediate representation of the fun itself. If the fun calls local functions in the same module, Uniq may remain the same even if the behavior of the fun has been changed. See http://erlang.org/pipermail/erlang-bugs/2007-June/000368.htlm for an example. As a long-term plan to fix this problem, the NewIndex and NewUniq fields was added to each fun in the R8 release (where NewUniq is the MD5 of the BEAM code for the module). Unfortunately, it turns out that the compiler does not assign unique value to NewIndex (if it isn't tested, it doesn't work), so we cannot use the <Module,NewUniq,NewIndex> triple as identification. It would be possible to use <Module,NewUniq,Index>, but that seems ugly. Therefore, fix the problem by making Uniq more unique by taking 27 bits from the MD5 for the BEAM code. That only requires a change to the compiler. Also update a test case for cover, which now fails because of the stronger Uniq calculation. (The comment in test case about why the Pid2 process survived is not correct.)
2011-11-07EEP-23: Allow variables in fun M:F/ABjörn Gustavsson
Currently, the external fun syntax "fun M:F/A" only supports literals. That is, "fun lists:reverse/1" is allowed but not "fun M:F/A". In many real-life situations, some or all of M, F, A are not known until run-time, and one is forced to either use the undocumented erlang:make_fun/3 BIF or to use a "tuple fun" (which is deprecated). EEP-23 suggests that the parser (erl_parse) should immediately transform "fun M:F/A" to "erlang:make_fun(M, F, A)". We have not followed that approach in this implementation, because we want the abstract code to mirror the source code as closely as possible, and we also consider erlang:make_fun/3 to be an implementation detail that we might want to remove in the future. Instead, we will change the abstract format for "fun M:F/A" (in a way that is not backwards compatible), and while we are at it, we will move the translation from "fun M:F/A" to "erlang:make_fun(M, F, A)" from sys_pre_expand down to the v3_core pass. We will also update the debugger and xref to use the new format. We did consider making the abstract format backward compatible if no variables were used in the fun, but decided against it. Keeping it backward compatible would mean that there would be different abstract formats for the no-variable and variable case, and tools would have to handle both formats, probably forever. Reference: http://www.erlang.org/eeps/eep-0023.html
2011-10-27tools test suite: Eliminate compilation warnings for the eed moduleBjörn Gustavsson
2011-10-27tools test suite: Eliminate use of deprecated regexp moduleBjörn Gustavsson
Also extend the test suite so that the changed code will be executed.
2011-05-06Add a check logic to prevent file descriptor leakShunichi Shinohara
cover module handle files as raw in export and import. Assert counts of ports are the same at the beginning and at the end of the test case.
2011-03-30Merge branch 'hw/call-chmod-without-f' into devHenrik Nord
* hw/call-chmod-without-f: Call chmod without the "-f" flag Conflicts: erts/emulator/test/Makefile lib/asn1/test/Makefile lib/crypto/test/Makefile lib/debugger/test/Makefile lib/docbuilder/test/Makefile lib/edoc/test/Makefile lib/erl_interface/test/Makefile lib/inviso/test/Makefile lib/parsetools/test/Makefile lib/percept/test/Makefile lib/ssl/test/Makefile lib/syntax_tools/test/Makefile lib/test_server/test/Makefile lib/tools/test/Makefile OTP-9170
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-03-08Merge branch 'lukas/tools/cover_mem_footprint/OTP-9043' into devLukas Larsson
* lukas/tools/cover_mem_footprint/OTP-9043: Fix spelling on analyse Add short sleep to prevent timing issues on slow machines Update cover tests which depend on compiled files to be skipped if the compile testcase is skipped Conflicts: lib/tools/test/cover_SUITE.erl
2011-03-08Fix spelling on analyseLukas Larsson
2011-03-07Add short sleep to prevent timing issues on slow machinesLukas Larsson
2011-03-07Update cover tests which depend on compiled files to be skipped if the ↵Lukas Larsson
compile testcase is skipped
2011-02-28Merge branch 'lukas/tools/cover_mem_footprint/OTP-9043' into devLukas Larsson
* lukas/tools/cover_mem_footprint/OTP-9043: Update testcases which need crypto to be skipped on platforms which does not have crypto Update internal pmap to have a process limit Add write concurrancy to cover masters ?COVER_TABLE Update documentation to reflect performance enhancement changes of cover Add aync_analyse_to_file function to cover Split the cover ets tables into two tables, one with the clause info and one with the bump info. This will make it faster to search the tables when analyzing and exporting data. Add process debug tags Update remote collect to handle multiple requests at once Remove io printout warnings when exporting an imported module Make the call to cover parallel so that the test_server takes advantage of the new cool parallel cover features. Update cover to allow multiple analyse and analyze_to_file calls at the same time. For each call a seperate process will be spawned to handle the request. Refactor cover to prepare it for making analysis parallel Update remote loading to only load a certain number of modules at a time to prevent memory usage explosion Conflicts: lib/tools/test/cover_SUITE.erl
2011-02-17Rename Suite Callback to Common Test HookLukas Larsson
2011-02-17Update and add cover spec files to work with common_testLukas Larsson
2011-02-17Update all test specsLukas Larsson
2011-02-17Fix formatting for toolsLukas Larsson
2011-02-17Add init_per_suite and end_per_suiteLukas Larsson
2011-02-17Add ts_install_scb to suite/0Lukas Larsson
2011-02-17Update tools tests to conform with common_test standardLukas Larsson
2011-02-17Update all fin_per_testcase to end_per_testcase.Lukas Larsson
2011-02-17Update testcases which need crypto to be skipped on platforms which does not ↵Lukas Larsson
have crypto
2011-02-01Split the cover ets tables into two tables, one with the clause info and one ↵Lukas Larsson
with the bump info. This will make it faster to search the tables when analyzing and exporting data. Also made cover export more parallel in how data is collected from the different nodes and also how data is read from ets. This should make the performance of cover much better on machines with multiple CPUs.
2010-11-15Call chmod without the "-f" flagHolger Weiß
"-f" is a non-standard chmod option which at least SGI IRIX and HP UX do not support. As the only effect of the "-f" flag is to suppress warning messages, it can be safely omitted.
2010-06-09Fix eprof to handle error casesBjörn-Egil Dahlberg
2010-06-09Dialyzer cleanup for eprofBjörn-Egil Dahlberg
2010-06-09Fix fprof_SUITE to use new eprof APIBjörn-Egil Dahlberg
2010-06-09Switch pattern API for eprof profile with mfaBjörn-Egil Dahlberg
2010-06-09Update eprof_SUITE with more basic testsBjörn-Egil Dahlberg
2010-06-09Update eprof tests to reflect new eprofBjörn-Egil Dahlberg
2010-05-28OTP-8647 Xref adds calls to operators when {builtins,true}Hans Bolinder
When given the option {builtins,true} Xref now adds calls to operators.
2010-03-03OTP-8472 tools: xref: re/regexpHans Bolinder
Xref has been updated to use the re module instead of the deprecated regexp module.
2010-02-11OTP-8430: tools: xref_SUITE updatedBjörn Gustavsson
2010-02-10Merge branch 'egil/lcnt' into ccase/r13b04_devErlang/OTP
* egil/lcnt: Add test suite for lcnt in tools Add lcnt:rt_opt/1 bindings to erts_debug Add runtime option to enable/disable lcnt stats Add auto width on string output Add lcnt documentation Add lock profiling tool OTP-8424 Add lock profiling tool. The Lock profiling tool, lcnt, can make use of the internal lock statistics when the runtime system is built with this feature enabled. This provides a mechanism to examine potential lock bottlenecks within the runtime itself. - Add erts_debug:lock_counters({copy_save, bool()}). This option enables or disables statistics saving for destroyed processes and ets-tables. Enabling this might consume a lot of memory. - Add id-numbering for lock classes which is otherwise undefined.
2010-02-08Add test suite for lcnt in toolsBjörn-Egil Dahlberg
2010-01-19Add test suite for the tools applicationBjörn Gustavsson