xref: /petsc/src/sys/tests/ex47.c (revision 48a67072e60b4de3fc5efdd3cb71deb38c5d63b1)
1 static char help[] = "Example for PetscOptionsInsertFileYAML\n";
2 
3 #include <petscsys.h>
4 #include <petscviewer.h>
5 
6 int main(int argc,char **argv)
7 {
8   PetscErrorCode  ierr;
9   char            filename[PETSC_MAX_PATH_LEN];
10   PetscBool       flg;
11 
12   ierr = PetscInitialize(&argc,&argv,NULL,help);if (ierr) return ierr;
13 
14   ierr = PetscOptionsGetString(NULL,NULL,"-f",filename,sizeof(filename),&flg);
15   if (flg) {
16     ierr = PetscOptionsInsertFileYAML(PETSC_COMM_WORLD,NULL,filename,PETSC_TRUE);CHKERRQ(ierr);
17   }
18 
19   ierr = PetscOptionsGetString(NULL,NULL,"-yaml",filename,sizeof(filename),&flg);
20   if (flg) {
21     PetscBool monitor = PETSC_FALSE;
22     ierr = PetscOptionsGetBool(NULL,NULL,"-monitor",&monitor,NULL);CHKERRQ(ierr);
23     if (monitor) {
24       ierr = PetscOptionsMonitorSet(PetscOptionsMonitorDefault,NULL,NULL);CHKERRQ(ierr);
25     }
26     ierr = PetscOptionsClear(NULL);CHKERRQ(ierr);
27     ierr = PetscOptionsInsertFileYAML(PETSC_COMM_WORLD,NULL,filename,PETSC_TRUE);CHKERRQ(ierr);
28   }
29 
30   ierr = PetscOptionsView(NULL,PETSC_VIEWER_STDOUT_WORLD);CHKERRQ(ierr);
31   ierr = PetscOptionsClear(NULL);CHKERRQ(ierr);
32   ierr = PetscFinalize();
33   return ierr;
34 }
35 
36 
37 
38 /*TEST
39 
40    testset:
41      requires: yaml
42      filter:  egrep -v "(malloc_dump|malloc_test|saws_port_auto_select|display|check_pointer_intensity|error_output_stdout|nox)"
43      localrunfiles: petsc.yml
44 
45      test:
46         suffix: 1
47         args: -f petsc.yml -options_left 0
48 
49      test:
50         suffix: 2
51         args: -options_file_yaml petsc.yml -options_left 0
52 
53 
54    testset:
55      nsize: {{1 2}}
56      requires: yaml
57 
58      test:
59         suffix: 3_empty
60         args: -yaml ex47-empty.yaml
61         localrunfiles: ex47-empty.yaml
62 
63      test:
64         suffix: 3_merge
65         args: -yaml ex47-merge.yaml -monitor
66         localrunfiles: ex47-merge.yaml
67 
68      test:
69         suffix: 3_options
70         args: -yaml ex47-options.yaml
71         localrunfiles: ex47-options.yaml
72 
73      test:
74         suffix: 3_include
75         args: -yaml ex47-include.yaml
76         localrunfiles: ex47-include.yaml ex47-empty.yaml ex47-options.yaml
77 
78 
79 TEST*/
80