From 00f891c7e2bd8a0cb0ed5cb3ed0102baa6a20fc8 Mon Sep 17 00:00:00 2001 From: Gabriel Studer <gabriel.studer@unibas.ch> Date: Tue, 10 Jul 2018 20:43:25 +0200 Subject: [PATCH] make compare_files function more sane --- modules/base/src/test_utils/compare_files.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/modules/base/src/test_utils/compare_files.cc b/modules/base/src/test_utils/compare_files.cc index 7463c94c5..18cff502d 100644 --- a/modules/base/src/test_utils/compare_files.cc +++ b/modules/base/src/test_utils/compare_files.cc @@ -37,17 +37,18 @@ bool compare_files(const String& test, const String& gold_standard) } String test_line, gold_line; while (true) { - bool test_end = !std::getline(test_stream, test_line); - bool gold_end = !std::getline(gold_stream, gold_line); - if (!(test_end || gold_end)) { + bool test_read = std::getline(test_stream, test_line); + bool gold_read = std::getline(gold_stream, gold_line); + if (!test_read && !gold_read) { + // nothing to read anymore in any of the files return true; } - if (!test_end) { + if (gold_read && !test_read) { std::cerr << gold_standard << " contains additional line(s):" << std::endl << gold_line << std::endl; return false; } - if (!gold_end) { + if (test_read && !gold_read) { std::cerr << test << " contains additional line(s):" << std::endl << test_line << std::endl; return false; -- GitLab