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 <string.h> 6 7 int main(int argc, char **argv) { 8 Ceed ceed; 9 10 CeedInit(argv[1], &ceed); 11 12 // Check for standard message with default handler 13 const char *err_msg = NULL; 14 CeedGetErrorMessage(ceed, &err_msg); 15 if (strcmp(err_msg, "No error message stored")) 16 // LCOV_EXCL_START 17 printf("Unexpected error message received: \"%s\"\n", err_msg); 18 // LCOV_EXCL_STOP 19 20 // Set error handler to store error message 21 CeedSetErrorHandler(ceed, CeedErrorStore); 22 23 // Generate error 24 CeedVector vec; 25 CeedScalar *array; 26 CeedVectorCreate(ceed, 10, &vec); 27 CeedVectorGetArray(vec, CEED_MEM_HOST, &array); 28 CeedVectorGetArray(vec, CEED_MEM_HOST, &array); 29 30 // Check error message 31 CeedGetErrorMessage(ceed, &err_msg); 32 if (!err_msg || !strcmp(err_msg, "No error message stored")) 33 // LCOV_EXCL_START 34 printf("Unexpected error message received: \"%s\"\n", err_msg); 35 // LCOV_EXCL_STOP 36 CeedResetErrorMessage(ceed, &err_msg); 37 38 // Check error message reset 39 CeedGetErrorMessage(ceed, &err_msg); 40 if (strcmp(err_msg, "No error message stored")) 41 // LCOV_EXCL_START 42 printf("Unexpected error message received: \"%s\"\n", err_msg); 43 // LCOV_EXCL_STOP 44 45 // Cleanup 46 CeedVectorRestoreArray(vec, &array); 47 CeedVectorDestroy(&vec); 48 CeedDestroy(&ceed); 49 return 0; 50 } 51