xref: /petsc/src/sys/tests/ex47.c (revision b122ec5aa1bd4469eb4e0673542fb7de3f411254)
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   char      filename[PETSC_MAX_PATH_LEN];
9c4762a1bSJed Brown   PetscBool flg;
10c4762a1bSJed Brown 
11*b122ec5aSJacob Faibussowitsch   CHKERRQ(PetscInitialize(&argc,&argv,NULL,help));
125c23ca1cSLisandro Dalcin 
13*b122ec5aSJacob Faibussowitsch   CHKERRQ(PetscOptionsGetString(NULL,NULL,"-f",filename,sizeof(filename),&flg));
14*b122ec5aSJacob Faibussowitsch   if (flg) CHKERRQ(PetscOptionsInsertFileYAML(PETSC_COMM_WORLD,NULL,filename,PETSC_TRUE));
155c23ca1cSLisandro Dalcin 
16*b122ec5aSJacob Faibussowitsch   CHKERRQ(PetscOptionsGetString(NULL,NULL,"-yaml",filename,sizeof(filename),&flg));
175c23ca1cSLisandro Dalcin   if (flg) {
185c23ca1cSLisandro Dalcin     PetscBool monitor = PETSC_FALSE;
19*b122ec5aSJacob Faibussowitsch 
205f80ce2aSJacob Faibussowitsch     CHKERRQ(PetscOptionsGetBool(NULL,NULL,"-monitor",&monitor,NULL));
21*b122ec5aSJacob Faibussowitsch     if (monitor) CHKERRQ(PetscOptionsMonitorSet(PetscOptionsMonitorDefault,NULL,NULL));
225f80ce2aSJacob Faibussowitsch     CHKERRQ(PetscOptionsClear(NULL));
235f80ce2aSJacob Faibussowitsch     CHKERRQ(PetscOptionsInsertFileYAML(PETSC_COMM_WORLD,NULL,filename,PETSC_TRUE));
245c23ca1cSLisandro Dalcin   }
255c23ca1cSLisandro Dalcin 
265f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscOptionsView(NULL,PETSC_VIEWER_STDOUT_WORLD));
275f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscOptionsClear(NULL));
28*b122ec5aSJacob Faibussowitsch   CHKERRQ(PetscFinalize());
29*b122ec5aSJacob Faibussowitsch   return 0;
30c4762a1bSJed Brown }
31c4762a1bSJed Brown 
32c4762a1bSJed Brown /*TEST
33c4762a1bSJed Brown 
345c23ca1cSLisandro Dalcin    testset:
35951eb098SLisandro Dalcin      args: -options_left false
36362febeeSStefano Zampini      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)"
375c23ca1cSLisandro Dalcin      localrunfiles: petsc.yml
38c4762a1bSJed Brown 
39c4762a1bSJed Brown      test:
40c4762a1bSJed Brown         suffix: 1
41d06005cbSLisandro Dalcin         args: -f petsc.yml
42c4762a1bSJed Brown 
43c4762a1bSJed Brown      test:
44d06005cbSLisandro Dalcin         suffix: 2_file
45d06005cbSLisandro Dalcin         output_file: output/ex47_2.out
46d06005cbSLisandro Dalcin         args: -options_file_yaml petsc.yml
47d06005cbSLisandro Dalcin 
48d06005cbSLisandro Dalcin      test:
49d06005cbSLisandro Dalcin         suffix: 2_string
50d06005cbSLisandro Dalcin         output_file: output/ex47_2.out
51d06005cbSLisandro Dalcin         args: -options_string_yaml "`cat petsc.yml`"
52d06005cbSLisandro Dalcin 
53d06005cbSLisandro Dalcin      test:
54a1d2f846SLisandro Dalcin         suffix: 2_auto
55a1d2f846SLisandro Dalcin         args: -options_monitor
56a1d2f846SLisandro Dalcin         args: -options_file ex47-yaml_tag
57a1d2f846SLisandro Dalcin         args: -options_file ex47-yaml_doc
58a1d2f846SLisandro Dalcin         localrunfiles: ex47-yaml_tag ex47-yaml_doc
59a1d2f846SLisandro Dalcin 
60a1d2f846SLisandro Dalcin      test:
61d06005cbSLisandro Dalcin         suffix: 2_prefix
62d06005cbSLisandro Dalcin         args: -options_monitor
63d06005cbSLisandro Dalcin         args: -options_file ex47-opt.txt
64be10d61cSLisandro Dalcin         args: -prefix_push p5_ -options_file ex47-opt.yml -prefix_pop
65be10d61cSLisandro Dalcin         args: -prefix_push p5_ -options_file ex47-opt.yml:yaml -prefix_pop
66d06005cbSLisandro Dalcin         args: -prefix_push p6_ -options_file_yaml ex47-opt.yml -prefix_pop
67d06005cbSLisandro Dalcin         args: -prefix_push p7_ -options_string_yaml "`cat ex47-opt.yml`" -prefix_pop
68d06005cbSLisandro Dalcin         args: -prefix_push p7_ -options_string_yaml "`cat ex47-opt.yml`" -prefix_pop
69d06005cbSLisandro Dalcin         args: -prefix_push p8_ -options_string_yaml "`cat ex47-opt.yml`" -prefix_pop
70a1d2f846SLisandro Dalcin         args: -prefix_push p9_ -options_file ex47-opt.json -prefix_pop
71a1d2f846SLisandro Dalcin         localrunfiles: ex47-opt.txt ex47-opt.yml ex47-opt.json
725c23ca1cSLisandro Dalcin 
735c23ca1cSLisandro Dalcin    testset:
745c23ca1cSLisandro Dalcin      nsize: {{1 2}}
755c23ca1cSLisandro Dalcin 
765c23ca1cSLisandro Dalcin      test:
775c23ca1cSLisandro Dalcin         suffix: 3_empty
785c23ca1cSLisandro Dalcin         args: -yaml ex47-empty.yaml
795c23ca1cSLisandro Dalcin         localrunfiles: ex47-empty.yaml
805c23ca1cSLisandro Dalcin 
815c23ca1cSLisandro Dalcin      test:
825c23ca1cSLisandro Dalcin         suffix: 3_merge
835c23ca1cSLisandro Dalcin         args: -yaml ex47-merge.yaml -monitor
845c23ca1cSLisandro Dalcin         localrunfiles: ex47-merge.yaml
855c23ca1cSLisandro Dalcin 
865c23ca1cSLisandro Dalcin      test:
875c23ca1cSLisandro Dalcin         suffix: 3_options
885c23ca1cSLisandro Dalcin         args: -yaml ex47-options.yaml
895c23ca1cSLisandro Dalcin         localrunfiles: ex47-options.yaml
905c23ca1cSLisandro Dalcin 
915c23ca1cSLisandro Dalcin      test:
925c23ca1cSLisandro Dalcin         suffix: 3_include
935c23ca1cSLisandro Dalcin         args: -yaml ex47-include.yaml
945c23ca1cSLisandro Dalcin         localrunfiles: ex47-include.yaml ex47-empty.yaml ex47-options.yaml
955c23ca1cSLisandro Dalcin 
960379105fSLisandro Dalcin      test:
970379105fSLisandro Dalcin         suffix: 3_prefix
980379105fSLisandro Dalcin         args: -yaml ex47-prefix.yaml
990379105fSLisandro Dalcin         localrunfiles: ex47-prefix.yaml
100c4762a1bSJed Brown 
1012b8ac955SLisandro Dalcin      test:
1022b8ac955SLisandro Dalcin         suffix: 3_multidoc
1032b8ac955SLisandro Dalcin         args: -yaml ex47-multidoc.yaml
1042b8ac955SLisandro Dalcin         localrunfiles: ex47-multidoc.yaml
1052b8ac955SLisandro Dalcin 
106c4762a1bSJed Brown TEST*/
107