blob: 52082a6817803b6ab339839776f9f21ee601e3f7 [file] [log] [blame]
Courtney Goeltzenleuchterb7f50502014-08-12 14:09:50 -06001#ifndef TEST_COMMON_H
2#define TEST_COMMON_H
3
4#include <stdlib.h>
5#include <stdio.h>
6#include <stdbool.h>
7#include <string.h>
8#include <assert.h>
9
10#include <xgl.h>
11
12#include "gtest/gtest.h"
Courtney Goeltzenleuchter5b804932014-09-01 16:33:55 -060013#include "gtest-1.7.0/include/gtest/gtest.h"
Chia-I Wuaf11d922014-12-28 14:37:25 +080014#include "xgltestbinding.h"
Courtney Goeltzenleuchterb7f50502014-08-12 14:09:50 -060015
16#define ASSERT_XGL_SUCCESS(err) ASSERT_EQ(XGL_SUCCESS, err) << xgl_result_string(err)
17
Chia-I Wua9a506a2014-12-27 22:04:00 +080018static inline const char *xgl_result_string(XGL_RESULT err)
Courtney Goeltzenleuchterb7f50502014-08-12 14:09:50 -060019{
20 switch (err) {
21#define STR(r) case r: return #r
22 STR(XGL_SUCCESS);
23 STR(XGL_UNSUPPORTED);
24 STR(XGL_NOT_READY);
25 STR(XGL_TIMEOUT);
26 STR(XGL_EVENT_SET);
27 STR(XGL_EVENT_RESET);
28 STR(XGL_ERROR_UNKNOWN);
29 STR(XGL_ERROR_UNAVAILABLE);
30 STR(XGL_ERROR_INITIALIZATION_FAILED);
31 STR(XGL_ERROR_OUT_OF_MEMORY);
32 STR(XGL_ERROR_OUT_OF_GPU_MEMORY);
33 STR(XGL_ERROR_DEVICE_ALREADY_CREATED);
34 STR(XGL_ERROR_DEVICE_LOST);
35 STR(XGL_ERROR_INVALID_POINTER);
36 STR(XGL_ERROR_INVALID_VALUE);
37 STR(XGL_ERROR_INVALID_HANDLE);
38 STR(XGL_ERROR_INVALID_ORDINAL);
39 STR(XGL_ERROR_INVALID_MEMORY_SIZE);
40 STR(XGL_ERROR_INVALID_EXTENSION);
41 STR(XGL_ERROR_INVALID_FLAGS);
42 STR(XGL_ERROR_INVALID_ALIGNMENT);
43 STR(XGL_ERROR_INVALID_FORMAT);
44 STR(XGL_ERROR_INVALID_IMAGE);
45 STR(XGL_ERROR_INVALID_DESCRIPTOR_SET_DATA);
46 STR(XGL_ERROR_INVALID_QUEUE_TYPE);
47 STR(XGL_ERROR_INVALID_OBJECT_TYPE);
48 STR(XGL_ERROR_UNSUPPORTED_SHADER_IL_VERSION);
49 STR(XGL_ERROR_BAD_SHADER_CODE);
50 STR(XGL_ERROR_BAD_PIPELINE_DATA);
51 STR(XGL_ERROR_TOO_MANY_MEMORY_REFERENCES);
52 STR(XGL_ERROR_NOT_MAPPABLE);
53 STR(XGL_ERROR_MEMORY_MAP_FAILED);
54 STR(XGL_ERROR_MEMORY_UNMAP_FAILED);
55 STR(XGL_ERROR_INCOMPATIBLE_DEVICE);
56 STR(XGL_ERROR_INCOMPATIBLE_DRIVER);
57 STR(XGL_ERROR_INCOMPLETE_COMMAND_BUFFER);
58 STR(XGL_ERROR_BUILDING_COMMAND_BUFFER);
59 STR(XGL_ERROR_MEMORY_NOT_BOUND);
60 STR(XGL_ERROR_INCOMPATIBLE_QUEUE);
61 STR(XGL_ERROR_NOT_SHAREABLE);
62#undef STR
63 default: return "UNKNOWN_RESULT";
64 }
65}
66
Chia-I Wua9a506a2014-12-27 22:04:00 +080067static inline void test_error_callback(const char *expr, const char *file,
68 unsigned int line, const char *function)
69{
70 ADD_FAILURE_AT(file, line) << "Assertion: `" << expr << "'";
71}
72
Courtney Goeltzenleuchterb7f50502014-08-12 14:09:50 -060073#endif // TEST_COMMON_H