xref: /petsc/src/sys/classes/viewer/tests/ex4.c (revision 4e278199b78715991f5c71ebbd945c1489263e6c)
1 
2 static char help[] = "Tests PetscOptionsGetViewer() via checking output of PetscViewerASCIIPrintf().\n\n";
3 
4 #include <petscviewer.h>
5 
6 int main(int argc,char **args)
7 {
8   PetscViewer       viewer;
9   PetscErrorCode    ierr;
10   PetscViewerFormat format;
11   PetscBool         iascii;
12 
13   ierr = PetscInitialize(&argc,&args,(char*)0,help);if (ierr) return ierr;
14   ierr = PetscOptionsGetViewer(PETSC_COMM_WORLD,NULL,NULL,"-myviewer",&viewer,&format,NULL);CHKERRQ(ierr);
15   ierr = PetscObjectTypeCompare((PetscObject)viewer,PETSCVIEWERASCII,&iascii);CHKERRQ(ierr);
16   if (iascii) {
17     ierr = PetscViewerPushFormat(viewer,format);CHKERRQ(ierr);
18     ierr = PetscViewerASCIIPrintf(viewer,"Testing PetscViewerASCIIPrintf %d\n", 0);CHKERRQ(ierr);
19     ierr = PetscViewerPopFormat(viewer);CHKERRQ(ierr);
20     ierr = PetscViewerDestroy(&viewer);CHKERRQ(ierr);
21     ierr = PetscOptionsGetViewer(PETSC_COMM_WORLD,NULL,NULL,"-myviewer",&viewer,&format,NULL);CHKERRQ(ierr);
22     ierr = PetscViewerPushFormat(viewer,format);CHKERRQ(ierr);
23     ierr = PetscViewerASCIIPrintf(viewer,"Testing PetscViewerASCIIPrintf %d\n", 1);CHKERRQ(ierr);
24     ierr = PetscViewerPopFormat(viewer);CHKERRQ(ierr);
25   }
26   ierr = PetscViewerDestroy(&viewer);CHKERRQ(ierr);
27   ierr = PetscFinalize();
28   return ierr;
29 }
30 
31 /*TEST
32 
33    test:
34       args: -myviewer ascii:ex4w1.tmp
35       filter: cat ex4w1.tmp
36       output_file: output/ex4w.out
37 
38    test:
39       suffix: 2
40       args: -myviewer ascii:ex4w2.tmp::
41       filter: cat ex4w2.tmp
42       output_file: output/ex4w.out
43 
44    test:
45       suffix: 3
46       args: -myviewer ascii:ex4w3.tmp::write
47       filter: cat ex4w3.tmp
48       output_file: output/ex4w.out
49 
50    test:
51       suffix: 4
52       args: -myviewer ascii:ex4a1.tmp::append
53       filter: cat ex4a1.tmp
54       output_file: output/ex4a.out
55 
56 TEST*/
57