diff options
author | Anthony Ramine <[email protected]> | 2015-03-25 13:59:26 +0100 |
---|---|---|
committer | Anthony Ramine <[email protected]> | 2015-03-26 12:13:30 +0100 |
commit | d8fa79149a1339b2359ecc981f992bd53e5a9d18 (patch) | |
tree | 51f62da658ea6699454f6577c53521e3ebf8c68b /lib/compiler/test | |
parent | 07abc92d5c763cee81bf69695e35a658ddc961dc (diff) | |
download | otp-d8fa79149a1339b2359ecc981f992bd53e5a9d18.tar.gz otp-d8fa79149a1339b2359ecc981f992bd53e5a9d18.tar.bz2 otp-d8fa79149a1339b2359ecc981f992bd53e5a9d18.zip |
Properly report unknown parse transforms
We don't want undef errors coming from the parse transform itself to be confused
with undef errors caused by the absence of the parse transform.
Reported-by: Klas Johansson
Diffstat (limited to 'lib/compiler/test')
-rw-r--r-- | lib/compiler/test/error_SUITE.erl | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/compiler/test/error_SUITE.erl b/lib/compiler/test/error_SUITE.erl index bd877bb528..8e79b88821 100644 --- a/lib/compiler/test/error_SUITE.erl +++ b/lib/compiler/test/error_SUITE.erl @@ -235,10 +235,18 @@ transforms(Config) -> ">>, {error,[{none,compile,{parse_transform,?MODULE,{too_bad,_}}}],[]} = run_test(Ts2, test_filename(Config), [], dont_write_beam), + Ts3 = <<" + -compile({parse_transform,",?MODULE_STRING,"}). + ">>, + {error,[{none,compile,{parse_transform,?MODULE,{undef,_}}}],[]} = + run_test(Ts3, test_filename(Config), [call_undef], dont_write_beam), ok. -parse_transform(_, _) -> - error(too_bad). +parse_transform(_, Opts) -> + case lists:member(call_undef, Opts) of + false -> error(too_bad); + true -> camembert:délicieux() + end. forbidden_maps(Config) when is_list(Config) -> |