1 const char help[] = "Test PetscOptionsGetViewers()"; 2 3 #include <petscviewer.h> 4 5 #define N_MAX 5 6 7 int main(int argc, char **argv) 8 { 9 PetscInt n_max = N_MAX; 10 PetscViewer viewers[N_MAX]; 11 PetscViewerFormat formats[N_MAX]; 12 13 PetscCall(PetscInitialize(&argc, &argv, NULL, help)); 14 PetscCall(PetscOptionsGetViewers(PETSC_COMM_WORLD, NULL, NULL, "-test_view", &n_max, viewers, formats, NULL)); 15 for (PetscInt i = 0; i < n_max; i++) { 16 PetscCall(PetscViewerPushFormat(viewers[i], formats[i])); 17 PetscCall(PetscViewerASCIIPrintf(viewers[i], "This is viewer %d\n", (int)i)); 18 PetscCall(PetscViewerPopFormat(viewers[i])); 19 PetscCall(PetscOptionsRestoreViewer(&viewers[i])); 20 } 21 PetscCall(PetscFinalize()); 22 return 0; 23 } 24 25 /*TEST 26 27 test: 28 suffix: 0 29 args: -test_view ascii:viewer0.txt,ascii:viewer1.txt 30 filter: cat viewer0.txt viewer1.txt 31 32 test: 33 suffix: 1 34 args: -test_view ,,,ascii:viewer3.txt, 35 36 test: 37 suffix: 2 38 args: -test_view ,,,ascii:viewer3.txt, 39 filter: cat viewer3.txt 40 41 TEST*/ 42