aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tools/src
AgeCommit message (Collapse)Author
2013-01-02[tools] Add Unicode support for CoverHans Bolinder
Code written by Siri Hansen.
2012-11-23Merge branch 'maint'Björn-Egil Dahlberg
2012-11-23Update copyright yearsBjörn-Egil Dahlberg
2012-10-30[cover] Allow reconnection if node has been disconnected or downSiri Hansen
OTP-10523 Earlier, if the connection to a remote cover node was lost, all cover data was lost and the cover_server on the remote node would die. This would cause problems if there were cover compiled modules that would still be executed since they would attempt to write to the no longer existing ets tables belonging to the cover_server. This commit changes this behavior so that the cover_server on the remote node will survive connection loss and continue collecting cover data. If the connection is re-established then the main node will sync with the remote node again and cover data will not be lost (unless the node was down).
2012-10-30[cover] Don't kill remote nodes when connection to main node is lostSiri Hansen
OTP-10523 Since the will probably be cover compiled modules left in the remote node, we want to keep the cover_server and it's ets tables even if connection to remote node is lost. This way it will not crash (due to ets:insert in non existing table) if functions in cover compiled modules are executed.
2012-10-30[cover] Add support for test_serverSiri Hansen
OTP-10523 * Added cover:flush(Nodes), which will fetch data from remote nodes without stopping cover on those nodes. * Added cover:get_main_node(), which returns the node name of the main node. This is used by test_server to avoid {error,not_main_node} when a slave starts another slave (e.g. in test_server's own tests).
2012-09-07tools: Add missing lcnt module to .app.srcBjörn-Egil Dahlberg
2012-08-31Update copyright yearsBjörn-Egil Dahlberg
2012-08-22Allow non-ASCII characters in Xref filanmesHans Bolinder
Xref now accepts filenames with character codes greater than 126. (Thanks to Emile Joubert for reporting the issue.)
2012-06-05Update to work with whitespace in exec pathLukas Larsson
OTP-10106 OTP-10107
2012-05-16tools: Remove usage of tuple funs in fprofRaimo Niskanen
2011-12-09Update copyright yearsBjörn-Egil Dahlberg
2011-11-29fprof: Eliminate use of tuple funBjörn Gustavsson
2011-11-29xref_compiler: Eliminate use of tuple funBjörn Gustavsson
2011-11-10Merge branch 'pg/fix-cover-leftover-down-msg'Henrik Nord
* pg/fix-cover-leftover-down-msg: [cover]fix leftover {'DOWN', ..} msg in callers queue OTP-9694
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-09-21[cover]fix leftover {'DOWN', ..} msg in callers queueHenrik Nord
After stopping cover with cover:stop() there could still be a {'DOWN',...} leftover message in the calling process's message queue. This unexpected leftover could be eliminated if erlang:demonitor/2 with option flush would be used in certain points
2011-09-15Fix typos in cover.erlTuncer Ayaz
2011-05-20Update copyright yearsBjörn-Egil Dahlberg
2011-04-29Fix file descriptor leakShunichi Shinohara
File descriptors to import cover data are left opened. When we export and import cover data many times, leaked descriptors cause an error.
2011-04-07Merge branch 'ts/cover-with-export_all' into devHenrik Nord
* ts/cover-with-export_all: add user specified compiler options on form reloading OTP-9204
2011-04-01Merge branch 'sb/make-files-like-erlc' into devHenrik Nord
* sb/make-files-like-erlc: Change make:files to behave more like erlc OTP-9179
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-02-10Update internal pmap to have a process limitLukas Larsson
Add write concurrancy to cover masters ?COVER_TABLE
2011-02-02Update documentation to reflect performance enhancement changes of coverLukas Larsson
2011-02-02Add aync_analyse_to_file function to coverLukas Larsson
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.
2011-01-27Add process debug tagsLukas Larsson
2011-01-27Update remote collect to handle multiple requests at onceLukas Larsson
2011-01-27Remove io printout warnings when exporting an imported moduleLukas Larsson
2011-01-26Update cover to allow multiple analyse and analyze_to_file calls at the same ↵Lukas Larsson
time. For each call a seperate process will be spawned to handle the request.
2011-01-26Refactor cover to prepare it for making analysis parallelLukas Larsson
2011-01-25Update remote loading to only load a certain number of modules at a time to ↵Lukas Larsson
prevent memory usage explosion
2010-11-30eprof: fix badarith exception on divideBjörn-Egil Dahlberg
Error caused by low resolution timers.
2010-11-22Fix eprof API mismatch of sort functionalityBjörn-Egil Dahlberg
Option {sort, calls} now sorts on calls. Option {sort, time } now sorts on time.
2010-09-23add user specified compiler options on form reloadingTobias Schlager
In order to be able to test non-exported functions from another (test) module it is necessary to compile the specific module (at least during the test phase) with the export_all compiler option. This allows complete separation of testing and productive code. At the moment it is not possible to combine this with a test code coverage using the cover module. The problem is that when cover compiling a module using cover:compile_* the code is reloaded into the emulator omitting/filtering the passed user options. In my example above the export_all option would be removed and the non-exported functions cannot be called any more.
2010-09-10Remove warnings for clashes with new autoimported BIFsPatrik Nyblom
2010-07-28Fix cover's HTML-generation logic to escape ampersands in source codeTom Moertel
When cover generates HTML files and embeds source code within them, it does not escape ampersands in the source code. These bare ampersands get misinterpreted by web browsers as HTML character-entity references; as a result, source code containing ampersands renders improperly. This small patch fixes the problem by causing bare ampersands to be escaped into as "&" character-entity references.
2010-06-11Merge branch 'egil/eprof' into devErlang/OTP
* egil/eprof: Fix eprof to handle error cases Dialyzer cleanup for eprof Fix fprof_SUITE to use new eprof API Switch pattern API for eprof profile with mfa Update eprof documentation Update eprof_SUITE with more basic tests Rename sorting choices for eprof Teach eprof to align text output Add dump functionality to eprof Add log functionality to eprof Update eprof tests to reflect new eprof Add start timestamp to eprof profiling Teach eprof to use the new breakpoints OTP-8706 egil/eprof eprof has been reimplemented with support in the Erlang virtual machine and is now both faster (i.e. slows down the code being measured less) and scales much better. In measurements we saw speed-ups compared to the old eprof ranging from 6 times (for sequential code that only uses one scheduler/core) up to 84 times (for parallel code that uses 8 cores).
2010-06-09Fix eprof to handle error casesBjörn-Egil Dahlberg
2010-06-09Dialyzer cleanup for eprofBjörn-Egil Dahlberg
2010-06-09Switch pattern API for eprof profile with mfaBjörn-Egil Dahlberg
2010-06-09Rename sorting choices for eprofBjörn-Egil Dahlberg
- Added {sort, mfa} option
2010-06-09Teach eprof to align text outputBjörn-Egil Dahlberg
2010-06-09Add dump functionality to eprofBjörn-Egil Dahlberg
2010-06-09Add log functionality to eprofBjörn-Egil Dahlberg
2010-06-09Add start timestamp to eprof profilingBjörn-Egil Dahlberg
2010-06-09Teach eprof to use the new breakpointsBjö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-05-19Change make:files to behave more like erlcSam Bobroff
Currently make:files will fail with the atom 'error' and no message when the input (.erl) file is unreadable or the output (.beam) file is unwritable. This differs from erlc which will print a useful error message, or when possible, remove the unwritable output file and continue successfully. This change removes the unnecessary checks on the files when make:files is called and allows the error checking to be done in compile:file, where the error messages are produced. It does not affect the return value. In particular this resolves the mysterious problem of make:files failing but erlc succeeding, caused by an unwritable (usually root owned) beam file in an otherwise writable build directory.