aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/test/core_fold_SUITE.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2012-01-11 08:23:36 +0100
committerBjörn Gustavsson <[email protected]>2012-01-11 08:23:36 +0100
commitbb312f5fb5748fef90f57ccb387f1c32a729f086 (patch)
tree18a43561160eba91005cf3f34c6c211ed3bc8c98 /lib/compiler/test/core_fold_SUITE.erl
parent3ee63ae7b498a1d7d232b0dcdcffb7f7f30c9579 (diff)
parent3a6963f4f79adf75adc098a8e7e5ed7ac5fff46b (diff)
downloadotp-bb312f5fb5748fef90f57ccb387f1c32a729f086.tar.gz
otp-bb312f5fb5748fef90f57ccb387f1c32a729f086.tar.bz2
otp-bb312f5fb5748fef90f57ccb387f1c32a729f086.zip
Merge branch 'bjorn/compiler/tests' into maint
* bjorn/compiler/tests: compile_SUITE: Add test of 'sys_pre_attributes' Correct syntax in compiler.cover Cover v3_kernel:get_line/1 core_SUITE: Cover the nomatch_shadow warning in v3_kernel core_SUITE: Cover v3_kernel:build_match/2 bs_match_SUITE: Add a test case to cover bsm_ensure_no_partition_2/5 core_fold_SUITE: Cover sys_core_fold:is_safe_bool_expr_1/3 core_SUITE: Cover sys_core_fold:eval_is_boolean/2 core_SUITE: Cover sys_core_fold:make_effect_seq/2 beam_validator_SUITE:beam_files/1: Validate modules in parallel compilation_SUITE: Compile compiler modules in parallel compilation_SUITE: Prevent cover from being run on slave nodes test_lib:p_run/2: Be careful about how many parallel processes we use Remove part_eval_SUITE
Diffstat (limited to 'lib/compiler/test/core_fold_SUITE.erl')
-rw-r--r--lib/compiler/test/core_fold_SUITE.erl14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/compiler/test/core_fold_SUITE.erl b/lib/compiler/test/core_fold_SUITE.erl
index ac14d36e82..fb5ec88c9f 100644
--- a/lib/compiler/test/core_fold_SUITE.erl
+++ b/lib/compiler/test/core_fold_SUITE.erl
@@ -214,6 +214,7 @@ coverage(Config) when is_list(Config) ->
(catch cover_will_match_list_type({a,b,c,d})),
?line a = cover_remove_non_vars_alias({a,b,c}),
?line error = cover_will_match_lit_list(),
+ {ok,[a]} = cover_is_safe_bool_expr(a),
%% Make sure that we don't attempt to make literals
%% out of pids. (Putting a pid into a #c_literal{}
@@ -249,4 +250,17 @@ cover_will_match_lit_list() ->
error
end.
+cover_is_safe_bool_expr(X) ->
+ %% Use a try...catch that looks like a try...catch in a guard.
+ try
+ %% let V = [X] in {ok,V}
+ %% is_safe_simple([X]) ==> true
+ %% is_safe_bool_expr([X]) ==> false
+ V = [X],
+ {ok,V}
+ catch
+ _:_ ->
+ false
+ end.
+
id(I) -> I.