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