Fixes in unit tests
parent
502f7a8a5f
commit
12feb49098
|
@ -23,6 +23,7 @@
|
|||
|
||||
#include "common/logger.h"
|
||||
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
#include <cstring>
|
||||
#include <boost/property_tree/ini_parser.hpp>
|
||||
|
@ -54,15 +55,25 @@ bool CProfile::Init()
|
|||
{
|
||||
try
|
||||
{
|
||||
CInputStream stream;
|
||||
stream.open("colobot.ini");
|
||||
if(stream.is_open()) {
|
||||
bp::ini_parser::read_ini(stream, m_propertyTree);
|
||||
} else {
|
||||
std::unique_ptr<std::istream> stream;
|
||||
if (m_useCurrentDirectory)
|
||||
{
|
||||
stream = std::unique_ptr<std::istream>(new std::ifstream("./colobot.ini"));
|
||||
}
|
||||
else
|
||||
{
|
||||
stream = std::unique_ptr<std::istream>(new CInputStream("colobot.ini"));
|
||||
}
|
||||
|
||||
if (stream->good())
|
||||
{
|
||||
bp::ini_parser::read_ini(*stream, m_propertyTree);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetLogger()->Error("Error on parsing profile: failed to open file\n");
|
||||
return false;
|
||||
}
|
||||
stream.close();
|
||||
}
|
||||
catch (std::exception & e)
|
||||
{
|
||||
|
@ -78,15 +89,25 @@ bool CProfile::Save()
|
|||
{
|
||||
try
|
||||
{
|
||||
COutputStream stream;
|
||||
stream.open("colobot.ini");
|
||||
if(stream.is_open()) {
|
||||
bp::ini_parser::write_ini(stream, m_propertyTree);
|
||||
} else {
|
||||
std::unique_ptr<std::ostream> stream;
|
||||
if (m_useCurrentDirectory)
|
||||
{
|
||||
stream = std::unique_ptr<std::ostream>(new std::ofstream("./colobot.ini"));
|
||||
}
|
||||
else
|
||||
{
|
||||
stream = std::unique_ptr<std::ostream>(new COutputStream("colobot.ini"));
|
||||
}
|
||||
|
||||
if (stream->good())
|
||||
{
|
||||
bp::ini_parser::write_ini(*stream, m_propertyTree);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetLogger()->Error("Error on storing profile: failed to open file\n");
|
||||
return false;
|
||||
}
|
||||
stream.close();
|
||||
}
|
||||
catch (std::exception & e)
|
||||
{
|
||||
|
|
|
@ -22,6 +22,11 @@ CInputStream::CInputStream() : std::istream(new CInputStreamBuffer())
|
|||
{
|
||||
}
|
||||
|
||||
CInputStream::CInputStream(const std::string& filename) : std::istream(new CInputStreamBuffer())
|
||||
{
|
||||
open(filename);
|
||||
}
|
||||
|
||||
|
||||
CInputStream::~CInputStream()
|
||||
{
|
||||
|
|
|
@ -24,9 +24,10 @@ class CInputStream : public std::istream
|
|||
{
|
||||
public:
|
||||
CInputStream();
|
||||
CInputStream(const std::string& filename);
|
||||
virtual ~CInputStream();
|
||||
|
||||
void open(const std::string &filename);
|
||||
void open(const std::string& filename);
|
||||
void close();
|
||||
bool is_open();
|
||||
size_t size();
|
||||
|
|
|
@ -22,6 +22,11 @@ COutputStream::COutputStream() : std::ostream(new COutputStreamBuffer())
|
|||
{
|
||||
}
|
||||
|
||||
COutputStream::COutputStream(const std::string& filename) : std::ostream(new COutputStreamBuffer())
|
||||
{
|
||||
open(filename);
|
||||
}
|
||||
|
||||
|
||||
COutputStream::~COutputStream()
|
||||
{
|
||||
|
|
|
@ -24,9 +24,10 @@ class COutputStream : public std::ostream
|
|||
{
|
||||
public:
|
||||
COutputStream();
|
||||
COutputStream(const std::string& filename);
|
||||
virtual ~COutputStream();
|
||||
|
||||
void open(const std::string &filename);
|
||||
void open(const std::string& filename);
|
||||
void close();
|
||||
bool is_open();
|
||||
};
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
# OpenGL tests
|
||||
add_subdirectory(opengl)
|
||||
# TODO: fix dependency on resource manager and re-enable
|
||||
#add_subdirectory(opengl)
|
||||
|
|
|
@ -12,7 +12,6 @@ class CProfileTest : public testing::Test
|
|||
{
|
||||
protected:
|
||||
CProfile m_profile;
|
||||
|
||||
};
|
||||
|
||||
TEST_F(CProfileTest, ReadTest)
|
||||
|
|
Loading…
Reference in New Issue