From 5592baae48cc4b5f75d395d5409a6e0e908f3b73 Mon Sep 17 00:00:00 2001 From: simonpj Date: Sat, 20 Sep 2008 21:04:20 +0000 Subject: [PATCH] Add tests for Trac #2597 --- testsuite/tests/ghc-regress/th/T2597a.hs | 8 ++++++++ testsuite/tests/ghc-regress/th/T2597a_Lib.hs | 12 ++++++++++++ testsuite/tests/ghc-regress/th/T2597b.hs | 9 +++++++++ testsuite/tests/ghc-regress/th/T2597b.stderr | 7 +++++++ testsuite/tests/ghc-regress/th/T2597b_Lib.hs | 9 +++++++++ testsuite/tests/ghc-regress/th/all.T | 10 ++++++++++ 6 files changed, 55 insertions(+) create mode 100644 testsuite/tests/ghc-regress/th/T2597a.hs create mode 100644 testsuite/tests/ghc-regress/th/T2597a_Lib.hs create mode 100644 testsuite/tests/ghc-regress/th/T2597b.hs create mode 100644 testsuite/tests/ghc-regress/th/T2597b.stderr create mode 100644 testsuite/tests/ghc-regress/th/T2597b_Lib.hs diff --git a/testsuite/tests/ghc-regress/th/T2597a.hs b/testsuite/tests/ghc-regress/th/T2597a.hs new file mode 100644 index 0000000000..3d8c319b47 --- /dev/null +++ b/testsuite/tests/ghc-regress/th/T2597a.hs @@ -0,0 +1,8 @@ +{-# LANGUAGE TemplateHaskell #-} + +-- Test Trac #2597 (first bug) + +module ShouldCompile where +import T2597a_Lib + +bug = $mkBug diff --git a/testsuite/tests/ghc-regress/th/T2597a_Lib.hs b/testsuite/tests/ghc-regress/th/T2597a_Lib.hs new file mode 100644 index 0000000000..0e8f794dc6 --- /dev/null +++ b/testsuite/tests/ghc-regress/th/T2597a_Lib.hs @@ -0,0 +1,12 @@ +{-# LANGUAGE TemplateHaskell #-} +-- Library module for T2597a + +module T2597a_Lib where +import Language.Haskell.TH + + +mkBug :: ExpQ +mkBug = return $ CompE [BindS (VarP $ mkName "p") (ListE []), NoBindS + (VarE $ mkName "p")] + + diff --git a/testsuite/tests/ghc-regress/th/T2597b.hs b/testsuite/tests/ghc-regress/th/T2597b.hs new file mode 100644 index 0000000000..2fde008388 --- /dev/null +++ b/testsuite/tests/ghc-regress/th/T2597b.hs @@ -0,0 +1,9 @@ +{-# LANGUAGE TemplateHaskell #-} + +-- Test Trac #2597 (second bug) + +module ShouldCompile where +import T2597b_Lib + +bug2 = $mkBug2 + diff --git a/testsuite/tests/ghc-regress/th/T2597b.stderr b/testsuite/tests/ghc-regress/th/T2597b.stderr new file mode 100644 index 0000000000..f263658c8b --- /dev/null +++ b/testsuite/tests/ghc-regress/th/T2597b.stderr @@ -0,0 +1,7 @@ + +T2597b.hs:8:7: + Empty stmt list in do-block + When splicing generated code into the program + When splicing TH expression: DoE [] + In the expression: $mkBug2 + In the definition of `bug2': bug2 = $mkBug2 diff --git a/testsuite/tests/ghc-regress/th/T2597b_Lib.hs b/testsuite/tests/ghc-regress/th/T2597b_Lib.hs new file mode 100644 index 0000000000..1f70c3923a --- /dev/null +++ b/testsuite/tests/ghc-regress/th/T2597b_Lib.hs @@ -0,0 +1,9 @@ +{-# LANGUAGE TemplateHaskell #-} +-- Library module for T2597b + +module T2597b_Lib where +import Language.Haskell.TH + + +mkBug2 :: ExpQ +mkBug2 = return $ DoE [] diff --git a/testsuite/tests/ghc-regress/th/all.T b/testsuite/tests/ghc-regress/th/all.T index 1c81fa6ee4..80cb13c547 100644 --- a/testsuite/tests/ghc-regress/th/all.T +++ b/testsuite/tests/ghc-regress/th/all.T @@ -66,6 +66,16 @@ test('TH_spliceDecl4', multimod_compile, ['TH_spliceDecl4', '-v0']) +test('T2597a', + extra_clean(['T2597a_Lib.hi', 'T2597a_Lib.o']), + multimod_compile, + ['T2597a', '-v0']) + +test('T2597b', + extra_clean(['T2597b_Lib.hi', 'T2597b_Lib.o']), + multimod_compile_fail, + ['T2597b', '-v0']) + test('TH_spliceE1', normal, compile_and_run, ['']) test('TH_spliceExpr1', normal, compile, ['-v0']) test('TH_spliceE3', normal, compile, ['-v0']) -- GitLab