xref: /petsc/src/sys/tests/ex23.c (revision 030f984af8d8bb4c203755d35bded3c05b3d83ce)
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   PetscErrorCode ierr;
9   PetscBool      ts_view       = PETSC_FALSE;
10   PetscInt       ts_max_steps  = 0, snes_max_it = 0;
11   PetscReal      ts_max_time = 0.;
12   PetscBool      foo_view       = PETSC_FALSE;
13   PetscInt       foo_max_steps  = 0, bar_max_it = 0;
14   PetscReal      foo_max_time = 0.;
15 
16   ierr = PetscInitialize(&argc,&argv,NULL,help);if (ierr) return ierr;
17   ierr = PetscOptionsGetBool(NULL,0,"-ts_view",&ts_view,NULL);CHKERRQ(ierr);
18   ierr = PetscOptionsGetReal(NULL,0,"-ts_max_time",&ts_max_time,NULL);CHKERRQ(ierr);
19   ierr = PetscOptionsGetInt(NULL,0,"-ts_max_steps",&ts_max_steps,NULL);CHKERRQ(ierr);
20   ierr = PetscOptionsGetBool(NULL,0,"-foo_view",&foo_view,NULL);CHKERRQ(ierr);
21   ierr = PetscOptionsGetReal(NULL,0,"-foo_max_time",&foo_max_time,NULL);CHKERRQ(ierr);
22   ierr = PetscOptionsGetInt(NULL,0,"-foo_max_steps",&foo_max_steps,NULL);CHKERRQ(ierr);
23   ierr = PetscOptionsGetInt(NULL,0,"-snes_max_it",&snes_max_it,NULL);CHKERRQ(ierr);
24   ierr = PetscOptionsGetInt(NULL,0,"-bar_max_it",&bar_max_it,NULL);CHKERRQ(ierr);
25   ierr = PetscPrintf(PETSC_COMM_WORLD,"-ts_view = %s\n-ts_max_time = %f\n-ts_max_steps = %D\n-snes_max_it = %D\n",ts_view ? "true" : "false",(double)ts_max_time,ts_max_steps,snes_max_it);CHKERRQ(ierr);
26   ierr = PetscFinalize();
27   return ierr;
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