diff --git a/haskell/haskell.bzl b/haskell/haskell.bzl index a38360e028..91d978c014 100644 --- a/haskell/haskell.bzl +++ b/haskell/haskell.bzl @@ -60,6 +60,7 @@ _haskell_common_attrs = { ), "data": attr.label_list( doc = "See [Bazel documentation](https://docs.bazel.build/versions/master/be/common-definitions.html#common.data).", + allow_files = True, cfg = "data", ), "compiler_flags": attr.string_list( diff --git a/tests/binary-with-data/BUILD b/tests/binary-with-data/BUILD index 19a9b63e0f..eba17cdc95 100644 --- a/tests/binary-with-data/BUILD +++ b/tests/binary-with-data/BUILD @@ -10,6 +10,8 @@ haskell_binary( main_file = "bin1.hs", prebuilt_dependencies = ["base"], visibility = ["//visibility:public"], + # Regular file input: + data = ["bin1-input"], ) haskell_binary( diff --git a/tests/binary-with-data/bin1-input b/tests/binary-with-data/bin1-input new file mode 100644 index 0000000000..12f00e90b6 --- /dev/null +++ b/tests/binary-with-data/bin1-input @@ -0,0 +1 @@ +contents diff --git a/tests/binary-with-data/bin1.hs b/tests/binary-with-data/bin1.hs index de106fe48f..309f6ecd56 100644 --- a/tests/binary-with-data/bin1.hs +++ b/tests/binary-with-data/bin1.hs @@ -1,3 +1,9 @@ module Main where -main = return () +import Control.Monad (unless) + +main :: IO () +main = do + contents <- readFile "tests/binary-with-data/bin1-input" + unless (contents == "contents\n") + $ error $ "Incorrect input; got " ++ show contents diff --git a/tests/binary-with-data/bin3.cc b/tests/binary-with-data/bin3.cc new file mode 100644 index 0000000000..4cce7f667f --- /dev/null +++ b/tests/binary-with-data/bin3.cc @@ -0,0 +1,3 @@ +int main() { + return 0; +}