Actual source code: ex23.c
1: static char help[] = "Tests string options with spaces";
3: #include <petscsys.h>
5: int main(int argc, char **argv)
6: {
7: PetscBool ts_view = PETSC_FALSE;
8: PetscInt ts_max_steps = 0, snes_max_it = 0;
9: PetscReal ts_max_time = 0.;
10: PetscBool foo_view = PETSC_FALSE;
11: PetscInt foo_max_steps = 0, bar_max_it = 0;
12: PetscReal foo_max_time = 0.;
14: PetscFunctionBeginUser;
15: PetscCall(PetscInitialize(&argc, &argv, NULL, help));
16: PetscCall(PetscOptionsGetBool(NULL, 0, "-ts_view", &ts_view, NULL));
17: PetscCall(PetscOptionsGetReal(NULL, 0, "-ts_max_time", &ts_max_time, NULL));
18: PetscCall(PetscOptionsGetInt(NULL, 0, "-ts_max_steps", &ts_max_steps, NULL));
19: PetscCall(PetscOptionsGetBool(NULL, 0, "-foo_view", &foo_view, NULL));
20: PetscCall(PetscOptionsGetReal(NULL, 0, "-foo_max_time", &foo_max_time, NULL));
21: PetscCall(PetscOptionsGetInt(NULL, 0, "-foo_max_steps", &foo_max_steps, NULL));
22: PetscCall(PetscOptionsGetInt(NULL, 0, "-snes_max_it", &snes_max_it, NULL));
23: PetscCall(PetscOptionsGetInt(NULL, 0, "-bar_max_it", &bar_max_it, NULL));
24: PetscCall(PetscPrintf(PETSC_COMM_WORLD, "-ts_view = %s\n-ts_max_time = %f\n-ts_max_steps = %" PetscInt_FMT "\n-snes_max_it = %" PetscInt_FMT "\n", ts_view ? "true" : "false", (double)ts_max_time, ts_max_steps, snes_max_it));
25: PetscCall(PetscFinalize());
26: return 0;
27: }
29: /*TEST
31: test:
32: args: -options_file_yaml ex23options
33: localrunfiles: ex23options
35: test:
36: suffix: string
37: args: -options_string_yaml "
38: foo: &foo
39: view: true
40: max: &foomax
41: steps: 3
42: time: 1.4
43: bar: &bar
44: max_it: 5
45: ts:
46: <<: *foo
47: max:
48: <<: *foomax
49: steps: 10
50: snes: *bar"
52: TEST*/