7
7
8
8
#include < string>
9
9
10
+ #include " llvm/ADT/STLExtras.h"
10
11
#include " llvm/ADT/SmallVector.h"
11
12
#include " llvm/ADT/StringRef.h"
12
13
#include " llvm/Support/FormatVariadic.h"
@@ -29,16 +30,18 @@ class ToolchainFileTest : public FileTestBase {
29
30
llvm::raw_pwrite_stream& stderr) -> ErrorOr<RunResult> override {
30
31
Driver driver (fs, stdout, stderr);
31
32
auto driver_result = driver.RunCommand (test_args);
32
- if (std::find (test_args.begin (), test_args.end (), " %s" ) ==
33
- test_args.end ()) {
34
- // Files weren't forwarded as an argument, so don't use per_file_success.
35
- // This primarily occurs in driver tests with invalid filename arguments,
36
- // which we wouldn't want to try validating.
37
- return {{.success = driver_result.success }};
38
- } else {
39
- return {{.success = driver_result.success ,
40
- .per_file_success = std::move (driver_result.per_file_success )}};
41
- }
33
+
34
+ RunResult result{
35
+ .success = driver_result.success ,
36
+ .per_file_success = std::move (driver_result.per_file_success )};
37
+ // Drop entries that don't look like a file. Note this can empty out the
38
+ // list.
39
+ llvm::erase_if (result.per_file_success ,
40
+ [](std::pair<llvm::StringRef, bool > entry) {
41
+ return entry.first == " ." || entry.first == " -" ||
42
+ entry.first .starts_with (" not_file" );
43
+ });
44
+ return result;
42
45
}
43
46
44
47
auto GetDefaultArgs () -> llvm::SmallVector<std::string> override {
0 commit comments