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: }
38: /*TEST
40: testset:
41: args: -options_left false
42: 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)"
43: localrunfiles: petsc.yml
45: test:
46: suffix: 1
47: args: -f petsc.yml
49: test:
50: suffix: 2_file
51: output_file: output/ex47_2.out
52: args: -options_file_yaml petsc.yml
54: test:
55: suffix: 2_string
56: output_file: output/ex47_2.out
57: args: -options_string_yaml "`cat petsc.yml`"
59: test:
60: suffix: 2_auto
61: args: -options_monitor
62: args: -options_file ex47-yaml_tag
63: args: -options_file ex47-yaml_doc
64: localrunfiles: ex47-yaml_tag ex47-yaml_doc
66: test:
67: suffix: 2_prefix
68: args: -options_monitor
69: args: -options_file ex47-opt.txt
70: args: -prefix_push p5_ -options_file ex47-opt.yml -prefix_pop
71: args: -prefix_push p5_ -options_file ex47-opt.yml:yaml -prefix_pop
72: args: -prefix_push p6_ -options_file_yaml ex47-opt.yml -prefix_pop
73: args: -prefix_push p7_ -options_string_yaml "`cat ex47-opt.yml`" -prefix_pop
74: args: -prefix_push p7_ -options_string_yaml "`cat ex47-opt.yml`" -prefix_pop
75: args: -prefix_push p8_ -options_string_yaml "`cat ex47-opt.yml`" -prefix_pop
76: args: -prefix_push p9_ -options_file ex47-opt.json -prefix_pop
77: localrunfiles: ex47-opt.txt ex47-opt.yml ex47-opt.json
80: testset:
81: nsize: {{1 2}}
83: test:
84: suffix: 3_empty
85: args: -yaml ex47-empty.yaml
86: localrunfiles: ex47-empty.yaml
88: test:
89: suffix: 3_merge
90: args: -yaml ex47-merge.yaml -monitor
91: localrunfiles: ex47-merge.yaml
93: test:
94: suffix: 3_options
95: args: -yaml ex47-options.yaml
96: localrunfiles: ex47-options.yaml
98: test:
99: suffix: 3_include
100: args: -yaml ex47-include.yaml
101: localrunfiles: ex47-include.yaml ex47-empty.yaml ex47-options.yaml
103: test:
104: suffix: 3_prefix
105: args: -yaml ex47-prefix.yaml
106: localrunfiles: ex47-prefix.yaml
108: test:
109: suffix: 3_multidoc
110: args: -yaml ex47-multidoc.yaml
111: localrunfiles: ex47-multidoc.yaml
113: TEST*/