X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Testing%2FTestValidate.cxx;h=b74cb6832c6df7fc028fb47d13b592e2141e6fb1;hb=3406c4fd40fed23d938a1c72d985417ce46c3bc0;hp=62c9ffee73a4a471a40c4791cafcd159726870c1;hpb=27c37e95b55fb51d7f8de13bebac4f299d487c17;p=gdcm.git diff --git a/Testing/TestValidate.cxx b/Testing/TestValidate.cxx index 62c9ffee..b74cb683 100644 --- a/Testing/TestValidate.cxx +++ b/Testing/TestValidate.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: TestValidate.cxx,v $ Language: C++ - Date: $Date: 2005/07/05 18:47:38 $ - Version: $Revision: 1.2 $ + Date: $Date: 2005/11/18 11:10:04 $ + Version: $Revision: 1.9 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -18,21 +18,63 @@ #include "gdcmFile.h" #include "gdcmValidator.h" +#include "gdcmGlobal.h" +#include "gdcmDictSet.h" -int TestValidate(int argc, char *argv[]) -{ - if( argc < 2 ) - { - std::cerr << "ouh les cornes / shame on you" << std::endl; - return 1; - } +//Generated file: +#include "gdcmDataImages.h" - const char *filename = argv[1]; +int Validate(std::string const &filename); - gdcm::File *input = new gdcm::File( filename ); - gdcm::Validator *v = new gdcm::Validator(); +int Validate(std::string const &filename) +{ + gdcm::File *input = gdcm::File::New( ); + input->SetFileName(filename); + input->Load(); + gdcm::Validator *v = gdcm::Validator::New(); v->SetInput( input ); + input->Delete(); + v->Delete(); + return 1; // allways true (we don't want to break the test suite) +} + + +int TestValidate(int argc, char *argv[]) +{ + if ( argc == 2 ) + { + // The test is specified a specific filename, use it instead of looping + // over all images + const std::string input = argv[1]; + return Validate( input ); + } + else if ( argc > 2 || argc == 2 ) + { + std::cout << " Usage: " << argv[0] + << " (no arguments needed)." << std::endl; + std::cout << "or Usage: " << argv[0] + << " filename.dcm " << std::endl; + return 1; + } + // Try to track the "FIXME" problem for VM + gdcm::Global::GetDicts()->GetDefaultPubDict()->Print(); + + int i =0; + int retVal = 0; //by default : *no* error + while( gdcmDataImages[i] != 0 ) + { + std::string filename = GDCM_DATA_ROOT; + filename += "/"; //doh! + filename += gdcmDataImages[i]; + std::cout << filename << std::endl; + if( Validate( filename ) != 0 ) + { + retVal++; + } - return 0; + i++; + } + retVal = 0; // Never break test suite + return retVal; }