1: static char help[] = "Tests PetscStack.\n\n"; 3: #include <petscsys.h> 5: #if !defined(PETSCSTACKSIZE) 6: #define PETSCSTACKSIZE 64 7: #endif 9: PetscErrorCode correct() 10: { 11: PetscFunctionBegin; 12: PetscFunctionReturn(PETSC_SUCCESS); 13: } 15: PetscErrorCode correctu() 16: { 17: PetscFunctionBeginUser; 18: PetscFunctionReturn(PETSC_SUCCESS); 19: } 21: PetscErrorCode foo() 22: { 23: PetscFunctionReturn(PETSC_SUCCESS); 24: } 26: PetscErrorCode bar() 27: { 28: PetscFunctionBegin; 29: return PETSC_SUCCESS; 30: } 32: PetscErrorCode baru() 33: { 34: PetscFunctionBeginUser; 35: return PETSC_SUCCESS; 36: } 38: int main(int argc, char **argv) 39: { 40: PetscFunctionBeginUser; 41: PetscCall(PetscInitialize(&argc, &argv, NULL, help)); 42: for (PetscInt i = 0; i < PETSCSTACKSIZE + 1; i++) PetscCall(correct()); 43: for (PetscInt i = 0; i < PETSCSTACKSIZE + 1; i++) PetscCall(foo()); 44: for (PetscInt i = 0; i < PETSCSTACKSIZE + 1; i++) PetscCall(bar()); 45: for (PetscInt i = 0; i < PETSCSTACKSIZE + 1; i++) PetscCall(foo()); 46: for (PetscInt i = 0; i < PETSCSTACKSIZE + 1; i++) PetscCall(baru()); 47: for (PetscInt i = 0; i < PETSCSTACKSIZE + 1; i++) PetscCall(foo()); 48: PetscCall(PetscFinalize()); 49: return 0; 50: } 52: /*TEST 54: test: 55: TODO: Since this now errors out the test harness can chock on the output 57: TEST*/