aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/test/core_SUITE_data/make_effect_seq.core
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2012-01-04 15:24:34 +0100
committerBjörn Gustavsson <[email protected]>2012-01-04 16:14:18 +0100
commit98cb1565707047d768e439a4c8f112988ef36030 (patch)
treea2e25e0d1ba3540789bb9c13f8d4800257442745 /lib/compiler/test/core_SUITE_data/make_effect_seq.core
parentc6df5e1536bb4d792c92e9338aaa6e468275c9b8 (diff)
downloadotp-98cb1565707047d768e439a4c8f112988ef36030.tar.gz
otp-98cb1565707047d768e439a4c8f112988ef36030.tar.bz2
otp-98cb1565707047d768e439a4c8f112988ef36030.zip
core_SUITE: Cover sys_core_fold:make_effect_seq/2
We need to write a test case in Core Erlang in order to cover make_effect_seq/2, since v3_core does not generate "deep" Core Erlang code.
Diffstat (limited to 'lib/compiler/test/core_SUITE_data/make_effect_seq.core')
-rw-r--r--lib/compiler/test/core_SUITE_data/make_effect_seq.core51
1 files changed, 51 insertions, 0 deletions
diff --git a/lib/compiler/test/core_SUITE_data/make_effect_seq.core b/lib/compiler/test/core_SUITE_data/make_effect_seq.core
new file mode 100644
index 0000000000..9941e63b76
--- /dev/null
+++ b/lib/compiler/test/core_SUITE_data/make_effect_seq.core
@@ -0,0 +1,51 @@
+module 'make_effect_seq' ['make_effect_seq'/0]
+ attributes []
+'make_effect_seq'/0 =
+ fun () ->
+ case <> of
+ <> when 'true' ->
+ let <_cor0> =
+ catch
+ apply 't'/1
+ ('a')
+ in
+ case _cor0 of
+ <{'EXIT',{'badarg',_cor3}}> when 'true' ->
+ let <_cor4> =
+ apply 't'/1
+ ({'a','b','c'})
+ in
+ case _cor4 of
+ <'ok'> when 'true' ->
+ ( _cor4
+ -| ['compiler_generated'] )
+ ( <_cor2> when 'true' ->
+ primop 'match_fail'
+ ({'badmatch',_cor2})
+ -| ['compiler_generated'] )
+ end
+ ( <_cor1> when 'true' ->
+ primop 'match_fail'
+ ({'badmatch',_cor1})
+ -| ['compiler_generated'] )
+ end
+ ( <> when 'true' ->
+ ( primop 'match_fail'
+ ({'function_clause'})
+ -| [{'function_name',{'make_effect_seq',0}}] )
+ -| ['compiler_generated'] )
+ end
+'t'/1 =
+ fun (_cor0) ->
+ case _cor0 of
+ <T> when 'true' ->
+ do
+ {'ok',call 'erlang':'element'(2, T)}
+ 'ok'
+ ( <_cor2> when 'true' ->
+ ( primop 'match_fail'
+ ({'function_clause',_cor2})
+ -| [{'function_name',{'t',1}}] )
+ -| ['compiler_generated'] )
+ end
+end