Skip to content

Commit

Permalink
Allow defining .h files in tests without trying to compile them as Ca…
Browse files Browse the repository at this point in the history
…rbon files (#4667)

This would be used to test interop with C++.
#4666
  • Loading branch information
bricknerb authored Dec 12, 2024
1 parent 3ce0df6 commit 9ea1534
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 2 deletions.
7 changes: 5 additions & 2 deletions testing/file_test/file_test_base.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -378,8 +378,11 @@ auto FileTestBase::DoArgReplacements(
}
it = test_args.erase(it);
for (const auto& file : test_files) {
it = test_args.insert(it, file.filename);
++it;
const std::string& filename = file.filename;
if (!filename.ends_with(".h")) {
it = test_args.insert(it, filename);
++it;
}
}
// Back up once because the for loop will advance.
--it;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// 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
//
// AUTOUPDATE
// TIP: To test this file alone, run:
// TIP: bazel test //toolchain/testing:file_test --test_arg=--file_tests=toolchain/check/testdata/interop/cpp/no_prelude/test_support.carbon
// TIP: To dump output, run:
// TIP: bazel run //toolchain/testing:file_test -- --dump_output --file_tests=toolchain/check/testdata/interop/cpp/no_prelude/test_support.carbon

// --- cpp_file.h

void foo();

// --- carbon_file.carbon

library "[[@TEST_NAME]]";

// CHECK:STDOUT: --- carbon_file.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace [template] {}
// CHECK:STDOUT: }
// CHECK:STDOUT:

0 comments on commit 9ea1534

Please sign in to comment.