Actual source code: ex47.c
1: static char help[] = "Example for PetscOptionsInsertFileYAML\n";
3: #include <petscsys.h>
4: #include <petscviewer.h>
6: int main(int argc,char **argv)
7: {
8: PetscErrorCode ierr;
9: char filename[PETSC_MAX_PATH_LEN];
10: PetscBool flg;
12: PetscInitialize(&argc,&argv,NULL,help);if (ierr) return ierr;
14: PetscOptionsGetString(NULL,NULL,"-f",filename,sizeof(filename),&flg);
15: if (flg) {
16: PetscOptionsInsertFileYAML(PETSC_COMM_WORLD,NULL,filename,PETSC_TRUE);
17: }
19: PetscOptionsGetString(NULL,NULL,"-yaml",filename,sizeof(filename),&flg);
20: if (flg) {
21: PetscBool monitor = PETSC_FALSE;
22: PetscOptionsGetBool(NULL,NULL,"-monitor",&monitor,NULL);
23: if (monitor) {
24: PetscOptionsMonitorSet(PetscOptionsMonitorDefault,NULL,NULL);
25: }
26: PetscOptionsClear(NULL);
27: PetscOptionsInsertFileYAML(PETSC_COMM_WORLD,NULL,filename,PETSC_TRUE);
28: }
30: PetscOptionsView(NULL,PETSC_VIEWER_STDOUT_WORLD);
31: PetscOptionsClear(NULL);
32: PetscFinalize();
33: return ierr;
34: }
36: /*TEST
38: testset:
39: args: -options_left false
40: filter: egrep -v "(options_left|options_monitor|malloc_dump|malloc_test|saws_port_auto_select|display|check_pointer_intensity|error_output_stdout|nox|vecscatter_mpi1|use_gpu_aware_mpi|checkstack)"
41: localrunfiles: petsc.yml
43: test:
44: suffix: 1
45: args: -f petsc.yml
47: test:
48: suffix: 2_file
49: output_file: output/ex47_2.out
50: args: -options_file_yaml petsc.yml
52: test:
53: suffix: 2_string
54: output_file: output/ex47_2.out
55: args: -options_string_yaml "`cat petsc.yml`"
57: test:
58: suffix: 2_auto
59: args: -options_monitor
60: args: -options_file ex47-yaml_tag
61: args: -options_file ex47-yaml_doc
62: localrunfiles: ex47-yaml_tag ex47-yaml_doc
64: test:
65: suffix: 2_prefix
66: args: -options_monitor
67: args: -options_file ex47-opt.txt
68: args: -prefix_push p5_ -options_file ex47-opt.yml -prefix_pop
69: args: -prefix_push p5_ -options_file ex47-opt.yml:yaml -prefix_pop
70: args: -prefix_push p6_ -options_file_yaml ex47-opt.yml -prefix_pop
71: args: -prefix_push p7_ -options_string_yaml "`cat ex47-opt.yml`" -prefix_pop
72: args: -prefix_push p7_ -options_string_yaml "`cat ex47-opt.yml`" -prefix_pop
73: args: -prefix_push p8_ -options_string_yaml "`cat ex47-opt.yml`" -prefix_pop
74: args: -prefix_push p9_ -options_file ex47-opt.json -prefix_pop
75: localrunfiles: ex47-opt.txt ex47-opt.yml ex47-opt.json
77: testset:
78: nsize: {{1 2}}
80: test:
81: suffix: 3_empty
82: args: -yaml ex47-empty.yaml
83: localrunfiles: ex47-empty.yaml
85: test:
86: suffix: 3_merge
87: args: -yaml ex47-merge.yaml -monitor
88: localrunfiles: ex47-merge.yaml
90: test:
91: suffix: 3_options
92: args: -yaml ex47-options.yaml
93: localrunfiles: ex47-options.yaml
95: test:
96: suffix: 3_include
97: args: -yaml ex47-include.yaml
98: localrunfiles: ex47-include.yaml ex47-empty.yaml ex47-options.yaml
100: test:
101: suffix: 3_prefix
102: args: -yaml ex47-prefix.yaml
103: localrunfiles: ex47-prefix.yaml
105: test:
106: suffix: 3_multidoc
107: args: -yaml ex47-multidoc.yaml
108: localrunfiles: ex47-multidoc.yaml
110: TEST*/