MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/Falcor / runTest

Function runTest

Source/Falcor/Testing/UnitTest.cpp:214–283  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

212}
213
214inline TestResult runTest(const Test& test, DevicePool& devicePool)
215{
216 if (!test.skipMessage.empty())
217 return {TestResult::Status::Skipped, {test.skipMessage}};
218
219 TestResult result{TestResult::Status::Passed};
220
221 auto startTime = std::chrono::steady_clock::now();
222
223 try
224 {
225 if (test.cpuFunc)
226 {
227 CPUUnitTestContext cpuCtx;
228 test.cpuFunc(cpuCtx);
229 result.messages = cpuCtx.getFailureMessages();
230 }
231 else if (test.gpuFunc)
232 {
233 ref<Device> pDevice;
234 pDevice = devicePool.acquireDevice(test.deviceType);
235
236 {
237 GPUUnitTestContext gpuCtx(pDevice);
238 test.gpuFunc(gpuCtx);
239 result.messages = gpuCtx.getFailureMessages();
240 }
241
242 pDevice->endFrame();
243 pDevice->wait();
244 devicePool.releaseDevice(std::move(pDevice));
245 }
246 }
247 catch (const SkippingTestException& e)
248 {
249 result.status = TestResult::Status::Skipped;
250 result.extraMessage = e.what();
251 }
252 catch (const ErrorRunningTestException& e)
253 {
254 result.status = TestResult::Status::Failed;
255 result.extraMessage = e.what();
256 }
257 catch (const AssertingTestException& e)
258 {
259 result.status = TestResult::Status::Failed;
260 result.extraMessage = e.what();
261 }
262 catch (const TooManyFailedTestsException&)
263 {
264 result.status = TestResult::Status::Failed;
265 result.extraMessage = "Gave up after " + std::to_string(kMaxTestFailures) + " failures.";
266 }
267 catch (const std::exception& e)
268 {
269 result.status = TestResult::Status::Failed;
270 result.extraMessage = e.what();
271 }

Callers 2

runTestsParallelFunction · 0.70
runTestsSerialFunction · 0.70

Calls 9

acquireDeviceMethod · 0.80
releaseDeviceMethod · 0.80
whatMethod · 0.80
countMethod · 0.80
to_stringFunction · 0.50
emptyMethod · 0.45
endFrameMethod · 0.45
waitMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected