xref: /petsc/src/sys/classes/viewer/tests/ex4.c (revision 40badf4fbc550ac1f60bd080eaff6de6d55b946d)
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   CHKERRQ(PetscOptionsGetViewer(PETSC_COMM_WORLD,NULL,NULL,"-myviewer",&viewer,&format,NULL));
15   CHKERRQ(PetscObjectTypeCompare((PetscObject)viewer,PETSCVIEWERASCII,&iascii));
16   if (iascii) {
17     CHKERRQ(PetscViewerPushFormat(viewer,format));
18     CHKERRQ(PetscViewerASCIIPrintf(viewer,"Testing PetscViewerASCIIPrintf %d\n", 0));
19     CHKERRQ(PetscViewerPopFormat(viewer));
20     CHKERRQ(PetscViewerDestroy(&viewer));
21     CHKERRQ(PetscOptionsGetViewer(PETSC_COMM_WORLD,NULL,NULL,"-myviewer",&viewer,&format,NULL));
22     CHKERRQ(PetscViewerPushFormat(viewer,format));
23     CHKERRQ(PetscViewerASCIIPrintf(viewer,"Testing PetscViewerASCIIPrintf %d\n", 1));
24     CHKERRQ(PetscViewerPopFormat(viewer));
25   }
26   CHKERRQ(PetscViewerDestroy(&viewer));
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