summaryrefslogtreecommitdiffstats
path: root/qemu/roms/ipxe/src/tests/pixbuf_test.h
diff options
context:
space:
mode:
authorYang Zhang <yang.z.zhang@intel.com>2015-08-28 09:58:54 +0800
committerYang Zhang <yang.z.zhang@intel.com>2015-09-01 12:44:00 +0800
commite44e3482bdb4d0ebde2d8b41830ac2cdb07948fb (patch)
tree66b09f592c55df2878107a468a91d21506104d3f /qemu/roms/ipxe/src/tests/pixbuf_test.h
parent9ca8dbcc65cfc63d6f5ef3312a33184e1d726e00 (diff)
Add qemu 2.4.0
Change-Id: Ic99cbad4b61f8b127b7dc74d04576c0bcbaaf4f5 Signed-off-by: Yang Zhang <yang.z.zhang@intel.com>
Diffstat (limited to 'qemu/roms/ipxe/src/tests/pixbuf_test.h')
-rw-r--r--qemu/roms/ipxe/src/tests/pixbuf_test.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/qemu/roms/ipxe/src/tests/pixbuf_test.h b/qemu/roms/ipxe/src/tests/pixbuf_test.h
new file mode 100644
index 000000000..394f7f5fa
--- /dev/null
+++ b/qemu/roms/ipxe/src/tests/pixbuf_test.h
@@ -0,0 +1,66 @@
+#ifndef _PIXBUF_TEST_H
+#define _PIXBUF_TEST_H
+
+FILE_LICENCE ( GPL2_OR_LATER );
+
+#include <stdint.h>
+#include <ipxe/refcnt.h>
+#include <ipxe/image.h>
+#include <ipxe/test.h>
+
+/** A pixel buffer test */
+struct pixel_buffer_test {
+ /** Image type */
+ struct image_type *type;
+ /** Source image */
+ struct image *image;
+ /** Pixel data */
+ const uint32_t *data;
+ /** Length of pixel data */
+ size_t len;
+ /** Width */
+ unsigned int width;
+ /** Height */
+ unsigned int height;
+};
+
+/**
+ * Define a pixel buffer test
+ *
+ * @v _name Test name
+ * @v _type Test image file type
+ * @v _file Test image file data
+ * @v _width Expected pixel buffer width
+ * @v _height Expected pixel buffer height
+ * @v _data Expected pixel buffer data
+ * @ret test Pixel buffer test
+ */
+#define PIX( _name, _type, _file, _width, _height, _data ) \
+ static const char _name ## __file[] = _file; \
+ static const uint32_t _name ## __data[] = _data; \
+ static struct image _name ## __image = { \
+ .refcnt = REF_INIT ( ref_no_free ), \
+ .name = #_name, \
+ .data = ( userptr_t ) ( _name ## __file ), \
+ .len = sizeof ( _name ## __file ), \
+ }; \
+ static struct pixel_buffer_test _name = { \
+ .type = _type, \
+ .image = & _name ## __image, \
+ .data = _name ## __data, \
+ .len = sizeof ( _name ## __data ), \
+ .width = _width, \
+ .height = _height, \
+ };
+
+extern void pixbuf_okx ( struct pixel_buffer_test *test, const char *file,
+ unsigned int line );
+
+/**
+ * Report pixel buffer test result
+ *
+ * @v test Pixel buffer test
+ */
+#define pixbuf_ok( test ) pixbuf_okx ( test, __FILE__, __LINE__ )
+
+#endif /* _PIXBUF_TEST_H */