#include "TestUtil.h" #include #include #include #include #include #include #include #include "a2io.h" #include "File.h" #include "StringFormat.h" #include "FatalException.h" namespace aria2 { void createFile(const std::string& path, size_t length) { File(File(path).getDirname()).mkdirs(); int fd = creat(path.c_str(), OPEN_MODE); if(fd == -1) { throw FATAL_EXCEPTION(StringFormat("Could not create file=%s. cause:%s", path.c_str(), strerror(errno)).str()); } if(-1 == ftruncate(fd, length)) { throw FATAL_EXCEPTION(StringFormat("ftruncate failed. cause:%s", strerror(errno)).str()); } close(fd); } std::string readFile(const std::string& path) { std::stringstream ss; std::ifstream in(path.c_str(), std::ios::binary); char buf[4096]; while(1) { in.read(buf, sizeof(buf)); ss.write(buf, in.gcount()); if(in.gcount() != sizeof(buf)) { break; } } return ss.str(); } };