diff options
author | Björn Gustavsson <[email protected]> | 2012-01-11 08:23:36 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2012-01-11 08:23:36 +0100 |
commit | bb312f5fb5748fef90f57ccb387f1c32a729f086 (patch) | |
tree | 18a43561160eba91005cf3f34c6c211ed3bc8c98 /lib/compiler/test/core_fold_SUITE.erl | |
parent | 3ee63ae7b498a1d7d232b0dcdcffb7f7f30c9579 (diff) | |
parent | 3a6963f4f79adf75adc098a8e7e5ed7ac5fff46b (diff) | |
download | otp-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.erl | 14 |
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. |