mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 20:42:01 +01:00
Use lit_test for driver (#1037)
This commit is contained in:
+10
-9
@@ -3,6 +3,7 @@
|
||||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
|
||||
load("//bazel/fuzzing:rules.bzl", "cc_fuzz_test")
|
||||
load("//bazel/testing:lit_test.bzl", "lit_test")
|
||||
|
||||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
@@ -53,12 +54,12 @@ cc_binary(
|
||||
],
|
||||
)
|
||||
|
||||
# FIXME: No support for LLVM's lit-style command line & FileCheck tests.
|
||||
#
|
||||
#lit_test(
|
||||
# name = "carbon_test.carbon",
|
||||
# data = [
|
||||
# ":carbon",
|
||||
# "@llvm-project//llvm:FileCheck",
|
||||
# ],
|
||||
#)
|
||||
lit_test(
|
||||
name = "carbon_lit_test",
|
||||
data = [
|
||||
":carbon",
|
||||
"@llvm-project//llvm:FileCheck",
|
||||
"@llvm-project//llvm:not",
|
||||
],
|
||||
test_dir = "testdata",
|
||||
)
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
// Part of the Carbon Language project, under the Apache License v2.0 with LLVM
|
||||
// Exceptions. See /LICENSE for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
// FIXME: We need to figure out how to integrate this style of integration
|
||||
// testing with Bazel.
|
||||
//
|
||||
// RUN: driver/carbon dump-tokens %s | FileCheck %s --check-prefix=TOKENS
|
||||
|
||||
fn run(String program) {
|
||||
return True;
|
||||
}
|
||||
|
||||
// TOKENS: token: { index: 0, kind: 'FnKeyword', line: 4, column: 1, indent: 1, spelling: 'fn' }
|
||||
// TOKENS: token: { index: 1, kind: 'Identifier', line: 4, column: 4, indent: 1, spelling: 'run', identifier: 0 }
|
||||
// TOKENS: token: { index: 2, kind: 'OpenParen', line: 4, column: 7, indent: 1, spelling: '(', closing_token: 5 }
|
||||
// TOKENS: token: { index: 3, kind: 'Identifier', line: 4, column: 8, indent: 1, spelling: 'String', identifier: 1 }
|
||||
// TOKENS: token: { index: 4, kind: 'Identifier', line: 4, column: 15, indent: 1, spelling: 'program', identifier: 2 }
|
||||
// TOKENS: token: { index: 5, kind: 'CloseParen', line: 4, column: 22, indent: 1, spelling: ')', opening_token: 2 }
|
||||
// TOKENS: token: { index: 6, kind: 'OpenCurlyBrace', line: 4, column: 24, indent: 1, spelling: '{', closing_token: 10 }
|
||||
// TOKENS: token: { index: 7, kind: 'ReturnKeyword', line: 5, column: 3, indent: 3, spelling: 'return' }
|
||||
// TOKENS: token: { index: 8, kind: 'Identifier', line: 5, column: 10, indent: 3, spelling: 'True', identifier: 3 }
|
||||
// TOKENS: token: { index: 9, kind: 'Semi', line: 5, column: 14, indent: 3, spelling: ';' }
|
||||
// TOKENS: token: { index: 10, kind: 'CloseCurlyBrace', line: 6, column: 1, indent: 1, spelling: '}', opening_token: 6 }
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
// Part of the Carbon Language project, under the Apache License v2.0 with LLVM
|
||||
// Exceptions. See /LICENSE for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
// FIXME: We need to figure out how to integrate this style of integration
|
||||
// testing with Bazel.
|
||||
//
|
||||
// RUN: %{carbon} dump-tokens %s 2>&1 | \
|
||||
// RUN: %{FileCheck} --match-full-lines --allow-unused-prefixes=false \
|
||||
// RUN: --check-prefix=TOKENS %s
|
||||
|
||||
fn run(String program) {
|
||||
return True;
|
||||
}
|
||||
|
||||
// TOKENS: token: { index: 0, kind: 'FnKeyword', line: 12, column: 1, indent: 1, spelling: 'fn', has_trailing_space: true }
|
||||
// TOKENS: token: { index: 1, kind: 'Identifier', line: 12, column: 4, indent: 1, spelling: 'run', identifier: 0 }
|
||||
// TOKENS: token: { index: 2, kind: 'OpenParen', line: 12, column: 7, indent: 1, spelling: '(', closing_token: 5 }
|
||||
// TOKENS: token: { index: 3, kind: 'Identifier', line: 12, column: 8, indent: 1, spelling: 'String', identifier: 1, has_trailing_space: true }
|
||||
// TOKENS: token: { index: 4, kind: 'Identifier', line: 12, column: 15, indent: 1, spelling: 'program', identifier: 2 }
|
||||
// TOKENS: token: { index: 5, kind: 'CloseParen', line: 12, column: 22, indent: 1, spelling: ')', opening_token: 2, has_trailing_space: true }
|
||||
// TOKENS: token: { index: 6, kind: 'OpenCurlyBrace', line: 12, column: 24, indent: 1, spelling: '{', closing_token: 10, has_trailing_space: true }
|
||||
// TOKENS: token: { index: 7, kind: 'ReturnKeyword', line: 13, column: 3, indent: 3, spelling: 'return', has_trailing_space: true }
|
||||
// TOKENS: token: { index: 8, kind: 'Identifier', line: 13, column: 10, indent: 3, spelling: 'True', identifier: 3 }
|
||||
// TOKENS: token: { index: 9, kind: 'Semi', line: 13, column: 14, indent: 3, spelling: ';', has_trailing_space: true }
|
||||
// TOKENS: token: { index: 10, kind: 'CloseCurlyBrace', line: 14, column: 1, indent: 1, spelling: '}', opening_token: 6, has_trailing_space: true }
|
||||
// TOKENS: token: { index: 11, kind: 'EndOfFile', line: 27, column: 105, indent: 1, spelling: '' }
|
||||
Vendored
+32
@@ -0,0 +1,32 @@
|
||||
__copyright__ = """
|
||||
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
|
||||
Exceptions. See /LICENSE for license information.
|
||||
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
"""
|
||||
|
||||
import lit.formats
|
||||
import os
|
||||
|
||||
|
||||
# This is a provided variable, ignore the undefined name warning.
|
||||
config = config # noqa: F821
|
||||
|
||||
|
||||
def fullpath(relative_path):
|
||||
return os.path.join(os.environ["TEST_SRCDIR"], relative_path)
|
||||
|
||||
|
||||
config.name = "lit"
|
||||
config.suffixes = [".carbon"]
|
||||
config.test_format = lit.formats.ShTest()
|
||||
|
||||
config.substitutions.append(
|
||||
(
|
||||
"%{carbon}",
|
||||
fullpath("carbon/toolchain/driver/carbon"),
|
||||
)
|
||||
)
|
||||
config.substitutions.append(("%{not}", fullpath("llvm-project/llvm/not")))
|
||||
config.substitutions.append(
|
||||
("%{FileCheck}", fullpath("llvm-project/llvm/FileCheck"))
|
||||
)
|
||||
Reference in New Issue
Block a user