diff options
Diffstat (limited to 'third_party/bazel/rules_haskell/tests/binary-with-import')
3 files changed, 45 insertions, 0 deletions
diff --git a/third_party/bazel/rules_haskell/tests/binary-with-import/BUILD.bazel b/third_party/bazel/rules_haskell/tests/binary-with-import/BUILD.bazel new file mode 100644 index 000000000000..3b920d37c41a --- /dev/null +++ b/third_party/bazel/rules_haskell/tests/binary-with-import/BUILD.bazel @@ -0,0 +1,26 @@ +load( + "@io_tweag_rules_haskell//haskell:haskell.bzl", + "haskell_library", + "haskell_test", +) + +package(default_testonly = 1) + +haskell_library( + name = "lib", + srcs = ["src/Lib.hs"], + deps = [ + "//tests/hackage:base", + "//tests/hackage:transformers", + ], +) + +haskell_test( + name = "binary-with-import", + srcs = ["Main.hs"], + visibility = ["//visibility:public"], + deps = [ + ":lib", + "//tests/hackage:base", + ], +) diff --git a/third_party/bazel/rules_haskell/tests/binary-with-import/Main.hs b/third_party/bazel/rules_haskell/tests/binary-with-import/Main.hs new file mode 100644 index 000000000000..1bded5e8e55b --- /dev/null +++ b/third_party/bazel/rules_haskell/tests/binary-with-import/Main.hs @@ -0,0 +1,6 @@ +module Main where + +import Lib (printValue) + +main :: IO () +main = printValue diff --git a/third_party/bazel/rules_haskell/tests/binary-with-import/src/Lib.hs b/third_party/bazel/rules_haskell/tests/binary-with-import/src/Lib.hs new file mode 100644 index 000000000000..d384e73e6337 --- /dev/null +++ b/third_party/bazel/rules_haskell/tests/binary-with-import/src/Lib.hs @@ -0,0 +1,13 @@ +module Lib (printValue) where + +import Control.Monad (void) +import Control.Monad.Trans.Class (lift) +import Control.Monad.Trans.Except (ExceptT, runExceptT) + +getValue :: Monad m => ExceptT e m Int +getValue = pure 42 + +printValue :: IO () +printValue = void $ runExceptT $ do + value <- getValue + lift $ print value |