aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tools/test
AgeCommit message (Collapse)Author
2017-05-04Update copyright yearRaimo Niskanen
2017-04-19Merge branch 'bjorn/stdlib/erl_tar/OTP-14278'Björn Gustavsson
* bjorn/stdlib/erl_tar/OTP-14278: erl_tar: Handle leading slashes and directory traversal attacks Don't create absolute path names in tar files
2017-04-12Don't create absolute path names in tar filesBjörn Gustavsson
We should not assume that erl_tar will allow unpacking tar files with absolute path names for archive members.
2017-04-12[tools/make] Add current directory to include pathSiri Hansen
This is to ensure that files are recompiled if a .hrl file in the current directory is changed.
2017-03-09tools: Remove percept from makefileBjörn-Egil Dahlberg
2017-03-03tools: Allow Emake options to be passed in explicitlyAnthony Jackson
This allows build scripts to use emake without needing to generate an Emakefile before running make:all/0,1 or make:file/1,2.
2016-09-01xref: Eliminate use of sys_pre_expandBjörn Gustavsson
2016-08-30make, ct_make: Handle warning attributes in source filesBjörn Gustavsson
epp learned to handle the -warning() directive in 14d72f02, but make and ct_make were not updated to expect a {warning,_} return value from epp:parse_erl_form/1.
2016-08-29Fix purge of codeRickard Green
Ensure that we cannot get any dangling pointers into code that has been purged. This is done by a two phase purge. At first phase all fun entries pointing into the code to purge are marked for purge. All processes trying to call these funs will be suspended and by this we avoid getting new direct references into the code. When all processes has been checked, these processes are resumed. The new purge strategy now also completely ignore the existence of indirect references to the code (funs). If such exist, they will cause bad fun exceptions to the caller, but will not prevent a soft purge or cause a kill of a process having such live references during a hard purge. This since it is impossible to give any guarantees that no processes in the system have such indirect references. Even when the system is completely clean from such references, new ones can appear via distribution and/or disk.
2016-06-28tools: Fix a bug adding multiple modules to an Xref serverHans Bolinder
The bug when introduced in OTP-19.0. Optimize adding multiple modules to an Xref server
2016-04-29tools: Update fprof testsBjörn-Egil Dahlberg
2016-04-15eprof: Fix tests after tracer module incompatabilitiesLukas Larsson
2016-04-15fprof: update to work with new spawned trace eventLukas Larsson
OTP-13499
2016-04-13Merge branch 'egil/tools/modernize-tests'Björn-Egil Dahlberg
* egil/tools/modernize-tests: tools: Don't divide by zero in tests Fix instruments_SUITE sumblock check Eliminate use of doc and suite clauses Replace ?t with test_server Use test_server:is_debug/0 instead of custom check Replace use of test_server:format/2 with io:format/2 Eliminate use of ?config() macro Eliminate use of test_server:fail/0,1 Eliminate erlang:now/0 Modernize use of timetraps Remove ?line macros
2016-04-13tools: Don't divide by zero in testsBjörn-Egil Dahlberg
2016-04-07Fix instruments_SUITE sumblock checkBjörn-Egil Dahlberg
2016-04-07Eliminate use of doc and suite clausesBjörn-Egil Dahlberg
Those clause are obsolete and never used by common_test.
2016-04-07Replace ?t with test_serverBjörn-Egil Dahlberg
The macro ?t is deprecated. Replace its use with 'test_server'.
2016-04-07Use test_server:is_debug/0 instead of custom checkBjörn-Egil Dahlberg
2016-04-07Replace use of test_server:format/2 with io:format/2Björn-Egil Dahlberg
2016-04-07Eliminate use of ?config() macroBjörn-Egil Dahlberg
2016-04-07Eliminate use of test_server:fail/0,1Björn-Egil Dahlberg
2016-04-07Eliminate erlang:now/0Björn-Egil Dahlberg
2016-04-07Modernize use of timetrapsBjörn-Egil Dahlberg
2016-04-06Remove ?line macrosBjörn-Egil Dahlberg
2016-03-15update copyright-yearHenrik Nord
2016-03-01Generalize bit string comprehensionsBjörn Gustavsson
The expression in a bit string comprehension is limited to a literal bit string expression. That is, the following code is legal: << <<X>> || X <- List >> but not this code: << foo(X) || X <- List >> The limitation is annoying. For one thing, tools that transform the abstract format must be careful not to produce code such as: << begin %% Some instrumentation code. <<X>> end || X <- List >> One reason for the limitation could be that we'll get reduce/reduce conflicts if we try to allow an arbitrary expression in a bit string comprehension: binary_comprehension -> '<<' expr '||' lc_exprs '>>' : {bc,?anno('$1'),'$2','$4'}. Unfortunately, there does not seem to be an easy way to work around that problem. The best we can do is to allow 'expr_max' expressions (as in the binary syntax): binary_comprehension -> '<<' expr_max '||' lc_exprs '>>' : {bc,?anno('$1'),'$2','$4'}. That will work, but functions calls must be enclosed in parentheses: << (foo(X)) || X <- List >>
2016-02-18Merge branch 'bjorn/remove-test_server/OTP-12705'Björn Gustavsson
* bjorn/remove-test_server/OTP-12705: Remove test_server as a standalone application Erlang mode for Emacs: Include ct.hrl instead test_server.hrl Remove out-commented references to the test_server applications Makefiles: Remove test_server from include path and code path Eliminate use of test_server.hrl and test_server_line.hrl
2016-02-17stdlib: Add a Cover test with typed record fieldHans Bolinder
2016-02-17Makefiles: Remove test_server from include path and code pathBjörn Gustavsson
Since no test suites includede test_server.hrl, there is no need to have test_server in the include path or code path.
2016-02-17Eliminate use of test_server.hrl and test_server_line.hrlBjörn Gustavsson
As a first step to removing the test_server application as as its own separate application, change the inclusion of test_server.hrl to an inclusion of ct.hrl and remove the inclusion of test_server_line.hrl.
2016-02-08Merge branch 'maint'Hans Bolinder
* maint: tools: Correct a Cover test
2016-02-08tools: Correct a Cover testHans Bolinder
2016-02-03Merge branch 'maint'Hans Bolinder
* maint: tools: Add a Cover test tools: Fix wrong instrumentation of binary comprehensions
2016-02-03tools: Add a Cover testHans Bolinder
2016-01-22Merge branch 'maint'Siri Hansen
2015-12-17[cover] Don't crash when compiling beam without 'file' attributeSiri Hansen
cover:compile_beam and cover:compile_beam_directory crashed when trying to compile a beam file without a 'file' attribute. This has been corrected, so an error is returned instead.
2015-12-17[cover] Simplify module cc in cover test to avoid confusionSiri Hansen
Functions in this module are never called, and some functions are outdated. In order to avoid confusion (and need for update), the module is now reduced to a simple dummy module.
2015-10-09Teach erlang:is_builtin/3 that erlang:apply/3 is built-inBjörn Gustavsson
erlang:is_builtin(erlang, apply, 3) returns 'false'. That seems to be an oversight in the implementation of erlang:is_builtin/3 rather than a conscious design decision. Part of apply/3 is implemented in C (as a special instruction), and part of it in Erlang (only used if apply/3 is used recursively). That makes apply/3 special compared to all other BIFs. From the viewpoint of the user, apply/3 is a built-in function, since it cannot possibly be implemented in pure Erlang. Noticed-by: Stavros Aronis
2015-09-10Add test for "Fix cover output file"Siri Hansen
If a module includes eunit.hrl, a parse transform adds the function test/0 on line 0 in the module. A bug in OTP-18.0 caused cover:analyse_to_file/1 to fail to insert cover data in the output file when line 0 existed in the cover data table. The bug is corrected by the commit "Fix cover output file". This commit adds a test which checks that the bug is not introduced again.
2015-06-18Change license text to APLv2Bruce Yinhe
2015-06-10cover: handle undefined module when analysing to filePéter Gömöri
It is possible that not just the source but even the beam of a module is not available when calling analyse_to_file. For example when coverdata is imported from an old file and since then a module was removed. Before this fix cover:analyse_to_file/3 could possibly never return because of a helper process crashed with error:undef and never reply to the caller. At the same time link the helper process to cover_server so any further error won't let the caller waiting indefinitely.
2015-05-21tools: Relax lcnt test timeBjörn-Egil Dahlberg
2015-02-20[cover] Improve performanceSiri Hansen
Add functions for cover compilation and analysis on multiple files. This allows for more parallelisation. All functions for cover compilation can now take a list of modules/files. cover:analyse/analyze and cover:analyse_to_file/analyze_to_file can be called without the Modules arguement in order to analyse all cover compiled and imported modules, or with a list of modules. Also, the number of lookups in ets tables is reduced, which has also improved the performance when analysing and resetting cover data.
2014-11-08Fix cover bug on last expressions with empty clausesJosé Valim
OTP-8188 introduced a fix for handling last expressions in expressions like case, try and friends. However the fix did not account that some of those expressions like receive may have no clauses (only an after clause), leading to a function clause error when cover compiling code with such expressions.
2014-07-14tools: Add lcnt tests for new serializingBjörn-Egil Dahlberg
2014-06-05Replace erlang:binary_to_term() Erlang wrappersRickard Green
Replace the 'erlang:binary_to_term/1' and 'erlang:binary_to_term/2' Erlang wrappers taking care of failure after yield with management of this in the hidden yield BIF.
2014-04-01tools: Refactor testcaseBjörn-Egil Dahlberg
2014-03-06cover_SUITE:reconnect/1: Let the other side initiate the disconnectBjörn Gustavsson
The reconnect/1 test starts another node and takes down the connection to it for a while. However, it has been in observed in our daily builds that sometimes a "spontaneous" re-connection occurs. I think that it because of the call to rpc:cast/3 which internally will set the group leader for the remote process to a process on the test_server node. It seems that sometimes the group_leader/2 call will re-establish the connection. Unfortunately, I have not been able to force this to happen by inserting delays in the rpc module, so it it still just an hypothesis. However, letting the other node do the disconnection does seem to fix the problem and intuitively that should be safer way to do it because the group_leader/2 call and the disconnection will be executed sequentially on the same node instead of concurrently from two different nodes.
2014-02-28Attempt to provide more information if a test case failsBjörn Gustavsson