16 std::ostringstream messageStream;
23 std::vector<std::string> args;
24 args.push_back(
"plascom2x");
26 args.push_back(
"plascom2.test.config");
28 std::vector<char *> argv(args.size()+1);
29 for (
int i = 0; i < args.size(); ++i) {
30 argv[i] =
const_cast<char *
>(args[i].c_str());
32 argv[args.size()] = NULL;
41 AssertValue = returnValue == 0;
42 parallelUnitResults.
UpdateResult(
"Overkit:Config:ApplicationInitialized",AssertValue);
44 returnValue = simulationApplication.ConfigureApplication();
47 AssertValue = returnValue == 0;
48 parallelUnitResults.
UpdateResult(
"Overkit:Config:ApplicationConfigured",AssertValue);
50 plascom2::overkit_data *OverkitData = simulationApplication.GetOverkitData();
52 ovk_context *Context = OverkitData->context;
53 ovk_domain *Domain = OverkitData->domains[0];
55 const ovk_context_properties *ContextProperties;
56 ovkGetContextProperties(Context, &ContextProperties);
61 ovkGetContextPropertyComm(ContextProperties, &ContextComm);
62 MPI_Comm_compare(ContextComm, testComm.
GetCommunicator(), &returnValue);
63 AssertValue = returnValue == MPI_CONGRUENT;
64 parallelUnitResults.
UpdateResult(
"Overkit:Config:CorrectContextComm",AssertValue);
66 const ovk_domain_properties *DomainProperties;
67 ovkGetDomainProperties(Domain, &DomainProperties);
71 ovkGetDomainPropertyName(DomainProperties, DomainName);
72 AssertValue = std::string(DomainName) ==
"euler3d-test";
73 parallelUnitResults.
UpdateResult(
"Overkit:Config:CorrectDomainName",AssertValue);
78 ovkGetDomainPropertyComm(DomainProperties, &DomainComm);
80 AssertValue = returnValue == MPI_CONGRUENT;
81 parallelUnitResults.
UpdateResult(
"Overkit:Config:CorrectDomainComm",AssertValue);
85 ovkGetDomainPropertyDimension(DomainProperties, &NumDims);
86 AssertValue = NumDims == 3;
87 parallelUnitResults.
UpdateResult(
"Overkit:Config:CorrectDomainDimension",AssertValue);
91 ovkGetDomainPropertyGridCount(DomainProperties, &NumGrids);
92 AssertValue = NumGrids == 1;
93 parallelUnitResults.
UpdateResult(
"Overkit:Config:CorrectDomainGridCount",AssertValue);
96 ovkGetGrid(Domain, 1, &Grid);
98 const ovk_grid_properties *GridProperties;
99 ovkGetGridProperties(Grid, &GridProperties);
103 ovkGetGridPropertyName(GridProperties, GridName);
104 AssertValue = std::string(GridName) ==
"box:grid1";
105 parallelUnitResults.
UpdateResult(
"Overkit:Config:CorrectDomainName",AssertValue);
110 ovkGetGridPropertyComm(GridProperties, &GridComm);
112 AssertValue = returnValue == MPI_CONGRUENT;
113 parallelUnitResults.
UpdateResult(
"Overkit:Config:CorrectGridComm",AssertValue);
117 ovkGetGridPropertySize(GridProperties, GridSize);
118 AssertValue = GridSize[0] == 101 && GridSize[1] == 101 && GridSize[2] == 101;
119 parallelUnitResults.
UpdateResult(
"Overkit:Config:CorrectGridSize",AssertValue);
121 returnValue = simulationApplication.FinalizeApplication();
124 AssertValue = returnValue == 0;
125 parallelUnitResults.
UpdateResult(
"Overkit:Config:ApplicationFinalized",AssertValue);
128 AssertValue = OverkitData->context == NULL;
129 parallelUnitResults.
UpdateResult(
"Overkit:Config:DestroyedContext",AssertValue);
bool CheckResult(bool &localResult, pcpp::CommunicatorType &testComm)
Encapsulating class for collections of test results.
MPI_Comm GetCommunicator() const
void TestOverkit_Config(ix::test::results ¶llelUnitResults, pcpp::CommunicatorType &testComm)
Main encapsulation of MPI.
std::string Grid(const GridType &inGrid)
Testing constructs for unit testing.
void UpdateResult(const std::string &name, const ValueType &result)
Updates an existing test result.
virtual int InitializeApplication()