xref: /petsc/src/sys/tests/ex47.c (revision 362febeeeb69b91ebadcb4b2dc0a22cb6dfc4097)
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 
125c23ca1cSLisandro Dalcin   ierr = PetscInitialize(&argc,&argv,NULL,help);if (ierr) return ierr;
135c23ca1cSLisandro Dalcin 
14c4762a1bSJed Brown   ierr = PetscOptionsGetString(NULL,NULL,"-f",filename,sizeof(filename),&flg);
15c4762a1bSJed Brown   if (flg) {
165c23ca1cSLisandro Dalcin     ierr = PetscOptionsInsertFileYAML(PETSC_COMM_WORLD,NULL,filename,PETSC_TRUE);CHKERRQ(ierr);
17c4762a1bSJed Brown   }
185c23ca1cSLisandro Dalcin 
195c23ca1cSLisandro Dalcin   ierr = PetscOptionsGetString(NULL,NULL,"-yaml",filename,sizeof(filename),&flg);
205c23ca1cSLisandro Dalcin   if (flg) {
215c23ca1cSLisandro Dalcin     PetscBool monitor = PETSC_FALSE;
225c23ca1cSLisandro Dalcin     ierr = PetscOptionsGetBool(NULL,NULL,"-monitor",&monitor,NULL);CHKERRQ(ierr);
235c23ca1cSLisandro Dalcin     if (monitor) {
245c23ca1cSLisandro Dalcin       ierr = PetscOptionsMonitorSet(PetscOptionsMonitorDefault,NULL,NULL);CHKERRQ(ierr);
255c23ca1cSLisandro Dalcin     }
265c23ca1cSLisandro Dalcin     ierr = PetscOptionsClear(NULL);CHKERRQ(ierr);
275c23ca1cSLisandro Dalcin     ierr = PetscOptionsInsertFileYAML(PETSC_COMM_WORLD,NULL,filename,PETSC_TRUE);CHKERRQ(ierr);
285c23ca1cSLisandro Dalcin   }
295c23ca1cSLisandro Dalcin 
30c4762a1bSJed Brown   ierr = PetscOptionsView(NULL,PETSC_VIEWER_STDOUT_WORLD);CHKERRQ(ierr);
315c23ca1cSLisandro Dalcin   ierr = PetscOptionsClear(NULL);CHKERRQ(ierr);
32c4762a1bSJed Brown   ierr = PetscFinalize();
33c4762a1bSJed Brown   return ierr;
34c4762a1bSJed Brown }
35c4762a1bSJed Brown 
36c4762a1bSJed Brown /*TEST
37c4762a1bSJed Brown 
385c23ca1cSLisandro Dalcin    testset:
39951eb098SLisandro Dalcin      args: -options_left false
40*362febeeSStefano 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)"
415c23ca1cSLisandro Dalcin      localrunfiles: petsc.yml
42c4762a1bSJed Brown 
43c4762a1bSJed Brown      test:
44c4762a1bSJed Brown         suffix: 1
45d06005cbSLisandro Dalcin         args: -f petsc.yml
46c4762a1bSJed Brown 
47c4762a1bSJed Brown      test:
48d06005cbSLisandro Dalcin         suffix: 2_file
49d06005cbSLisandro Dalcin         output_file: output/ex47_2.out
50d06005cbSLisandro Dalcin         args: -options_file_yaml petsc.yml
51d06005cbSLisandro Dalcin 
52d06005cbSLisandro Dalcin      test:
53d06005cbSLisandro Dalcin         suffix: 2_string
54d06005cbSLisandro Dalcin         output_file: output/ex47_2.out
55d06005cbSLisandro Dalcin         args: -options_string_yaml "`cat petsc.yml`"
56d06005cbSLisandro Dalcin 
57d06005cbSLisandro Dalcin      test:
58a1d2f846SLisandro Dalcin         suffix: 2_auto
59a1d2f846SLisandro Dalcin         args: -options_monitor
60a1d2f846SLisandro Dalcin         args: -options_file ex47-yaml_tag
61a1d2f846SLisandro Dalcin         args: -options_file ex47-yaml_doc
62a1d2f846SLisandro Dalcin         localrunfiles: ex47-yaml_tag ex47-yaml_doc
63a1d2f846SLisandro Dalcin 
64a1d2f846SLisandro Dalcin      test:
65d06005cbSLisandro Dalcin         suffix: 2_prefix
66d06005cbSLisandro Dalcin         args: -options_monitor
67d06005cbSLisandro Dalcin         args: -options_file ex47-opt.txt
68be10d61cSLisandro Dalcin         args: -prefix_push p5_ -options_file ex47-opt.yml -prefix_pop
69be10d61cSLisandro Dalcin         args: -prefix_push p5_ -options_file ex47-opt.yml:yaml -prefix_pop
70d06005cbSLisandro Dalcin         args: -prefix_push p6_ -options_file_yaml ex47-opt.yml -prefix_pop
71d06005cbSLisandro Dalcin         args: -prefix_push p7_ -options_string_yaml "`cat ex47-opt.yml`" -prefix_pop
72d06005cbSLisandro Dalcin         args: -prefix_push p7_ -options_string_yaml "`cat ex47-opt.yml`" -prefix_pop
73d06005cbSLisandro Dalcin         args: -prefix_push p8_ -options_string_yaml "`cat ex47-opt.yml`" -prefix_pop
74a1d2f846SLisandro Dalcin         args: -prefix_push p9_ -options_file ex47-opt.json -prefix_pop
75a1d2f846SLisandro Dalcin         localrunfiles: ex47-opt.txt ex47-opt.yml ex47-opt.json
765c23ca1cSLisandro Dalcin 
775c23ca1cSLisandro Dalcin    testset:
785c23ca1cSLisandro Dalcin      nsize: {{1 2}}
795c23ca1cSLisandro Dalcin 
805c23ca1cSLisandro Dalcin      test:
815c23ca1cSLisandro Dalcin         suffix: 3_empty
825c23ca1cSLisandro Dalcin         args: -yaml ex47-empty.yaml
835c23ca1cSLisandro Dalcin         localrunfiles: ex47-empty.yaml
845c23ca1cSLisandro Dalcin 
855c23ca1cSLisandro Dalcin      test:
865c23ca1cSLisandro Dalcin         suffix: 3_merge
875c23ca1cSLisandro Dalcin         args: -yaml ex47-merge.yaml -monitor
885c23ca1cSLisandro Dalcin         localrunfiles: ex47-merge.yaml
895c23ca1cSLisandro Dalcin 
905c23ca1cSLisandro Dalcin      test:
915c23ca1cSLisandro Dalcin         suffix: 3_options
925c23ca1cSLisandro Dalcin         args: -yaml ex47-options.yaml
935c23ca1cSLisandro Dalcin         localrunfiles: ex47-options.yaml
945c23ca1cSLisandro Dalcin 
955c23ca1cSLisandro Dalcin      test:
965c23ca1cSLisandro Dalcin         suffix: 3_include
975c23ca1cSLisandro Dalcin         args: -yaml ex47-include.yaml
985c23ca1cSLisandro Dalcin         localrunfiles: ex47-include.yaml ex47-empty.yaml ex47-options.yaml
995c23ca1cSLisandro Dalcin 
1000379105fSLisandro Dalcin      test:
1010379105fSLisandro Dalcin         suffix: 3_prefix
1020379105fSLisandro Dalcin         args: -yaml ex47-prefix.yaml
1030379105fSLisandro Dalcin         localrunfiles: ex47-prefix.yaml
104c4762a1bSJed Brown 
1052b8ac955SLisandro Dalcin      test:
1062b8ac955SLisandro Dalcin         suffix: 3_multidoc
1072b8ac955SLisandro Dalcin         args: -yaml ex47-multidoc.yaml
1082b8ac955SLisandro Dalcin         localrunfiles: ex47-multidoc.yaml
1092b8ac955SLisandro Dalcin 
110c4762a1bSJed Brown TEST*/
111