test(compiler): Abort test if a stream for a YAML file is in a bad state

The code in `loadEndToEndDesc` attempts to load the contents of a YAML
file without ensuring that the stream from which the file is read was
set up correctly. As a result, streams in a bad state, e.g., if the
file to be opened does not exist, simply result in an empty string for
the file contents. The test driver cannot distinguish this result from
a valid YAML file that is simply empty.

This patch causes `loadEndToEndDesc` to abort execution whenever a
file input stream could not be set up correctly.
This commit is contained in:
Andi Drebes
2022-09-16 11:37:55 +02:00
committed by rudy-6-4
parent 8255d3e190
commit 7427a4506d

View File

@@ -284,6 +284,12 @@ LLVM_YAML_IS_DOCUMENT_LIST_VECTOR(EndToEndDesc)
std::vector<EndToEndDesc> loadEndToEndDesc(std::string path) {
std::ifstream file(path);
if (!file.good()) {
std::cerr << "Could not read yaml file: " << path << std::endl;
assert(false);
}
std::string content((std::istreambuf_iterator<char>(file)),
(std::istreambuf_iterator<char>()));