xref: /petsc/src/sys/tests/ex80.c (revision 2ff79c18c26c94ed8cb599682f680f231dca6444)
1 static char help[] = "Tests PetscLogView() called from different places.\n\n";
2 
3 #include <petscsys.h>
4 #include <petscvec.h>
5 
6 int main(int argc, char **args)
7 {
8   Vec         vec;
9   PetscViewer viewer[2];
10   PetscBool   flg = PETSC_FALSE;
11 
12   PetscFunctionBegin;
13   PetscCall(PetscInitialize(&argc, &args, NULL, help));
14   PetscCall(PetscLogDefaultBegin());
15   PetscCall(PetscViewerCreate(PETSC_COMM_SELF, viewer));
16   PetscCall(PetscViewerCreate(PETSC_COMM_SELF, viewer + 1));
17   PetscCall(PetscViewerDestroy(viewer + 1));
18   PetscCall(PetscViewerSetType(viewer[0], PETSCVIEWERASCII));
19   PetscCall(PetscOptionsGetBool(NULL, NULL, "-with_vec", &flg, NULL));
20   if (flg) {
21     PetscCall(VecCreate(PETSC_COMM_SELF, &vec));
22     PetscCall(VecDestroy(&vec));
23   }
24   flg = PETSC_FALSE;
25   PetscCall(PetscOptionsGetBool(NULL, NULL, "-with_options", &flg, NULL));
26   if (!flg) {
27     PetscCall(PetscLogView(viewer[0]));
28     PetscCall(PetscLogView(viewer[0]));
29     PetscCall(PetscLogView(viewer[0]));
30   } else {
31     PetscCall(PetscLogViewFromOptions());
32     PetscCall(PetscLogViewFromOptions());
33     PetscCall(PetscLogViewFromOptions());
34   }
35   PetscCall(PetscViewerDestroy(viewer));
36   PetscCall(PetscFinalize());
37   return 0;
38 }
39 
40 /*TEST
41 
42   testset:
43     requires: defined(PETSC_USE_LOG)
44     nsize: 1
45     temporaries: default.log flamegraph.log
46     filter: grep Viewer | uniq
47     test:
48       args: -log_view ascii,:flamegraph.log:ascii_flamegraph,:default.log -with_vec {{false true}shared output}
49   # test:
50   #   TODO: broken (wrong count when PetscLogViewFromOptions() is called by the user)
51   #   args: -log_view ascii,:flamegraph.log:ascii_flamegraph,:default.log -with_vec {{false true}shared output} -with_options
52 
53  TEST*/
54