diff options
author | Hans Bolinder <[email protected]> | 2017-10-31 09:56:43 +0100 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2017-10-31 09:56:43 +0100 |
commit | 3bd23bf319d0b889eb6d019cf7e4d6e2686b530f (patch) | |
tree | 9ed1d8a34079654398de921e2a45d0f9923e0926 | |
parent | 7c2691ef183e987563350b6e25b5eb62770991ea (diff) | |
parent | b59ae230ed37078125cec0bfeece5c736784931c (diff) | |
download | otp-3bd23bf319d0b889eb6d019cf7e4d6e2686b530f.tar.gz otp-3bd23bf319d0b889eb6d019cf7e4d6e2686b530f.tar.bz2 otp-3bd23bf319d0b889eb6d019cf7e4d6e2686b530f.zip |
Merge branch 'maint'
* maint:
stdlib: Fix a minor issue with the qlc suite
-rw-r--r-- | lib/stdlib/test/qlc_SUITE.erl | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/stdlib/test/qlc_SUITE.erl b/lib/stdlib/test/qlc_SUITE.erl index 5e9e03e410..949142ec77 100644 --- a/lib/stdlib/test/qlc_SUITE.erl +++ b/lib/stdlib/test/qlc_SUITE.erl @@ -7871,7 +7871,7 @@ run_test(Config, Extra, {cres, Body, Opts, ExpectedCompileReturn}) -> {module, _} = code:load_abs(AbsFile, Mod), Ms0 = erlang:process_info(self(),messages), - Before = {{get(), lists:sort(ets:all()), Ms0}, pps()}, + Before = {{lget(), lists:sort(ets:all()), Ms0}, pps()}, %% Prepare the check that the qlc module does not call qlc_pt. _ = [unload_pt() || {file, Name} <- [code:is_loaded(qlc_pt)], @@ -7903,7 +7903,7 @@ run_test(Config, Extra, Body) -> wait_for_expected(R, {Strict0,PPS0}=Before, SourceFile, Wait) -> Ms = erlang:process_info(self(),messages), - After = {_,PPS1} = {{get(), lists:sort(ets:all()), Ms}, pps()}, + After = {_,PPS1} = {{lget(), lists:sort(ets:all()), Ms}, pps()}, case {R, After} of {ok, Before} -> ok; @@ -7931,6 +7931,18 @@ wait_for_expected(R, {Strict0,PPS0}=Before, SourceFile, Wait) -> expected({ok,Before}, {R,After}, SourceFile) end. +%% The qlc modules uses the process dictionary for storing names of files. +lget() -> + lists:sort([T || {K, _} = T <- get(), is_qlc_key(K)]). + +%% Copied from the qlc module. +-define(LCACHE_FILE(Ref), {Ref, '$_qlc_cache_tmpfiles_'}). +-define(MERGE_JOIN_FILE, '$_qlc_merge_join_tmpfiles_'). + +is_qlc_key(?LCACHE_FILE(_)) -> true; +is_qlc_key(?MERGE_JOIN_FILE) -> true; +is_qlc_key(_) -> false. + unload_pt() -> erlang:garbage_collect(), % get rid of references to qlc_pt... _ = code:purge(qlc_pt), |