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 PetscBool ts_view = PETSC_FALSE; 9 PetscInt ts_max_steps = 0, snes_max_it = 0; 10 PetscReal ts_max_time = 0.; 11 PetscBool foo_view = PETSC_FALSE; 12 PetscInt foo_max_steps = 0, bar_max_it = 0; 13 PetscReal foo_max_time = 0.; 14 15 PetscFunctionBeginUser; 16 PetscCall(PetscInitialize(&argc,&argv,NULL,help)); 17 PetscCall(PetscOptionsGetBool(NULL,0,"-ts_view",&ts_view,NULL)); 18 PetscCall(PetscOptionsGetReal(NULL,0,"-ts_max_time",&ts_max_time,NULL)); 19 PetscCall(PetscOptionsGetInt(NULL,0,"-ts_max_steps",&ts_max_steps,NULL)); 20 PetscCall(PetscOptionsGetBool(NULL,0,"-foo_view",&foo_view,NULL)); 21 PetscCall(PetscOptionsGetReal(NULL,0,"-foo_max_time",&foo_max_time,NULL)); 22 PetscCall(PetscOptionsGetInt(NULL,0,"-foo_max_steps",&foo_max_steps,NULL)); 23 PetscCall(PetscOptionsGetInt(NULL,0,"-snes_max_it",&snes_max_it,NULL)); 24 PetscCall(PetscOptionsGetInt(NULL,0,"-bar_max_it",&bar_max_it,NULL)); 25 PetscCall(PetscPrintf(PETSC_COMM_WORLD,"-ts_view = %s\n-ts_max_time = %f\n-ts_max_steps = %" PetscInt_FMT "\n-snes_max_it = %" PetscInt_FMT "\n",ts_view ? "true" : "false",(double)ts_max_time,ts_max_steps,snes_max_it)); 26 PetscCall(PetscFinalize()); 27 return 0; 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