1 static char help[] = "Tests string options with spaces";
2
3 #include <petscsys.h>
4
main(int argc,char ** argv)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.;
13
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 }
28
29 /*TEST
30
31 test:
32 args: -options_file_yaml ex23options
33 localrunfiles: ex23options
34
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"
51
52 TEST*/
53