1 const char help[] = "Test getting performance info when the default log handler is not running";
2
3 #include <petscsys.h>
4 #include <petscviewer.h>
5
main(int argc,char ** argv)6 int main(int argc, char **argv)
7 {
8 PetscLogEvent event_id;
9 PetscLogStage stage_id;
10 PetscEventPerfInfo stage_info;
11 PetscEventPerfInfo event_info;
12
13 PetscCall(PetscInitialize(&argc, &argv, NULL, help));
14 PetscCall(PetscLogEventRegister("My event", PETSC_VIEWER_CLASSID, &event_id));
15 PetscCall(PetscLogStageRegister("My stage", &stage_id));
16 PetscCall(PetscLogStagePush(stage_id));
17 PetscCall(PetscLogEventBegin(event_id, NULL, NULL, NULL, NULL));
18 PetscCall(PetscSleep(0.1));
19 PetscCall(PetscLogEventEnd(event_id, NULL, NULL, NULL, NULL));
20 PetscCall(PetscLogStagePop());
21 PetscCall(PetscLogEventGetPerfInfo(stage_id, event_id, &event_info));
22 PetscCall(PetscLogStageGetPerfInfo(stage_id, &stage_info));
23 PetscCheck(event_info.time == 0.0, PETSC_COMM_SELF, PETSC_ERR_PLIB, "Stats should be zero");
24 PetscCheck(stage_info.time == 0.0, PETSC_COMM_SELF, PETSC_ERR_PLIB, "Stats should be zero");
25 PetscCall(PetscFinalize());
26 return 0;
27 }
28
29 /*TEST
30
31 test:
32 suffix: 0
33 args: -petsc_ci 0
34 output_file: output/empty.out
35
36 TEST*/
37