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: char filename[PETSC_MAX_PATH_LEN];
9: PetscBool flg;
11: PetscInitialize(&argc,&argv,NULL,help);
13: PetscOptionsGetString(NULL,NULL,"-f",filename,sizeof(filename),&flg);
14: if (flg) PetscOptionsInsertFileYAML(PETSC_COMM_WORLD,NULL,filename,PETSC_TRUE);
16: PetscOptionsGetString(NULL,NULL,"-yaml",filename,sizeof(filename),&flg);
17: if (flg) {
18: PetscBool monitor = PETSC_FALSE;
20: PetscOptionsGetBool(NULL,NULL,"-monitor",&monitor,NULL);
21: if (monitor) PetscOptionsMonitorSet(PetscOptionsMonitorDefault,NULL,NULL);
22: PetscOptionsClear(NULL);
23: PetscOptionsInsertFileYAML(PETSC_COMM_WORLD,NULL,filename,PETSC_TRUE);
24: }
26: PetscOptionsView(NULL,PETSC_VIEWER_STDOUT_WORLD);
27: PetscOptionsClear(NULL);
28: PetscFinalize();
29: return 0;
30: }
32: /*TEST
34: testset:
35: args: -options_left false
36: 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)"
37: localrunfiles: petsc.yml
39: test:
40: suffix: 1
41: args: -f petsc.yml
43: test:
44: suffix: 2_file
45: output_file: output/ex47_2.out
46: args: -options_file_yaml petsc.yml
48: test:
49: suffix: 2_string
50: output_file: output/ex47_2.out
51: args: -options_string_yaml "`cat petsc.yml`"
53: test:
54: suffix: 2_auto
55: args: -options_monitor
56: args: -options_file ex47-yaml_tag
57: args: -options_file ex47-yaml_doc
58: localrunfiles: ex47-yaml_tag ex47-yaml_doc
60: test:
61: suffix: 2_prefix
62: args: -options_monitor
63: args: -options_file ex47-opt.txt
64: args: -prefix_push p5_ -options_file ex47-opt.yml -prefix_pop
65: args: -prefix_push p5_ -options_file ex47-opt.yml:yaml -prefix_pop
66: args: -prefix_push p6_ -options_file_yaml ex47-opt.yml -prefix_pop
67: args: -prefix_push p7_ -options_string_yaml "`cat ex47-opt.yml`" -prefix_pop
68: args: -prefix_push p7_ -options_string_yaml "`cat ex47-opt.yml`" -prefix_pop
69: args: -prefix_push p8_ -options_string_yaml "`cat ex47-opt.yml`" -prefix_pop
70: args: -prefix_push p9_ -options_file ex47-opt.json -prefix_pop
71: localrunfiles: ex47-opt.txt ex47-opt.yml ex47-opt.json
73: testset:
74: nsize: {{1 2}}
76: test:
77: suffix: 3_empty
78: args: -yaml ex47-empty.yaml
79: localrunfiles: ex47-empty.yaml
81: test:
82: suffix: 3_merge
83: args: -yaml ex47-merge.yaml -monitor
84: localrunfiles: ex47-merge.yaml
86: test:
87: suffix: 3_options
88: args: -yaml ex47-options.yaml
89: localrunfiles: ex47-options.yaml
91: test:
92: suffix: 3_include
93: args: -yaml ex47-include.yaml
94: localrunfiles: ex47-include.yaml ex47-empty.yaml ex47-options.yaml
96: test:
97: suffix: 3_prefix
98: args: -yaml ex47-prefix.yaml
99: localrunfiles: ex47-prefix.yaml
101: test:
102: suffix: 3_multidoc
103: args: -yaml ex47-multidoc.yaml
104: localrunfiles: ex47-multidoc.yaml
106: TEST*/