Actual source code: ex5.c


  2: static char help[] = "Tests retrieving unused PETSc options.\n\n";

  4: #include <petscsys.h>

  6: int main(int argc,char **argv)
  7: {
  8:   PetscInt       i,N,M;
  9:   char           **names,**values;
 10:   PetscBool      set;

 12:   PetscInitialize(&argc,&argv,(char*)0,help);

 14:   PetscOptionsGetInt(NULL,NULL,"-get_an_integer",&M,&set);
 15:   if (set) PetscPrintf(PETSC_COMM_WORLD,"Option used: name:-get_an_integer value: %" PetscInt_FMT "\n",M);
 16:   PetscOptionsLeftGet(NULL,&N,&names,&values);
 17:   for (i=0; i<N; i++) {
 18:     if (values[i]) {
 19:       PetscPrintf(PETSC_COMM_WORLD,"Option left: name:-%s value: %s\n",names[i],values[i]);
 20:     } else {
 21:       PetscPrintf(PETSC_COMM_WORLD,"Option left: name:-%s (no value)\n",names[i]);
 22:     }
 23:   }
 24:   PetscOptionsLeftRestore(NULL,&N,&names,&values);

 26:   PetscFinalize();
 27:   return 0;
 28: }

 30: /*TEST

 32:    test:
 33:       suffix: debug
 34:       requires: defined(PETSC_USE_DEBUG)
 35:       args: -unused_petsc_option_1 -unused_petsc_option_2 -get_an_integer 10 -options_left no
 36:       filter: egrep -v \(malloc_dump\|options_left\|nox\|vecscatter_mpi1\|saws_port_auto_select\|saws_port_auto_select_silent\)

 38:    test:
 39:       suffix: opt
 40:       requires: !defined(PETSC_USE_DEBUG)
 41:       args: -checkstack -unused_petsc_option_1 -unused_petsc_option_2 -get_an_integer 10 -options_left no
 42:       filter: egrep -v \(malloc_dump\|options_left\|nox\|vecscatter_mpi1\|saws_port_auto_select\|saws_port_auto_select_silent\)

 44:  TEST*/