1
0
Fork 0
flightgear/tests/fgTestDriver.cxx

78 lines
1 KiB
C++
Raw Normal View History

#include <vector>
#include <simgear/props/condition.hxx>
#include <simgear/props/props_io.hxx>
#include <simgear/math/SGMath.hxx>
class TestStep
{
public:
virtual void run() = 0;
// name for logging purposes
};
typedef std::vector<TestStep*> TestStepSequence;
class SimulateStep : public TestStep
{
public:
void run() override
{
}
private:
double m_count;
double m_dt;
SGGeod m_endPosition;
double m_endHeadingTrueDeg;
// other fake FDM data
};
class CommandStep : public TestStep
{
public:
void run() override
{
// build the command and run it
}
private:
SGPropertyNode_ptr m_cmd;
};
class CheckStep : public TestStep
{
public:
void run() override
{
for (auto cond : m_conditions) {
// eval
// if failed, boom
}
}
private:
std::vector<SGConditionRef> m_conditions;
};
int main(int argc, char* argv[])
{
// parse XML
// find test name
// wipe working dir
// create working dir
// build test stages
// read and create subsystems
// execute in turn
return EXIT_SUCCESS;
}