Actual source code: ex7.c
1: const char help[] = "Test PetscOptionsCreateViewers()";
3: #include <petscviewer.h>
5: #define N_MAX 5
7: int main(int argc, char **argv)
8: {
9: PetscInt n_max = N_MAX;
10: PetscViewer viewers[N_MAX];
11: PetscViewerFormat formats[N_MAX];
13: PetscCall(PetscInitialize(&argc, &argv, NULL, help));
14: PetscCall(PetscOptionsCreateViewers(PETSC_COMM_WORLD, NULL, NULL, "-test_view", &n_max, viewers, formats, NULL));
15: for (PetscInt i = 0; i < n_max; i++) {
16: PetscCall(PetscViewerPushFormat(viewers[i], formats[i]));
17: PetscCall(PetscViewerASCIIPrintf(viewers[i], "This is viewer %d\n", (int)i));
18: PetscCall(PetscViewerPopFormat(viewers[i]));
19: PetscCall(PetscViewerDestroy(&viewers[i]));
20: }
21: PetscCall(PetscFinalize());
22: return 0;
23: }
25: /*TEST
27: test:
28: suffix: 0
29: args: -test_view ascii:viewer0.txt,ascii:viewer1.txt
30: filter: cat viewer0.txt viewer1.txt
32: test:
33: suffix: 1
34: args: -test_view ,,,ascii:viewer3.txt,
36: test:
37: suffix: 2
38: args: -test_view ,,,ascii:viewer3.txt,
39: filter: cat viewer3.txt
41: TEST*/