diff options
Diffstat (limited to 'third_party/bazel/rules_haskell/tests/binary-with-lib')
3 files changed, 46 insertions, 0 deletions
diff --git a/third_party/bazel/rules_haskell/tests/binary-with-lib/BUILD.bazel b/third_party/bazel/rules_haskell/tests/binary-with-lib/BUILD.bazel new file mode 100644 index 000000000000..196d551305a9 --- /dev/null +++ b/third_party/bazel/rules_haskell/tests/binary-with-lib/BUILD.bazel @@ -0,0 +1,27 @@ +load( + "@io_tweag_rules_haskell//haskell:haskell.bzl", + "haskell_library", + "haskell_test", +) + +package(default_testonly = 1) + +haskell_library( + name = "lib", + srcs = glob(["src/*.hs"]), + src_strip_prefix = "src", + deps = [ + "//tests/hackage:template-haskell", + ], +) + +haskell_test( + name = "binary-with-lib", + srcs = ["Main.hs"], + visibility = ["//visibility:public"], + deps = [ + ":lib", + "//tests/hackage:base", + "//tests/hackage:template-haskell", + ], +) diff --git a/third_party/bazel/rules_haskell/tests/binary-with-lib/Main.hs b/third_party/bazel/rules_haskell/tests/binary-with-lib/Main.hs new file mode 100644 index 000000000000..19ad3dd58ea0 --- /dev/null +++ b/third_party/bazel/rules_haskell/tests/binary-with-lib/Main.hs @@ -0,0 +1,11 @@ +{-# LANGUAGE TemplateHaskell #-} +module Main where + +import Control.Monad (unless) +import Lib (value) +import Language.Haskell.TH + +val = $(value) + +main = unless (val == 42) + $ error $ "Incorrect lib value. Got " <> show val diff --git a/third_party/bazel/rules_haskell/tests/binary-with-lib/src/Lib.hs b/third_party/bazel/rules_haskell/tests/binary-with-lib/src/Lib.hs new file mode 100644 index 000000000000..e78d2ef77f1b --- /dev/null +++ b/third_party/bazel/rules_haskell/tests/binary-with-lib/src/Lib.hs @@ -0,0 +1,8 @@ +{-# LANGUAGE NoImplicitPrelude #-} +{-# LANGUAGE TemplateHaskell #-} + +module Lib (value) where + +import Language.Haskell.TH + +value = [|42|] |