11724198aSStefano Zampini static char help[] = "Tests PetscStack.\n\n"; 21724198aSStefano Zampini 31724198aSStefano Zampini #include <petscsys.h> 41724198aSStefano Zampini 51724198aSStefano Zampini #if !defined(PETSCSTACKSIZE) 61724198aSStefano Zampini #define PETSCSTACKSIZE 64 71724198aSStefano Zampini #endif 81724198aSStefano Zampini 91724198aSStefano Zampini PetscErrorCode correct() 101724198aSStefano Zampini { 111724198aSStefano Zampini PetscFunctionBegin; 121724198aSStefano Zampini PetscFunctionReturn(0); 131724198aSStefano Zampini } 141724198aSStefano Zampini 151724198aSStefano Zampini PetscErrorCode correctu() 161724198aSStefano Zampini { 171724198aSStefano Zampini PetscFunctionBeginUser; 181724198aSStefano Zampini PetscFunctionReturn(0); 191724198aSStefano Zampini } 201724198aSStefano Zampini 211724198aSStefano Zampini PetscErrorCode foo() 221724198aSStefano Zampini { 231724198aSStefano Zampini PetscFunctionReturn(0); 241724198aSStefano Zampini } 251724198aSStefano Zampini 261724198aSStefano Zampini PetscErrorCode bar() 271724198aSStefano Zampini { 281724198aSStefano Zampini PetscFunctionBegin; 291724198aSStefano Zampini return 0; 301724198aSStefano Zampini } 311724198aSStefano Zampini 321724198aSStefano Zampini PetscErrorCode baru() 331724198aSStefano Zampini { 341724198aSStefano Zampini PetscFunctionBeginUser; 351724198aSStefano Zampini return 0; 361724198aSStefano Zampini } 371724198aSStefano Zampini 381724198aSStefano Zampini int main(int argc,char **argv) 391724198aSStefano Zampini { 401724198aSStefano Zampini PetscBool flg = PETSC_FALSE; 411724198aSStefano Zampini 429566063dSJacob Faibussowitsch PetscCall(PetscInitialize(&argc,&argv,(char*)0,help)); 431724198aSStefano Zampini #if defined(PETSC_USE_DEBUG) 449566063dSJacob Faibussowitsch PetscCall(PetscOptionsGetBool(NULL,NULL,"-checkstack",&flg,NULL)); 451724198aSStefano Zampini #endif 469566063dSJacob Faibussowitsch PetscCall(PetscPrintf(PETSC_COMM_WORLD,"%s for stack\n",flg ? "Checking" : "Not checking")); 479566063dSJacob Faibussowitsch for (PetscInt i = 0; i < PETSCSTACKSIZE+1; i++) PetscCall(correct()); 489566063dSJacob Faibussowitsch for (PetscInt i = 0; i < PETSCSTACKSIZE+1; i++) PetscCall(foo()); 499566063dSJacob Faibussowitsch for (PetscInt i = 0; i < PETSCSTACKSIZE+1; i++) PetscCall(bar()); 509566063dSJacob Faibussowitsch for (PetscInt i = 0; i < PETSCSTACKSIZE+1; i++) PetscCall(foo()); 519566063dSJacob Faibussowitsch for (PetscInt i = 0; i < PETSCSTACKSIZE+1; i++) PetscCall(baru()); 529566063dSJacob Faibussowitsch for (PetscInt i = 0; i < PETSCSTACKSIZE+1; i++) PetscCall(foo()); 539566063dSJacob Faibussowitsch PetscCall(PetscFinalize()); 54b122ec5aSJacob Faibussowitsch return 0; 551724198aSStefano Zampini } 561724198aSStefano Zampini 571724198aSStefano Zampini /*TEST 581724198aSStefano Zampini 591724198aSStefano Zampini test: 60*4be741a6SBarry Smith TODO: Since this now errors out the test harness can chock on the output 611724198aSStefano Zampini 621724198aSStefano Zampini TEST*/ 63