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 = %i\n-snes_max_it = %i\n",ts_view ? "true" : "false",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 requires: yaml 35 args: -options_file_yaml ex23options 36 localrunfiles: ex23options 37 38 test: 39 suffix: string 40 requires: yaml 41 args: -options_string_yaml " 42 foo: &foo 43 view: true 44 max: &foomax 45 steps: 3 46 time: 1.4 47 bar: &bar 48 max_it: 5 49 ts: 50 <<: *foo 51 max: 52 <<: *foomax 53 steps: 10 54 snes: *bar" 55 56 TEST*/ 57