changed a little NVIDIA Staging test framework to handle failed tests correctly

This commit is contained in:
Alexey Spizhevoy 2011-02-11 09:59:21 +00:00
parent b541ce494d
commit 8cf6643903
3 changed files with 32 additions and 18 deletions

View File

@ -32,7 +32,7 @@ public:
this->tests.push_back(test);
}
void invoke()
bool invoke()
{
Ncv32u nPassed = 0;
Ncv32u nFailed = 0;
@ -106,6 +106,9 @@ public:
nPassed,
nFailedMem,
nFailed);
bool passed = nFailed == 0 && nFailedMem == 0;
return passed;
}
~NCVAutoTestLister()

View File

@ -284,7 +284,7 @@ static void devNullOutput(const char *msg)
}
int main_nvidia()
bool main_nvidia()
{
printf("Testing NVIDIA Computer Vision SDK\n");
printf("==================================\n");
@ -330,17 +330,21 @@ int main_nvidia()
generateHaarLoaderTests(testListerHaarLoader);
generateHaarApplicationTests(testListerHaarAppl, testSrcFacesVGA_8u, 1280, 720);
testListerII.invoke();
testListerSII.invoke();
testListerRStdDev.invoke();
testListerResize.invoke();
testListerNPPSTVectorOperations.invoke();
testListerTranspose.invoke();
testListerVisualize.invoke();
testListerVectorOperations.invoke();
testListerHypFiltration.invoke();
testListerHaarLoader.invoke();
testListerHaarAppl.invoke();
// Indicate if at least one test failed
bool passed = true;
return 0;
// Invoke all tests
passed &= testListerII.invoke();
passed &= testListerSII.invoke();
passed &= testListerRStdDev.invoke();
passed &= testListerResize.invoke();
passed &= testListerNPPSTVectorOperations.invoke();
passed &= testListerTranspose.invoke();
passed &= testListerVisualize.invoke();
passed &= testListerVectorOperations.invoke();
passed &= testListerHypFiltration.invoke();
passed &= testListerHaarLoader.invoke();
passed &= testListerHaarAppl.invoke();
return passed;
}

View File

@ -53,11 +53,18 @@ protected:
void run( int )
{
#if defined(HAVE_CUDA)
int main_nvidia();
main_nvidia();
ts->set_failed_test_info(CvTS::OK);
bool main_nvidia();
// Invoke all NVIDIA Staging tests and obtain the result
bool passed = main_nvidia();
if (passed)
ts->set_failed_test_info(CvTS::OK);
else
ts->set_failed_test_info(CvTS::FAIL_INVALID_OUTPUT);
#else
ts->set_failed_test_info(CvTS::SKIPPED);
#endif
}
} CV_NVidiaTestsCaller_test;
} CV_NVidiaTestsCaller_test;