Files
carbon-lang/toolchain/semantics/testdata/function/basic.carbon
T
Jon Ross-Perkins c198dafbe8 Switch semantics-ir tests to lit (#2224)
This builds on semantics-ir lit support added by #2222
 
The googletest setup was feeling cumbersome, especially as I'm thinking about how to add more testing: I feel like I'm wrestling with the infrastructure.

The `[[ID1]]` and so on in tests is one advantage of switching: it's easier to do matching of IDs for verification. This is also more agnostic about the numbers than before, something which I'm concerned will be important as I think about builtins.

To explain my builtins thought, I think that needs to be another SemanticsIR with basically names pointing at builtin things. But this (a) creates multiple SemanticsIRs, which would confuse the current singleton approach and (b) starts creating more fluctuation for IDs, potentially impacting the numbers used (also, chandlerc's suggested pointers for some use-cases).

Overall it felt like I was heading towards a situation with googletest where writing the tests would be really difficult, and it was adding to my hesitance to write more code in the toolchain. I'm hoping this acts as a simplification.

Note, the "cp" commit has some incremental changes to googletest that I'd considered for making it easier to add matchers, but ultimately I ended up with this outcome.
2022-10-03 13:09:04 -07:00

15 lines
424 B
Plaintext

// 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
//
// RUN: %{carbon} dump semantics-ir %s 2>&1 | %{FileCheckStrict} %s
// CHECK:{
// CHECK: Function(
// CHECK: %[[ID0:[0-9]+]],
// CHECK: {
// CHECK: }),
// CHECK: SetName(`Foo`, %[[ID0]]),
// CHECK:}
fn Foo() {}