From 8cf6643903cc8bb7f71813eef89536d2338fe64e Mon Sep 17 00:00:00 2001 From: Alexey Spizhevoy Date: Fri, 11 Feb 2011 09:59:21 +0000 Subject: [PATCH] changed a little NVIDIA Staging test framework to handle failed tests correctly --- tests/gpu/src/nvidia/NCVAutoTestLister.hpp | 5 +++- tests/gpu/src/nvidia/main_nvidia.cpp | 30 ++++++++++++---------- tests/gpu/src/nvidia_tests.cpp | 15 ++++++++--- 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/tests/gpu/src/nvidia/NCVAutoTestLister.hpp b/tests/gpu/src/nvidia/NCVAutoTestLister.hpp index d9f4438b8..d8106efc7 100644 --- a/tests/gpu/src/nvidia/NCVAutoTestLister.hpp +++ b/tests/gpu/src/nvidia/NCVAutoTestLister.hpp @@ -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() diff --git a/tests/gpu/src/nvidia/main_nvidia.cpp b/tests/gpu/src/nvidia/main_nvidia.cpp index facddbc23..6744c9955 100644 --- a/tests/gpu/src/nvidia/main_nvidia.cpp +++ b/tests/gpu/src/nvidia/main_nvidia.cpp @@ -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; } diff --git a/tests/gpu/src/nvidia_tests.cpp b/tests/gpu/src/nvidia_tests.cpp index 04d643682..75ea7f48e 100644 --- a/tests/gpu/src/nvidia_tests.cpp +++ b/tests/gpu/src/nvidia_tests.cpp @@ -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; \ No newline at end of file +} CV_NVidiaTestsCaller_test;