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 31 /*TEST 32 33 test: 34 args: -options_file_yaml ex23options 35 localrunfiles: ex23options 36 37 test: 38 suffix: string 39 args: -options_string_yaml " 40 foo: &foo 41 view: true 42 max: &foomax 43 steps: 3 44 time: 1.4 45 bar: &bar 46 max_it: 5 47 ts: 48 <<: *foo 49 max: 50 <<: *foomax 51 steps: 10 52 snes: *bar" 53 54 TEST*/ 55