xref: /petsc/src/sys/classes/viewer/tests/ex4.c (revision c4762a1b19cd2af06abeed90e8f9d34fb975dd94)
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 
32 /*TEST
33 
34    test:
35       args: -myviewer ascii:ex4w1.tmp
36       filter: cat ex4w1.tmp
37       output_file: output/ex4w.out
38 
39    test:
40       suffix: 2
41       args: -myviewer ascii:ex4w2.tmp::
42       filter: cat ex4w2.tmp
43       output_file: output/ex4w.out
44 
45    test:
46       suffix: 3
47       args: -myviewer ascii:ex4w3.tmp::write
48       filter: cat ex4w3.tmp
49       output_file: output/ex4w.out
50 
51    test:
52       suffix: 4
53       args: -myviewer ascii:ex4a1.tmp::append
54       filter: cat ex4a1.tmp
55       output_file: output/ex4a.out
56 
57 TEST*/
58