1 2 static char help[] = "Tests string options with spaces"; 3 4 #include <petscsys.h> 5 6 int main(int argc,char **argv) 7 { 8 PetscErrorCode ierr; 9 PetscBool ts_view = PETSC_FALSE; 10 PetscInt ts_max_steps = 0, snes_max_it = 0; 11 PetscReal ts_max_time = 0.; 12 PetscBool foo_view = PETSC_FALSE; 13 PetscInt foo_max_steps = 0, bar_max_it = 0; 14 PetscReal foo_max_time = 0.; 15 16 ierr = PetscInitialize(&argc,&argv,NULL,help);if (ierr) return ierr; 17 ierr = PetscOptionsGetBool(NULL,0,"-ts_view",&ts_view,NULL);CHKERRQ(ierr); 18 ierr = PetscOptionsGetReal(NULL,0,"-ts_max_time",&ts_max_time,NULL);CHKERRQ(ierr); 19 ierr = PetscOptionsGetInt(NULL,0,"-ts_max_steps",&ts_max_steps,NULL);CHKERRQ(ierr); 20 ierr = PetscOptionsGetBool(NULL,0,"-foo_view",&foo_view,NULL);CHKERRQ(ierr); 21 ierr = PetscOptionsGetReal(NULL,0,"-foo_max_time",&foo_max_time,NULL);CHKERRQ(ierr); 22 ierr = PetscOptionsGetInt(NULL,0,"-foo_max_steps",&foo_max_steps,NULL);CHKERRQ(ierr); 23 ierr = PetscOptionsGetInt(NULL,0,"-snes_max_it",&snes_max_it,NULL);CHKERRQ(ierr); 24 ierr = PetscOptionsGetInt(NULL,0,"-bar_max_it",&bar_max_it,NULL);CHKERRQ(ierr); 25 ierr = PetscPrintf(PETSC_COMM_WORLD,"-ts_view = %s\n-ts_max_time = %f\n-ts_max_steps = %D\n-snes_max_it = %D\n",ts_view ? "true" : "false",(double)ts_max_time,ts_max_steps,snes_max_it);CHKERRQ(ierr); 26 ierr = PetscFinalize(); 27 return ierr; 28 } 29 30 /*TEST 31 32 test: 33 args: -options_file_yaml ex23options 34 localrunfiles: ex23options 35 36 test: 37 suffix: string 38 args: -options_string_yaml " 39 foo: &foo 40 view: true 41 max: &foomax 42 steps: 3 43 time: 1.4 44 bar: &bar 45 max_it: 5 46 ts: 47 <<: *foo 48 max: 49 <<: *foomax 50 steps: 10 51 snes: *bar" 52 53 TEST*/ 54