From 8607e8008bf3ec037bb7060a9dc5e229e02b8428 Mon Sep 17 00:00:00 2001 From: Ken Martin Date: Tue, 20 Sep 2005 12:50:27 -0400 Subject: ENH: increase coverage in loaded commands --- Tests/LoadCommand/CMakeCommands/cmTestCommand.c | 22 +++++++++++++++++++--- Tests/LoadCommand/CMakeLists.txt | 5 ++--- .../CMakeCommands/cmTestCommand.c | 22 +++++++++++++++++++--- Tests/LoadCommandOneConfig/CMakeLists.txt | 5 ++--- 4 files changed, 42 insertions(+), 12 deletions(-) diff --git a/Tests/LoadCommand/CMakeCommands/cmTestCommand.c b/Tests/LoadCommand/CMakeCommands/cmTestCommand.c index 4bcaa33..5ca9b33 100644 --- a/Tests/LoadCommand/CMakeCommands/cmTestCommand.c +++ b/Tests/LoadCommand/CMakeCommands/cmTestCommand.c @@ -16,18 +16,20 @@ static int InitialPass(void *inf, void *mf, int argc, char *argv[]) { char* file; char* str; + char *srcs; const char* cstr; char buffer[1024]; void *source_file; + char *args[2]; cmLoadedCommandInfo *info = (cmLoadedCommandInfo *)inf; - + cmVTKWrapTclData *cdata = (cmVTKWrapTclData *)malloc(sizeof(cmVTKWrapTclData)); cdata->LibraryName = "BOO"; cdata->Argc = argc; cdata->Argv = argv; info->CAPI->SetClientData(info,cdata); - + /* Now check and see if the value has been stored in the cache */ /* already, if so use that value and don't look for the program */ if(!info->CAPI->IsOn(mf,"TEST_COMMAND_TEST1")) @@ -109,12 +111,26 @@ static int InitialPass(void *inf, void *mf, int argc, char *argv[]) info->CAPI->SetError(mf, "Property SOME_PROPERTY should not be defined"); return 0; } + info->CAPI->SourceFileSetProperty(source_file, "SOME_PROPERTY2", "HERE"); cstr = info->CAPI->SourceFileGetProperty(source_file, "ABSTRACT"); - sprintf(buffer, "Shold be 0 (source file abstract property): [%p]", cstr); + sprintf(buffer, "Should be 0 (source file abstract property): [%p]", cstr); info->CAPI->DisplaySatus(mf, buffer); info->CAPI->DestroySourceFile(source_file); + srcs = "LoadedCommand.cxx"; + info->CAPI->AddExecutable(mf,"LoadedCommand",1, &srcs, 0); + + args[0] = "TEST_EXEC"; + args[1] = "TRUE"; + + /* code coverage */ + if (info->CAPI->GetTotalArgumentSize(2,args) != 13) + { + return 0; + } + info->CAPI->ExecuteCommand(mf,"SET",2,args); + return 1; } diff --git a/Tests/LoadCommand/CMakeLists.txt b/Tests/LoadCommand/CMakeLists.txt index 6c1eb45..411d439 100644 --- a/Tests/LoadCommand/CMakeLists.txt +++ b/Tests/LoadCommand/CMakeLists.txt @@ -58,8 +58,7 @@ ELSE (COMPILE_OK) ENDIF (COMPILE_OK) # TEST_DEF is set by the loaded command cmTestCommand.c -IF (TEST_DEF AND SOME_CACHE_VARIABLE) +IF (TEST_DEF AND SOME_CACHE_VARIABLE AND TEST_EXEC) ADD_DEFINITIONS(-DCMAKE_IS_FUN) -ENDIF (TEST_DEF AND SOME_CACHE_VARIABLE) +ENDIF (TEST_DEF AND SOME_CACHE_VARIABLE AND TEST_EXEC) -ADD_EXECUTABLE (LoadedCommand LoadedCommand.cxx) diff --git a/Tests/LoadCommandOneConfig/CMakeCommands/cmTestCommand.c b/Tests/LoadCommandOneConfig/CMakeCommands/cmTestCommand.c index 4bcaa33..5ca9b33 100644 --- a/Tests/LoadCommandOneConfig/CMakeCommands/cmTestCommand.c +++ b/Tests/LoadCommandOneConfig/CMakeCommands/cmTestCommand.c @@ -16,18 +16,20 @@ static int InitialPass(void *inf, void *mf, int argc, char *argv[]) { char* file; char* str; + char *srcs; const char* cstr; char buffer[1024]; void *source_file; + char *args[2]; cmLoadedCommandInfo *info = (cmLoadedCommandInfo *)inf; - + cmVTKWrapTclData *cdata = (cmVTKWrapTclData *)malloc(sizeof(cmVTKWrapTclData)); cdata->LibraryName = "BOO"; cdata->Argc = argc; cdata->Argv = argv; info->CAPI->SetClientData(info,cdata); - + /* Now check and see if the value has been stored in the cache */ /* already, if so use that value and don't look for the program */ if(!info->CAPI->IsOn(mf,"TEST_COMMAND_TEST1")) @@ -109,12 +111,26 @@ static int InitialPass(void *inf, void *mf, int argc, char *argv[]) info->CAPI->SetError(mf, "Property SOME_PROPERTY should not be defined"); return 0; } + info->CAPI->SourceFileSetProperty(source_file, "SOME_PROPERTY2", "HERE"); cstr = info->CAPI->SourceFileGetProperty(source_file, "ABSTRACT"); - sprintf(buffer, "Shold be 0 (source file abstract property): [%p]", cstr); + sprintf(buffer, "Should be 0 (source file abstract property): [%p]", cstr); info->CAPI->DisplaySatus(mf, buffer); info->CAPI->DestroySourceFile(source_file); + srcs = "LoadedCommand.cxx"; + info->CAPI->AddExecutable(mf,"LoadedCommand",1, &srcs, 0); + + args[0] = "TEST_EXEC"; + args[1] = "TRUE"; + + /* code coverage */ + if (info->CAPI->GetTotalArgumentSize(2,args) != 13) + { + return 0; + } + info->CAPI->ExecuteCommand(mf,"SET",2,args); + return 1; } diff --git a/Tests/LoadCommandOneConfig/CMakeLists.txt b/Tests/LoadCommandOneConfig/CMakeLists.txt index 6c1eb45..411d439 100644 --- a/Tests/LoadCommandOneConfig/CMakeLists.txt +++ b/Tests/LoadCommandOneConfig/CMakeLists.txt @@ -58,8 +58,7 @@ ELSE (COMPILE_OK) ENDIF (COMPILE_OK) # TEST_DEF is set by the loaded command cmTestCommand.c -IF (TEST_DEF AND SOME_CACHE_VARIABLE) +IF (TEST_DEF AND SOME_CACHE_VARIABLE AND TEST_EXEC) ADD_DEFINITIONS(-DCMAKE_IS_FUN) -ENDIF (TEST_DEF AND SOME_CACHE_VARIABLE) +ENDIF (TEST_DEF AND SOME_CACHE_VARIABLE AND TEST_EXEC) -ADD_EXECUTABLE (LoadedCommand LoadedCommand.cxx) -- cgit v0.12