aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tools/test
AgeCommit message (Collapse)Author
2019-02-11Use the counters module to speed up coverBjörn Gustavsson
Use `counters:add/3` instead of `ets:update_counter/3` for counting the number of times a line is executed. By default, the reference to the counter array for each module will be stored in a persistent term and retrieved every time a counter is updated. This makes the compiler test suite with coverage enabled run *almost* twice as fast (on my computer, in about 6 minutes down from more than 11 minutes). To get even more speed, the new `cover:local_only/0` function can be called to put cover into a mode where the cover-compiled code can only be run on the local node. In this mode, the cover-compiled modules in a more efficient way by compiling the counter reference into the code. This shaves off about one more minute, making the compiler test suite with coverage enabled run *more than* twice as fast (in about 5 minutes on my computer).
2018-10-11Merge branch 'maint'Dan Gudmundsson
* maint: Run emacs tests from test_suite Emacs: consider case in erlang-get-identifier-at-point Emacs: do not accept compiler warnings in selected elisp files Emacs: add test-erlang-mode
2018-10-09Run emacs tests from test_suiteDan Gudmundsson
Drive emacs test from test_suite instead of bash script.
2018-10-09Emacs: do not accept compiler warnings in selected elisp filesJohan Claesson
2018-10-09Emacs: add test-erlang-modeJohan Claesson
2018-09-21Merge branch 'maint'Henrik Nord
2018-09-21Update copyright yearHenrik Nord
2018-07-05Make instrument suite more stable after PR-1854John Högberg
The SSA compiler branch is smart enough to recognize that the code past 'after infinity' is unreachable, so our test vectors weren't always kept alive.
2018-07-03Merge pull request #1854 from ↵John Högberg
jhogberg/john/erts/cross-type-carrier-migration/OTP-15063 Allow carrier migration between different allocator types
2018-06-28Allow cross-type carrier migrationJohn Högberg
2018-06-20Use bif for other ets tables countingArtur Cygan
2018-06-18Update copyright yearHenrik Nord
2018-05-04Use \n escape instead of integer 10Richard Carlsson
2018-05-04Move lib:nonl/1 into yecc.erlRichard Carlsson
2018-04-23erts: Rewrite memory instrumentationJohn Högberg
This commit replaces the old memory instrumentation with a new implementation that scans carriers instead of wrapping erts_alloc/erts_free. The old implementation could not extract information without halting the emulator, had considerable runtime overhead, and the memory maps it produced were noisy and lacked critical information. Since the new implementation walks through existing data structures there's no longer a need to start the emulator with special flags to get information about carrier utilization/fragmentation. Memory fragmentation is also easier to diagnose as it's presented on a per-carrier basis which eliminates the need to account for "holes" between mmap segments. To help track allocations, each allocation can now be tagged with what it is and who allocated it at the cost of one extra word per allocation. This is controlled on a per-allocator basis with the +M<S>atags option, and is enabled by default for binary_alloc and driver_alloc (which is also used by NIFs).
2018-03-01Merge branch 'maint'Dan Gudmundsson
* maint: emacs: delimiter first in icr works emacs: Indent delimiter first in term elements correctly emacs: Indent tuple (and maps) elements as list elements Add emacs indention testcase
2018-03-01Merge branch 'dgud/tools/emacs/indent-tests' into maintDan Gudmundsson
* dgud/tools/emacs/indent-tests: emacs: delimiter first in icr works emacs: Indent delimiter first in term elements correctly emacs: Indent tuple (and maps) elements as list elements Add emacs indention testcase OTP-14944
2018-03-01emacs: delimiter first in icr worksDan Gudmundsson
2018-03-01emacs: Indent delimiter first in term elements correctlyDan Gudmundsson
2018-03-01emacs: Indent tuple (and maps) elements as list elementsDan Gudmundsson
Avoid From: { ^^element1, ^^element2 } To: { ^element1, ^element2 }
2018-03-01Add emacs indention testcaseDan Gudmundsson
Split the manual testcase and run them in daily tests instead. Easy to run directly as well: (cd ../test; cerl -eval "emacs_SUITE:indent([])")
2018-02-13Merge branch 'maint'John Högberg
2018-02-13Merge branch 'john/tools/fix-lcnt-server-crash/PR-1711/OTP-14912' into maintJohn Högberg
2018-02-13Don't crash lcnt server if information/0 is called before collect/0Péter Gömöri
2018-02-12Automatically start lcnt server on first useJohn Högberg
lcnt:collect is documented as implicitly starting the lcnt server but didn't do so prior to this commit. I've decided to extend this behavior to all operations as the overhead is negligible and it's a bit more convenient to use.
2017-12-22Merge branch 'maint'Hans Bolinder
* maint: tools: Correct a counting bug in Cover
2017-12-21tools: Correct a counting bug in CoverHans Bolinder
See also PR #1641, https://github.com/erlang/otp/pull/1641. The bug was introduced in commit ab435488a (Erlang/OTP 18).
2017-11-30Fix incorrect assumption about process activityJohn Högberg
The tests assume that the most active process will be the current one, which is no longer true since the delayed_write option now uses a wrapper process for much of its work. The timeout for this test has been increased to account for the lack of delayed_write; 60s was enough for everything except the debug build on some machines.
2017-10-27Correct erlang:is_builtin/3 for apply/2 and yield/0Björn Gustavsson
erlang:is_builtin(erlang, M, F) returns false for apply/2 and yield/0. The documentation for erlang:is_builtin/3 says that it returns true for BIFs that are implemented in C. apply/2 and yield/0 are implemented in C (as BEAM instructions), and therefore the correct return value is true. Also see a similar argument that was made for apply/3 in the past: http://erlang.org/pipermail/erlang-bugs/2015-October/005101.html https://bugs.erlang.org/browse/ERL-500
2017-09-20fprof: Make sure the receiving file can handle UnicodeHans Bolinder
It is assumed that I/O devices can handle character codes greater than 255.
2017-09-14tools: Add handling of the -on_load() attribute to XrefHans Bolinder
2017-09-05xref: Improve handling of UnicodeHans Bolinder
The updates of xref_base:analysis() are cosmetic (the strings are parsed by the Erlang scanner only).
2017-07-06Merge branch 'john/erts/runtime-lcnt' into maintJohn Högberg
* john/erts/runtime-lcnt: Document rt_mask and add warnings about copy_save Add an emulator test suite for lock counting Break erts_debug:lock_counters/1 into separate BIFs Allow toggling lock counting at runtime Move lock flags to a common header Enable register_SUITE for lcnt builds Enable lcnt smoke test on all builds that have lcnt enabled Make lock counter info independent of the locks being counted OTP-14412 OTP-13170 OTP-14413
2017-07-06Enable lcnt smoke test on all builds that have lcnt enabledJohn Högberg
2017-06-29[make] Do not use the interactive tool 'c' from makeSiri Hansen
2017-06-14Update copyright yearHans Nilsson
2017-05-16lcnt_SUITE: Add a smoke test for running lock-countingBjörn Gustavsson
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