aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/test
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2014-02-19 17:48:04 +0100
committerSverker Eriksson <[email protected]>2014-02-19 17:48:13 +0100
commitd7889a517476a212831f87596dd7b232eed752f8 (patch)
tree00a4392f5e3d40ceaf32276f593b7533e298af31 /lib/stdlib/test
parent5cdba8e38d1e2043959a20739e435cc56453240b (diff)
parentf8693cf61f0555fb0108956f2d21d2234e01251d (diff)
downloadotp-d7889a517476a212831f87596dd7b232eed752f8.tar.gz
otp-d7889a517476a212831f87596dd7b232eed752f8.tar.bz2
otp-d7889a517476a212831f87596dd7b232eed752f8.zip
Merge branch 'sverk/ets-all-race'
OTP-11726 * sverk/ets-all-race: erts: Fix faulty asserts in erts_sys_aligned_alloc/free erts: Fix harmless (?) typo in beam_load.c erts: Fix race bug in ets:all/0
Diffstat (limited to 'lib/stdlib/test')
-rw-r--r--lib/stdlib/test/ets_SUITE.erl18
1 files changed, 16 insertions, 2 deletions
diff --git a/lib/stdlib/test/ets_SUITE.erl b/lib/stdlib/test/ets_SUITE.erl
index 82c3e7ecaf..8dc8b2c291 100644
--- a/lib/stdlib/test/ets_SUITE.erl
+++ b/lib/stdlib/test/ets_SUITE.erl
@@ -1,7 +1,7 @@
%%
%% %CopyrightBegin%
%%
-%% Copyright Ericsson AB 1996-2013. All Rights Reserved.
+%% Copyright Ericsson AB 1996-2014. All Rights Reserved.
%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
@@ -75,6 +75,7 @@
-export([otp_9932/1]).
-export([otp_9423/1]).
-export([otp_10182/1]).
+-export([ets_all/1]).
-export([memory_check_summary/1]).
-export([init_per_testcase/2, end_per_testcase/2]).
@@ -151,6 +152,7 @@ all() ->
otp_10182,
otp_9932,
otp_9423,
+ ets_all,
memory_check_summary]. % MUST BE LAST
@@ -5565,7 +5567,19 @@ otp_10182(Config) when is_list(Config) ->
ets:delete(Db),
In = Out.
-
+%% Test that ets:all include/exclude tables that we know are created/deleted
+ets_all(Config) when is_list(Config) ->
+ Pids = [spawn_link(fun() -> ets_all_run() end) || _ <- [1,2]],
+ receive after 3*1000 -> ok end,
+ [begin unlink(P), exit(P,kill) end || P <- Pids],
+ ok.
+
+ets_all_run() ->
+ Table = ets:new(undefined, []),
+ true = lists:member(Table, ets:all()),
+ ets:delete(Table),
+ false = lists:member(Table, ets:all()),
+ ets_all_run().
%