xref: /petsc/src/sys/tests/ex23.c (revision fbf9dbe564678ed6eff1806adbc4c4f01b9743f4)
1 
2 static char help[] = "Tests string options with spaces";
3 
4 #include <petscsys.h>
5 
6 int main(int argc, char **argv)
7 {
8   PetscBool ts_view      = PETSC_FALSE;
9   PetscInt  ts_max_steps = 0, snes_max_it = 0;
10   PetscReal ts_max_time   = 0.;
11   PetscBool foo_view      = PETSC_FALSE;
12   PetscInt  foo_max_steps = 0, bar_max_it = 0;
13   PetscReal foo_max_time = 0.;
14 
15   PetscFunctionBeginUser;
16   PetscCall(PetscInitialize(&argc, &argv, NULL, help));
17   PetscCall(PetscOptionsGetBool(NULL, 0, "-ts_view", &ts_view, NULL));
18   PetscCall(PetscOptionsGetReal(NULL, 0, "-ts_max_time", &ts_max_time, NULL));
19   PetscCall(PetscOptionsGetInt(NULL, 0, "-ts_max_steps", &ts_max_steps, NULL));
20   PetscCall(PetscOptionsGetBool(NULL, 0, "-foo_view", &foo_view, NULL));
21   PetscCall(PetscOptionsGetReal(NULL, 0, "-foo_max_time", &foo_max_time, NULL));
22   PetscCall(PetscOptionsGetInt(NULL, 0, "-foo_max_steps", &foo_max_steps, NULL));
23   PetscCall(PetscOptionsGetInt(NULL, 0, "-snes_max_it", &snes_max_it, NULL));
24   PetscCall(PetscOptionsGetInt(NULL, 0, "-bar_max_it", &bar_max_it, NULL));
25   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));
26   PetscCall(PetscFinalize());
27   return 0;
28 }
29 
30 /*TEST
31 
32    test:
33       args: -options_file_yaml ex23options
34       localrunfiles: ex23options
35 
36    test:
37       suffix: string
38       args: -options_string_yaml "
39         foo: &foo
40           view: true
41           max: &foomax
42             steps: 3
43             time: 1.4
44         bar: &bar
45           max_it: 5
46         ts:
47           <<: *foo
48           max:
49             <<: *foomax
50             steps: 10
51         snes: *bar"
52 
53 TEST*/
54