brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 64528f2 Raw
56 lines · plain
1# This file is licensed under the Apache License v2.0 with LLVM Exceptions.2# See https://llvm.org/LICENSE.txt for license information.3# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception4"""Rules for running lit tests."""5 6load("@bazel_skylib//lib:paths.bzl", "paths")7load("@rules_python//python:defs.bzl", _py_test = "py_test")8 9def lit_test(10        name,11        srcs,12        args = None,13        data = None,14        deps = None,15        py_test = _py_test,16        **kwargs):17    """Runs a single test file with LLVM's lit tool.18 19    Args:20      name: string. the name of the generated test target.21      srcs: label list. The files on which to run lit.22      args: string list. Additional arguments to pass to lit.23        Note that `-v` and the 'srcs' paths are added automatically.24      data: label list. Additional data dependencies of the test.25        Note that 'srcs' targets are added automatically.26      deps: label list. List of targets the test depends on.27      py_test: function. The py_test rule to use for the underlying test.28      **kwargs: additional keyword arguments.29 30    See https://llvm.org/docs/CommandGuide/lit.html for details on lit.31    """32 33    args = args or []34    data = data or []35    deps = deps or []36    py_test(37        name = name,38        srcs = [Label("//llvm:lit")],39        main = Label("//llvm:utils/lit/lit.py"),40        args = args + ["-v"] + ["$(execpath %s)" % src for src in srcs],41        data = data + srcs,42        legacy_create_init = False,43        deps = deps + [Label("//llvm:lit")],44        **kwargs45    )46 47def package_path(label):48    """Returns the path to the package of 'label'.49 50    Args:51      label: label. The label to return the package path of.52 53    For example, package_path("@foo//bar:BUILD") returns 'external/foo/bar'.54    """55    return paths.join(Label(label).workspace_root, Label(label).package)56