osrm-backend/test/reader_tests.cpp
Michael Krasnyk 68019a1fb2 Squashed 'third_party/protozero/' content from commit d5d8debf1
git-subtree-dir: third_party/protozero
git-subtree-split: d5d8debf1b17c6bb652395957b76cde7787e5377
2018-04-19 22:03:49 +03:00

31 lines
771 B
C++

#include <fstream>
#include <stdexcept>
#include <string>
#define CATCH_CONFIG_MAIN
#include <test.hpp> // IWYU pragma: keep
std::string load_data(const std::string& filename) {
const char* tests_dir = std::getenv("TESTS_DIR");
if (tests_dir == nullptr) {
tests_dir = "test";
}
std::string fullname{tests_dir};
fullname += "/t/";
fullname += filename;
fullname += ".pbf";
std::ifstream stream{fullname, std::ios_base::in | std::ios_base::binary};
if (!stream.is_open()) {
throw std::runtime_error{"could not open: '" + filename + "'"};
}
std::string buffer{std::istreambuf_iterator<char>(stream.rdbuf()),
std::istreambuf_iterator<char>()};
stream.close();
return buffer;
}