Lines Matching refs:xe
110 static void parseBatchResult (xe::TestLogParser& parser, const char* filename)
134 for (int i = 0;i < xe::TESTSTATUSCODE_LAST; i++)
138 int countByCode[xe::TESTSTATUSCODE_LAST];
141 class ResultToSingleXmlLogHandler : public xe::TestLogHandler
144 ResultToSingleXmlLogHandler (xe::xml::Writer& writer, BatchResultTotals& totals)
150 void setSessionInfo (const xe::SessionInfo&)
154 xe::TestCaseResultPtr startTestCaseResult (const char* casePath)
156 return xe::TestCaseResultPtr(new xe::TestCaseResultData(casePath));
159 void testCaseResultUpdated (const xe::TestCaseResultPtr&)
163 void testCaseResultComplete (const xe::TestCaseResultPtr& resultData)
165 xe::TestCaseResult result;
167 xe::parseTestCaseResultFromData(&m_resultParser, &result, *resultData.get());
170 xe::writeTestResult(result, m_writer);
173 XE_CHECK(de::inBounds<int>(result.statusCode, 0, xe::TESTSTATUSCODE_LAST));
178 xe::xml::Writer& m_writer;
180 xe::TestResultParser m_resultParser;
183 static void writeTotals (xe::xml::Writer& writer, const BatchResultTotals& totals)
185 using xe::xml::Writer;
191 for (int code = 0; code < xe::TESTSTATUSCODE_LAST; code++)
193 writer << Writer::Attribute(xe::getTestStatusCodeName((xe::TestStatusCode)code), de::toString(totals.countByCode[code]).c_str());
204 xe::xml::Writer writer (out);
207 xe::TestLogParser parser (&handler);
214 writer << xe::xml::Writer::BeginElement("BatchResult")
215 << xe::xml::Writer::Attribute("FileName", de::FilePath(batchResultFilename).getBaseName());
223 writer << xe::xml::Writer::EndElement;
229 class ResultToXmlFilesLogHandler : public xe::TestLogHandler
232 ResultToXmlFilesLogHandler (vector<xe::TestCaseResultHeader>& resultHeaders, const char* dstPath)
238 void setSessionInfo (const xe::SessionInfo&)
242 xe::TestCaseResultPtr startTestCaseResult (const char* casePath)
244 return xe::TestCaseResultPtr(new xe::TestCaseResultData(casePath));
247 void testCaseResultUpdated (const xe::TestCaseResultPtr&)
251 void testCaseResultComplete (const xe::TestCaseResultPtr& resultData)
253 xe::TestCaseResult result;
255 xe::parseTestCaseResultFromData(&m_resultParser, &result, *resultData.get());
261 xe::xml::Writer xmlWriter (out);
264 throw xe::Error(string("Failed to open ") + casePath.getPath());
268 xe::writeTestResult(result, xmlWriter);
272 m_resultHeaders.push_back(xe::TestCaseResultHeader(result));
276 vector<xe::TestCaseResultHeader>& m_resultHeaders;
278 xe::TestResultParser m_resultParser;
281 typedef std::map<const xe::TestCase*, const xe::TestCaseResultHeader*> ShortTestResultMap;
283 static void writeTestCaseListNode (const xe::TestNode* testNode, const ShortTestResultMap& resultMap, xe::xml::Writer& dst)
285 using xe::xml::Writer;
287 bool isGroup = testNode->getNodeType() == xe::TESTNODETYPE_GROUP;
293 const xe::TestGroup* group = static_cast<const xe::TestGroup*>(testNode);
305 DE_ASSERT(testNode->getNodeType() == xe::TESTNODETYPE_TEST_CASE);
307 const xe::TestCase* testCase = static_cast<const xe::TestCase*>(testNode);
309 const xe::TestCaseResultHeader* result = resultPos != resultMap.end() ? resultPos->second : DE_NULL;
315 << Writer::Attribute("Type", xe::getTestCaseTypeName(result->caseType))
316 << Writer::Attribute("StatusCode", xe::getTestStatusCodeName(result->statusCode))
322 static void writeTestCaseList (const xe::TestRoot& root, const ShortTestResultMap& resultMap, xe::xml::Writer& dst)
324 using xe::xml::Writer;
336 xe::TestRoot testRoot;
337 vector<xe::TestCaseResultHeader> shortResults;
349 xe::TestLogParser parser (&handler);
356 xe::TestHierarchyBuilder hierarchyBuilder(&testRoot);
358 for (vector<xe::TestCaseResultHeader>::const_iterator result = shortResults.begin(); result != shortResults.end(); result++)
360 xe::TestCase* testCase = hierarchyBuilder.createCase(result->casePath.c_str(), result->caseType);
369 xe::xml::Writer xmlWriter (out);