Actual source code: ex5.c
1: static char help[] = "Tests retrieving unused PETSc options.\n\n";
3: #include <petscsys.h>
5: int main(int argc, char **argv)
6: {
7: PetscInt i, N, M;
8: char **names, **values;
9: PetscBool set;
11: PetscFunctionBeginUser;
12: PetscCall(PetscInitialize(&argc, &argv, (char *)0, help));
14: PetscCall(PetscOptionsGetInt(NULL, NULL, "-get_an_integer", &M, &set));
15: if (set) PetscCall(PetscPrintf(PETSC_COMM_WORLD, "Option used: name:-get_an_integer value: %" PetscInt_FMT "\n", M));
16: PetscCall(PetscOptionsLeftGet(NULL, &N, &names, &values));
17: for (i = 0; i < N; i++) {
18: if (values[i]) {
19: PetscCall(PetscPrintf(PETSC_COMM_WORLD, "Option left: name:-%s value: %s\n", names[i], values[i]));
20: } else {
21: PetscCall(PetscPrintf(PETSC_COMM_WORLD, "Option left: name:-%s (no value)\n", names[i]));
22: }
23: }
24: PetscCall(PetscOptionsLeftRestore(NULL, &N, &names, &values));
26: PetscCall(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
37: test:
38: suffix: opt
39: requires: !defined(PETSC_USE_DEBUG)
40: args: -unused_petsc_option_1 -unused_petsc_option_2 -get_an_integer 10 -options_left no
42: TEST*/