1 /// @file
2 /// Test error storage for a CEED object
3 /// \test Test error storage for a CEED object
4 #include <ceed.h>
5 #include <stdio.h>
6 #include <string.h>
7
main(int argc,char ** argv)8 int main(int argc, char **argv) {
9 Ceed ceed;
10 CeedVector vec;
11 CeedScalar *array;
12 const char *err_msg = NULL;
13
14 CeedInit(argv[1], &ceed);
15
16 // Check for standard message with default handler
17 CeedGetErrorMessage(ceed, &err_msg);
18 if (strcmp(err_msg, "No error message stored")) printf("Unexpected error message received: \"%s\"\n", err_msg);
19
20 // Set error handler to store error message
21 CeedSetErrorHandler(ceed, CeedErrorStore);
22
23 // Generate error
24 CeedVectorCreate(ceed, 10, &vec);
25 CeedVectorGetArray(vec, CEED_MEM_HOST, &array);
26 CeedVectorGetArray(vec, CEED_MEM_HOST, &array);
27
28 // Check error message
29 CeedGetErrorMessage(ceed, &err_msg);
30 if (!err_msg || !strcmp(err_msg, "No error message stored\n")) printf("Unexpected error message received: \"%s\"\n", err_msg);
31 CeedResetErrorMessage(ceed, &err_msg);
32
33 // Check error message reset
34 CeedGetErrorMessage(ceed, &err_msg);
35 if (strcmp(err_msg, "No error message stored")) printf("Unexpected error message received: \"%s\"\n", err_msg);
36
37 // Cleanup
38 CeedVectorRestoreArray(vec, &array);
39 CeedVectorDestroy(&vec);
40 CeedDestroy(&ceed);
41 return 0;
42 }
43