aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/test/ets_SUITE.erl
AgeCommit message (Collapse)Author
2018-02-12Merge 'sverker/maint-19/alloc-n-migration/ERIERL-88'Sverker Eriksson
into 'sverker/maint-20/alloc-n-migration/ERIERL-88' OTP-14915 OTP-14916 OTP-14917 OTP-14918
2017-12-20stdlib: Make ets_SUITE memory check try againSverker Eriksson
as memory stats do not guarantee consistency. A typical ETS test case ends by a lot of deallocating that may now trigger homecoming carrier migration, that in turn can cause quite large inconsistencies in memory stats when same carrier is accounted for twice or not at all. And that's my theory why I now sometimes see transient discrepancies between before and after memory stats.
2017-05-10Merge branch 'sverker/ets-select-replace-const'Sverker Eriksson
* sverker/ets-select-replace-const: stdlib: Add examples for ets:select_replace docs erts: Fix ets:select_replace with {const, NewTuple}
2017-05-10erts: Fix ets:select_replace with {const, NewTuple}Sverker Eriksson
Enable ets:select_replace to do a generic single object compare-and-swap operation of any ets-tuple using a matchspec like this: [{Old, [], [{const, New}]}] The only exception when this does not work is if the key contains maps or atoms looking like variables (like '$1').
2017-05-04Update copyright yearRaimo Niskanen
2017-04-04stdlib: Limit ets_SUITE:smp_select_replaceSverker Eriksson
to run 3*3 seconds to avoid timeout on slow machines.
2017-04-03stdlib: Skip ets_SUITE:otp_9423 for single sched smpSverker Eriksson
2017-04-03stdlib: Rename ets_SUITE:run_workersSverker Eriksson
run_workers/* -> run_smp_workers/* run_workers_do/4 -> run_sched_workers/4
2017-03-24Fix double hit bug of select/3 with bound keySverker Eriksson
2017-03-22Add more complete key-safety checkSverker Eriksson
2017-03-22Reject unsafe matchspecs on ets:select_replace/2Guilherme Andrade
Preemptively fail operation with badarg if the replacement object might have a different key.
2017-03-22Disable ets:select_replace/2 for bagsGuilherme Andrade
The existing implementation presented both semantic inconsistencies and performance issues.
2017-03-22Add unit tests for ets:select_replace/2Guilherme Andrade
2017-03-22stdlib: Remove ets_SUITE:memory_check_summarySverker Eriksson
and let each test case fail, like it was before. Seems growing/shrinking meta tables was causing the sporadic failed memory checks.
2017-03-22erts: Replace meta_pid_to{_fixed}_tab with linked listsSverker Eriksson
from process psd through all owned/fixed tables. As meta_pid_to{_fixed}_tab maps to slot in meta_main_tab which is planned for destruction. In this commit we no longer seize table lock while freeing the table (free_table_cont) as it's not needed and makes the code a bit simpler. Any concurrent operation on the table will only access lock, owner and status and then bail out.
2017-03-02Implement ets:all() using scheduler specific dataRickard Green
2017-02-10ets_SUITE: Eliminate internal exports used for spawn/applyBjörn Gustavsson
In the future we will run xref to make sure that all functions that are exported are also used. Having internal exports only used for spawning or applying will mess with that.
2016-11-07Merge branch 'maint'Björn-Egil Dahlberg
2016-11-04stdlib: Increase timeouts in ets_SUITEBjörn-Egil Dahlberg
* valgrind needs lots of time
2016-09-29Merge branch 'rickard/time-unit/OTP-13831'Rickard Green
* rickard/time-unit/OTP-13831: Replace usage of deprecated time units
2016-09-19stdlib: Cuddle ets_SUITE for valgrindSverker Eriksson
2016-09-19stdlib: Fix ets_SUITE:smp_select_deleteSverker Eriksson
no point in checking table load as select_delete does not shrink.
2016-09-19erts: Fix ets_SUITE:memorySverker Eriksson
by simply asking for the size of struct ext_segtab
2016-09-19erts: Suppress failed ETS memory checksSverker Eriksson
due to the grow/shrink hysteresis of the meta tables
2016-09-19erts: Reduce ets hash load factorSverker Eriksson
for faster lookup/insert/delete at the expense of about one word per object.
2016-08-25Replace usage of deprecated time unitsRickard Green
2016-07-11erts: Add test ets_SUITE:update_counter_table_growthSverker Eriksson
2016-06-08Revert "erts: Change ETS hash load factor"Sverker Eriksson
This reverts commit 7c133fb1094ad1cabbb5cfc157483a43c816c6a9.
2016-06-08Revert "Temporally disable of failing ets_SUITE:memory_check_summary"Sverker Eriksson
This reverts commit f1987d5299ce67b0eb4c4a83d8ee9bcf7426c307.
2016-06-01Temporally disable of failing ets_SUITE:memory_check_summarySverker Eriksson
Seems to be the growing meta tables that is causing increasing failed memchecks after load factor was lowered.
2016-06-01erts: Change ETS hash load factorSverker Eriksson
from 700% to 200%
2016-05-27stdlib: Fix small inconsistencies in ets_SUITEBjörn-Egil Dahlberg
2016-05-27stdlib: Strengthen or relax test casesBjörn-Egil Dahlberg
In particular, valgrind needs a lot of time for certain tests.
2016-04-13Merge branch 'henrik/update-copyrightyear'Henrik Nord
* henrik/update-copyrightyear: update copyright-year
2016-03-15stdlib: Cuddle with ets_SUITE:evil_renameSverker Eriksson
to make it kill and then wait for all spawned processes to exit.
2016-03-15update copyright-yearHenrik Nord
2016-03-09Eliminate use of ?config() macroBjörn Gustavsson
2016-03-09Remove ?line macrosBjörn Gustavsson
While we are it, also re-ident the files.
2016-03-09Replace "%" with "%%" at the beginning of a lineBjörn Gustavsson
We want to re-ident the source files after having taken out all ?line macros. When re-indenting using Emacs, it's important that comments that should be at the beginning of a line (or follow the indentation of statements around it) must start with "%%".
2016-03-09Eliminate 'suite' and 'doc' clausesBjörn Gustavsson
2016-03-09Eliminate use of test_server:do_times()Björn Gustavsson
2016-03-09Replace use of test_server:format/2 with io:format/2Björn Gustavsson
There is no practial difference.
2016-03-09Eliminate use of test_server:fail/0,1Björn Gustavsson
2016-03-09Modernize use of timetrapsBjörn Gustavsson
Either rely on the default 30 minutes timetrap, or set the timeout using the supported methods in common_test.
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-02Merge branch 'maint'Rickard Green
* maint: Introduce time management in native APIs Introduce time warp safe replacement for safe_fixed option Introduce time warp safe trace timestamp formats Conflicts: erts/emulator/beam/erl_bif_trace.c erts/emulator/beam/erl_driver.h erts/emulator/beam/erl_nif.h erts/emulator/beam/erl_trace.c erts/preloaded/ebin/erlang.beam
2016-01-20Introduce time warp safe replacement for safe_fixed optionRickard Green
The new time warp safe option is safe_fixed_monotonic_time which gives erlang:monotonic_time(). The safe_fixed option was also slightly changed. It now gives erlang:timestamp() instead of erlang:now(). This has however not been documented, so it is considered a compatible change. The above effects both ets, and dets. This commit also include the bugfix OTP-13239 for dets:info(Tab, safe_fixed). The timestamp in the result returned by dets:info(Tab, safe_fixed) was unintentionally broken as a result of the time API rewrites in OTP 18.0.
2015-12-11stdlib tests: Replace 'random' with 'rand'Björn Gustavsson
2015-06-24erts: Remove halfword specific testsBjörn-Egil Dahlberg
2015-06-18Change license text to APLv2Bruce Yinhe