static void test_wcore_error_with_message(void **state) { wcore_error_reset(); wcore_errorf(WAFFLE_ERROR_BAD_PARAMETER, "bad %s (0x%x)", "gl_api", 0x17); assert_int_equal(wcore_error_get_code(), WAFFLE_ERROR_BAD_PARAMETER); assert_string_equal(wcore_error_get_info()->message, "bad gl_api (0x17)"); }
static void test_wcore_error_code_bad_attribute(void **state) { wcore_error_reset(); wcore_error(WAFFLE_ERROR_BAD_ATTRIBUTE); assert_int_equal(wcore_error_get_code(), WAFFLE_ERROR_BAD_ATTRIBUTE); assert_string_equal(wcore_error_get_info()->message, ""); }
static void test_wcore_error_first_call_with_message_wins(void **state) { wcore_error_reset(); wcore_errorf(WAFFLE_ERROR_UNKNOWN, "cookies"); wcore_errorf(WAFFLE_NO_ERROR, "all is well"); assert_int_equal(wcore_error_get_code(), WAFFLE_ERROR_UNKNOWN); assert_string_equal(wcore_error_get_info()->message, "cookies"); }
static void test_wcore_error_first_call_without_message_wins(void **state) { wcore_error_reset(); wcore_errorf(WAFFLE_ERROR_UNKNOWN, "cookies"); wcore_error(WAFFLE_ERROR_BAD_ATTRIBUTE); assert_int_equal(wcore_error_get_code(), WAFFLE_ERROR_UNKNOWN); assert_string_equal(wcore_error_get_info()->message, "cookies"); }
static void test_wcore_error_code_unknown_error(void **state) { wcore_error_reset(); wcore_error(WAFFLE_ERROR_UNKNOWN); assert_int_equal(wcore_error_get_code(), WAFFLE_ERROR_UNKNOWN); assert_string_equal(wcore_error_get_info()->message, ""); }
static void test_wcore_error_internal_error(void **state) { char error_location[1024]; snprintf(error_location, 1024, "%s:%d:", __FILE__, __LINE__ + 3); wcore_error_reset(); wcore_error_internal("%s zoroaster %d", "hello", 5); assert_int_equal(wcore_error_get_code(), WAFFLE_ERROR_INTERNAL); assert_true(strstr(wcore_error_get_info()->message, "hello zoroaster 5")); assert_true(strstr(wcore_error_get_info()->message, error_location)); }
static bool get_extensions(struct wegl_display *dpy) { const char *extensions = eglQueryString(dpy->egl, EGL_EXTENSIONS); if (!extensions) { wegl_emit_error("eglQueryString(EGL_EXTENSIONS"); return false; } // waffle_is_extension_in_string() resets the error state. That's ok, // however, because if we've reached this point then no error should be // pending emission. assert(wcore_error_get_code() == 0); dpy->KHR_create_context = waffle_is_extension_in_string(extensions, "EGL_KHR_create_context"); return true; }