xref: /petsc/src/sys/tests/ex33.c (revision 4be741a620f85a2448a6787d1e332fb20039105a)
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