github.com/sercand/please@v13.4.0+incompatible/test/parse_test/BUILD (about)

     1  # Simulates a code generating rule to test the require / provide mechanism.
     2  genrule(
     3      name = "test_require_py",
     4      outs = ["test_require.py"],
     5      cmd = "touch $OUT",
     6      test_only = True,
     7  )
     8  
     9  genrule(
    10      name = "test_require_go",
    11      outs = ["test_require.go"],
    12      cmd = "touch $OUT",
    13      test_only = True,
    14  )
    15  
    16  filegroup(
    17      name = "test_require",
    18      srcs = [
    19          ":test_require_go",
    20          ":test_require_py",
    21      ],
    22      provides = {
    23          "py": ":test_require_py",
    24          "go": ":test_require_go",
    25      },
    26      test_only = True,
    27      deps = [
    28          ":test_require_go",
    29          ":test_require_py",
    30      ],
    31  )
    32  
    33  python_test(
    34      name = "require_provide_test",
    35      srcs = ["require_provide_test.py"],
    36      deps = [
    37          ":test_require",
    38      ],
    39  )
    40  
    41  # Test for adding additional outputs to a target.
    42  genrule(
    43      name = "_gen_output_name",
    44      cmd = "echo test_additional_output.txt",
    45      post_build = lambda _, output: add_out(
    46          "_gen_output",
    47          "".join(output).strip(),
    48      ),
    49  )
    50  
    51  genrule(
    52      name = "_gen_output",
    53      cmd = "echo -n \"kittens\" > $OUT",
    54      deps = [
    55          ":_gen_output_name",
    56      ],
    57  )
    58  
    59  go_test(
    60      name = "additional_output_test",
    61      srcs = ["additional_output_test.go"],
    62      data = [":_gen_output"],
    63  )
    64  
    65  # Test for a target with a missing tool; we should still be able to parse the package.
    66  genrule(
    67      name = "missing_tool",
    68      cmd = "$TOOL --version",
    69      labels = ["manual"],
    70      tools = ["python4.7"],
    71  )