mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
Augment the file_test framework to allow per-file fail checks. (#3747)
This handles toolchain failures per-file. The intent is to allow placing both "success" and "fail" tests in the same file, using splits. However, this PR only adds support and updates existing tests to continue passing.
This commit is contained in:
+23
-23
@@ -4,66 +4,66 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
|
||||
// --- type.carbon
|
||||
// --- fail_type.carbon
|
||||
|
||||
// CHECK:STDERR: type.carbon:[[@LINE+3]]:12: ERROR: Expected `;` in array type.
|
||||
// CHECK:STDERR: fail_type.carbon:[[@LINE+3]]:12: ERROR: Expected `;` in array type.
|
||||
// CHECK:STDERR: var x: [i32];
|
||||
// CHECK:STDERR: ^
|
||||
var x: [i32];
|
||||
|
||||
// --- invalid_char.carbon
|
||||
// --- fail_invalid_char.carbon
|
||||
|
||||
// CHECK:STDERR: invalid_char.carbon:[[@LINE+12]]:12: ERROR: Expected expression.
|
||||
// CHECK:STDERR: fail_invalid_char.carbon:[[@LINE+12]]:12: ERROR: Expected expression.
|
||||
// CHECK:STDERR: fn X() -> [:];
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR: invalid_char.carbon:[[@LINE+9]]:12: ERROR: Expected `;` in array type.
|
||||
// CHECK:STDERR: fail_invalid_char.carbon:[[@LINE+9]]:12: ERROR: Expected `;` in array type.
|
||||
// CHECK:STDERR: fn X() -> [:];
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR: invalid_char.carbon:[[@LINE+6]]:12: ERROR: Expected expression.
|
||||
// CHECK:STDERR: fail_invalid_char.carbon:[[@LINE+6]]:12: ERROR: Expected expression.
|
||||
// CHECK:STDERR: fn X() -> [:];
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR: invalid_char.carbon:[[@LINE+3]]:12: ERROR: Unexpected tokens before `]`.
|
||||
// CHECK:STDERR: fail_invalid_char.carbon:[[@LINE+3]]:12: ERROR: Unexpected tokens before `]`.
|
||||
// CHECK:STDERR: fn X() -> [:];
|
||||
// CHECK:STDERR: ^
|
||||
fn X() -> [:];
|
||||
|
||||
// --- unlexed_expr.carbon
|
||||
// --- fail_unlexed_expr.carbon
|
||||
|
||||
// CHECK:STDERR: unlexed_expr.carbon:[[@LINE+15]]:9: ERROR: Encountered unrecognized characters while parsing.
|
||||
// CHECK:STDERR: fail_unlexed_expr.carbon:[[@LINE+15]]:9: ERROR: Encountered unrecognized characters while parsing.
|
||||
// CHECK:STDERR: var y: [`];
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR: unlexed_expr.carbon:[[@LINE+12]]:9: ERROR: Expected expression.
|
||||
// CHECK:STDERR: fail_unlexed_expr.carbon:[[@LINE+12]]:9: ERROR: Expected expression.
|
||||
// CHECK:STDERR: var y: [`];
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR: unlexed_expr.carbon:[[@LINE+9]]:9: ERROR: Expected `;` in array type.
|
||||
// CHECK:STDERR: fail_unlexed_expr.carbon:[[@LINE+9]]:9: ERROR: Expected `;` in array type.
|
||||
// CHECK:STDERR: var y: [`];
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR: unlexed_expr.carbon:[[@LINE+6]]:9: ERROR: Expected expression.
|
||||
// CHECK:STDERR: fail_unlexed_expr.carbon:[[@LINE+6]]:9: ERROR: Expected expression.
|
||||
// CHECK:STDERR: var y: [`];
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR: unlexed_expr.carbon:[[@LINE+3]]:9: ERROR: Unexpected tokens before `]`.
|
||||
// CHECK:STDERR: fail_unlexed_expr.carbon:[[@LINE+3]]:9: ERROR: Unexpected tokens before `]`.
|
||||
// CHECK:STDERR: var y: [`];
|
||||
// CHECK:STDERR: ^
|
||||
var y: [`];
|
||||
|
||||
// --- no_close_bracket.carbon
|
||||
// --- fail_no_close_bracket.carbon
|
||||
|
||||
// CHECK:STDERR: no_close_bracket.carbon:[[@LINE+6]]:8: ERROR: Opening symbol without a corresponding closing symbol.
|
||||
// CHECK:STDERR: fail_no_close_bracket.carbon:[[@LINE+6]]:8: ERROR: Opening symbol without a corresponding closing symbol.
|
||||
// CHECK:STDERR: var x: [i32;;
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR: no_close_bracket.carbon:[[@LINE+3]]:8: ERROR: Expected expression.
|
||||
// CHECK:STDERR: fail_no_close_bracket.carbon:[[@LINE+3]]:8: ERROR: Expected expression.
|
||||
// CHECK:STDERR: var x: [i32;;
|
||||
// CHECK:STDERR: ^
|
||||
var x: [i32;;
|
||||
|
||||
// --- no_semi.carbon
|
||||
// --- fail_no_semi.carbon
|
||||
|
||||
// CHECK:STDERR: no_semi.carbon:[[@LINE+3]]:12: ERROR: Expected `;` in array type.
|
||||
// CHECK:STDERR: fail_no_semi.carbon:[[@LINE+3]]:12: ERROR: Expected `;` in array type.
|
||||
// CHECK:STDERR: var x: [i32];
|
||||
// CHECK:STDERR: ^
|
||||
var x: [i32];
|
||||
|
||||
// CHECK:STDOUT: - filename: type.carbon
|
||||
// CHECK:STDOUT: - filename: fail_type.carbon
|
||||
// CHECK:STDOUT: parse_tree: [
|
||||
// CHECK:STDOUT: {kind: 'FileStart', text: ''},
|
||||
// CHECK:STDOUT: {kind: 'VariableIntroducer', text: 'var'},
|
||||
@@ -76,7 +76,7 @@ var x: [i32];
|
||||
// CHECK:STDOUT: {kind: 'VariableDecl', text: ';', subtree_size: 8},
|
||||
// CHECK:STDOUT: {kind: 'FileEnd', text: ''},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: - filename: invalid_char.carbon
|
||||
// CHECK:STDOUT: - filename: fail_invalid_char.carbon
|
||||
// CHECK:STDOUT: parse_tree: [
|
||||
// CHECK:STDOUT: {kind: 'FileStart', text: ''},
|
||||
// CHECK:STDOUT: {kind: 'FunctionIntroducer', text: 'fn'},
|
||||
@@ -92,7 +92,7 @@ var x: [i32];
|
||||
// CHECK:STDOUT: {kind: 'FunctionDecl', text: ';', subtree_size: 11},
|
||||
// CHECK:STDOUT: {kind: 'FileEnd', text: ''},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: - filename: unlexed_expr.carbon
|
||||
// CHECK:STDOUT: - filename: fail_unlexed_expr.carbon
|
||||
// CHECK:STDOUT: parse_tree: [
|
||||
// CHECK:STDOUT: {kind: 'FileStart', text: ''},
|
||||
// CHECK:STDOUT: {kind: 'VariableIntroducer', text: 'var'},
|
||||
@@ -106,7 +106,7 @@ var x: [i32];
|
||||
// CHECK:STDOUT: {kind: 'VariableDecl', text: ';', subtree_size: 9},
|
||||
// CHECK:STDOUT: {kind: 'FileEnd', text: ''},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: - filename: no_close_bracket.carbon
|
||||
// CHECK:STDOUT: - filename: fail_no_close_bracket.carbon
|
||||
// CHECK:STDOUT: parse_tree: [
|
||||
// CHECK:STDOUT: {kind: 'FileStart', text: ''},
|
||||
// CHECK:STDOUT: {kind: 'VariableIntroducer', text: 'var'},
|
||||
@@ -117,7 +117,7 @@ var x: [i32];
|
||||
// CHECK:STDOUT: {kind: 'EmptyDecl', text: ';'},
|
||||
// CHECK:STDOUT: {kind: 'FileEnd', text: ''},
|
||||
// CHECK:STDOUT: ]
|
||||
// CHECK:STDOUT: - filename: no_semi.carbon
|
||||
// CHECK:STDOUT: - filename: fail_no_semi.carbon
|
||||
// CHECK:STDOUT: parse_tree: [
|
||||
// CHECK:STDOUT: {kind: 'FileStart', text: ''},
|
||||
// CHECK:STDOUT: {kind: 'VariableIntroducer', text: 'var'},
|
||||
|
||||
Reference in New Issue
Block a user