| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | #include "TestUtil.h"#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <cerrno>#include <cstring>#include <sstream>#include <fstream>#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();}};
 |