aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tools/src
AgeCommit message (Collapse)Author
2013-04-15Merge branch 'lh/demonitor-flush/OTP-11039' into maintFredrik Gustafsson
* lh/demonitor-flush/OTP-11039: Use erlang:demonitor(Ref, [flush]) where applicable
2013-04-09Delete ets tables when stoppedFredrik Gustafsson
2013-04-05Use erlang:demonitor(Ref, [flush]) where applicableLoïc Hoguin
2013-04-04fix a race condition when there're several applications in apps directoryManuel Rubio
2013-03-26[cover] Ensure no process leak when stopping cover on dead nodeSiri Hansen
When cover:stop(Node) was called on a non-existing node, a process waiting for cover data from the node would hang forever. This has been corrected.
2013-03-06Extend cover.erl source searchAnders Svensson
Commit 29231033 made cover fall back to compile info if source was not found in pwd or ../src. This isn't sufficient for source that lies in subdirectories of ../src when beams and source have been moved since compilation (eg. install of some OTP applications), so first try finding source relative to the beam directory. For example, given a beam path /installed/path/to/app-1.0/ebin/root.beam and a source path /compiled/path/to/app/src/subdir/root.erl then look for /installed/path/to/app-1.0/ebin/../src/subdir/root.erl before the source path.
2013-02-05Merge branch 'jv/cover-patches/OTP-10778'Fredrik Gustafsson
* jv/cover-patches/OTP-10778: Fix a bug in cover when used with no_auto_import Ensure cover keeps the proper file source cover now relies on the compile info to find file sources
2013-01-25Update copyright yearsBjörn-Egil Dahlberg
2013-01-25Fix a bug in cover when used with no_auto_importJosé Valim
Cover was rewriting guard clauses as non-remote calls. That said, if a guard contains erlang:is_binary(Binary), Cover was incorrectly removing the erlang prefix which lead to errors if is_binary is not auto imported. This commit keeps the abstract format as it is.
2013-01-25Ensure cover keeps the proper file sourceJosé Valim
Whenever a module is compiled via compile:forms/2, the source is set to current directory unless a source option is passed to compile. This commit ensures that cover passes the source information to compile:forms/2 to ensure the source won't be modified after the module is cover compiled.
2013-01-25cover now relies on the compile info to find file sourcesJosé Valim
Prior to this commit, cover relied on a simple heuristic that traverses directory from the beam file to find a source file. The heuristic was maintained with this patch but, if it fails, it fallbacks to the source value in the module compile info. In order to illustrate how it works, one of the tests that could not find its source now passes successfully (showing the source lookup is more robust).
2013-01-25Make adjustments for UnicodeHans Bolinder
2013-01-23Turn warnings to errors on selected applicationsBjörn Gustavsson
2013-01-22Merge branch 'lh/forget-mnemosyne/OTP-10729'Fredrik Gustafsson
* lh/forget-mnemosyne/OTP-10729: Remove what remains of the Mnemosyne code Remove support for the query keyword and query expressions
2013-01-18Merge branch 'nox/enable-silent-rules/OTP-10726'Björn-Egil Dahlberg
* nox/enable-silent-rules/OTP-10726: Implement ./otp_build configure --enable-silent-rules
2013-01-16Remove what remains of the Mnemosyne codeLoïc Hoguin
2013-01-15Implement ./otp_build configure --enable-silent-rulesAnthony Ramine
With silent rules, the output of make is less verbose and compilation warnings are easier to spot. Silent rules are disabled by default and can be disabled or enabled at will by make V=0 and make V=1.
2013-01-09Prepare OTP files for Unicode as default encodingHans Bolinder
2013-01-09Merge branch 'siri/cover/new-bugs-r16/OTP-10638'Siri Hansen
* siri/cover/new-bugs-r16/OTP-10638: [cover] Cleanup by stopping cover between tests [common_test] Stop cover on slave node after node is terminated [test_server] Stop cover on node after node is terminated [cover] Fix timing dependent bug in cover_SUITE:reconnect [cover] Remove stopped node also from lost_nodes list [cover] Don't mark stopped node as lost
2013-01-02[tools] Add Unicode support for CoverHans Bolinder
Code written by Siri Hansen.
2012-12-19[cover] Remove stopped node also from lost_nodes listSiri Hansen
A nodes that was stopped with cover:stop/1 while marked as lost would not be removed from the list of lost nodes. Therefore, if a nodeup was later received for a node with the same name, it would be reconnected. This has been corrected.
2012-12-19[cover] Don't mark stopped node as lostSiri Hansen
Nodes that were stopped with cover:stop/1 were marked as lost and would be reconnected if a nodeup was later received for a node with the same name. This has been corrected.
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