xref: /petsc/src/sys/tests/ex66.c (revision e4a561a4dd2f14b817d1f42f37308832056c89c0)
115858b40SBarry Smith static const char help[] = "Tests error message when previous error was not fully handled\n";
215858b40SBarry Smith 
315858b40SBarry Smith #include <petscsys.h>
415858b40SBarry Smith 
CreateError(int n)515858b40SBarry Smith PetscErrorCode CreateError(int n)
615858b40SBarry Smith {
715858b40SBarry Smith   PetscCheck(n, PETSC_COMM_SELF, PETSC_ERR_USER, "Error Created");
815858b40SBarry Smith   PetscCall(CreateError(n - 1));
915858b40SBarry Smith   return PETSC_SUCCESS;
1015858b40SBarry Smith }
1115858b40SBarry Smith 
main(int argc,char ** argv)1215858b40SBarry Smith int main(int argc, char **argv)
1315858b40SBarry Smith {
1415858b40SBarry Smith   PetscErrorCode ierr;
1515858b40SBarry Smith 
1615858b40SBarry Smith   PetscFunctionBeginUser;
17c8025a54SPierre Jolivet   PetscCall(PetscInitialize(&argc, &argv, NULL, help));
1815858b40SBarry Smith   PetscCall(PetscFPrintf(PETSC_COMM_WORLD, stdout, "Demonstrates PETSc Error Handlers\n"));
1915858b40SBarry Smith   PetscCall(PetscFPrintf(PETSC_COMM_WORLD, stdout, "The error is a contrived error to test error handling\n"));
2015858b40SBarry Smith   PetscCall(PetscSynchronizedFlush(PETSC_COMM_WORLD, PETSC_STDOUT));
2115858b40SBarry Smith   ierr = CreateError(5);
2215858b40SBarry Smith   (void)ierr; /* this prevents the compiler from warning about unused error return code */
2315858b40SBarry Smith   ierr = CreateError(5);
2415858b40SBarry Smith   (void)ierr;
2515858b40SBarry Smith   PetscCall(CreateError(5));
2615858b40SBarry Smith   PetscCall(PetscFinalize());
2715858b40SBarry Smith   return 0;
2815858b40SBarry Smith }
2915858b40SBarry Smith 
3015858b40SBarry Smith /*TEST
3115858b40SBarry Smith 
3215858b40SBarry Smith    test:
33*0ef292d3SStefano Zampini      requires: !defined(PETSCTEST_VALGRIND) !defined(PETSC_HAVE_SANITIZER)
3415858b40SBarry Smith      args: -petsc_ci_portable_error_output -error_output_stdout
359beb8f72SToby Isaac      filter: grep -E -v "(memory block|leaked context|not freed before MPI_Finalize|Could be the program crashed|PETSc Option Table entries|source: environment)"
3615858b40SBarry Smith 
3715858b40SBarry Smith TEST*/
38