load( "@io_tweag_rules_haskell//haskell:haskell.bzl", "haskell_doctest", "haskell_library", "haskell_test", ) package(default_testonly = 1) haskell_library( name = "lib-a", srcs = ["Foo.hs"], tags = ["requires_zlib"], deps = [ "//tests/data:ourclibrary", "//tests/hackage:base", "@zlib.dev//:zlib", ], ) haskell_library( name = "lib-b", srcs = [ "Bar.hs", "Baz.hs", "Quux.hsc", ], tags = ["requires_zlib"], deps = [ ":lib-a", "//tests/hackage:base", ], ) haskell_doctest( name = "doctest-lib-all-fail", tags = ["manual"], # must FAIL visibility = ["//visibility:public"], deps = [":lib-b"], ) haskell_doctest( name = "doctest-lib-all-success", doctest_flags = ["-DMAGIC_DOCTEST_THING"], tags = ["requires_doctest"], visibility = ["//visibility:public"], deps = [":lib-b"], ) haskell_doctest( name = "doctest-lib", modules = ["Bar"], # exclude Baz and succeed tags = ["requires_doctest"], visibility = ["//visibility:public"], deps = [":lib-b"], ) haskell_test( name = "bin", srcs = ["Main.hs"], tags = ["requires_zlib"], deps = [ ":lib-a", "//tests/hackage:base", ], ) haskell_doctest( name = "doctest-bin", tags = ["requires_doctest"], visibility = ["//visibility:public"], deps = [":bin"], )