[Cogl] [PATCH] Convert the test-atlas-migration test to a standalone Cogl test
Robert Bragg
robert at sixbynine.org
Wed May 16 07:33:03 PDT 2012
This looks good to land to me:
Reviewed-by: Robert Bragg <robert at linux.intel.com>
thanks,
- Robert
On Wed, May 16, 2012 at 12:58 PM, Neil Roberts <neil at linux.intel.com> wrote:
> This updates test-atlas-migration from being a Clutter-based test to a
> Cogl-based test.
> ---
> tests/conform/Makefile.am | 2 +-
> tests/conform/test-atlas-migration.c | 41 ++++++++++++++++++++++-----------
> tests/conform/test-conform-main.c | 2 +-
> 3 files changed, 29 insertions(+), 16 deletions(-)
>
> diff --git a/tests/conform/Makefile.am b/tests/conform/Makefile.am
> index 81931fd..e57e6e9 100644
> --- a/tests/conform/Makefile.am
> +++ b/tests/conform/Makefile.am
> @@ -22,13 +22,13 @@ unported_test_sources = \
> test-texture-mipmaps.c \
> test-texture-pixmap-x11.c \
> test-texture-rectangle.c \
> - test-atlas-migration.c \
> test-vertex-buffer-contiguous.c \
> test-vertex-buffer-interleved.c \
> test-vertex-buffer-mutability.c \
> $(NULL)
>
> test_sources = \
> + test-atlas-migration.c \
> test-bitmask.c \
> test-blend-strings.c \
> test-depth-test.c \
> diff --git a/tests/conform/test-atlas-migration.c b/tests/conform/test-atlas-migration.c
> index 56be060..55660a8 100644
> --- a/tests/conform/test-atlas-migration.c
> +++ b/tests/conform/test-atlas-migration.c
> @@ -1,6 +1,6 @@
> -#include <clutter/clutter.h>
> +#include <cogl/cogl.h>
>
> -#include "test-conform-common.h"
> +#include "test-utils.h"
>
> #define N_TEXTURES 128
>
> @@ -10,16 +10,21 @@
> #define COLOR_FOR_SIZE(size) \
> (colors + (size) % 3)
>
> -static const ClutterColor colors[] =
> +typedef struct
> +{
> + uint8_t red, green, blue, alpha;
> +} TestColor;
> +
> +static const TestColor colors[] =
> { { 0xff, 0x00, 0x00, 0xff },
> { 0x00, 0xff, 0x00, 0xff },
> { 0x00, 0x00, 0xff, 0xff } };
>
> -static CoglHandle
> +static CoglTexture *
> create_texture (int size)
> {
> - CoglHandle texture;
> - const ClutterColor *color;
> + CoglTexture *texture;
> + const TestColor *color;
> uint8_t *data, *p;
> int x, y;
>
> @@ -65,11 +70,11 @@ create_texture (int size)
> }
>
> static void
> -verify_texture (CoglHandle texture, int size)
> +verify_texture (CoglTexture *texture, int size)
> {
> uint8_t *data, *p;
> int x, y;
> - const ClutterColor *color;
> + const TestColor *color;
>
> color = COLOR_FOR_SIZE (size);
>
> @@ -86,9 +91,18 @@ verify_texture (CoglHandle texture, int size)
>
> for (x = 0; x < size; x++)
> {
> - g_assert_cmpint (p[0], ==, color->red * opacity / 255);
> - g_assert_cmpint (p[1], ==, color->green * opacity / 255);
> - g_assert_cmpint (p[2], ==, color->blue * opacity / 255);
> + TestColor real_color =
> + {
> + color->red * opacity / 255,
> + color->green * opacity / 255,
> + color->blue * opacity / 255
> + };
> +
> + test_utils_compare_pixel (p,
> + (real_color.red << 24) |
> + (real_color.green << 16) |
> + (real_color.blue << 8) |
> + opacity);
> g_assert_cmpint (p[3], ==, opacity);
>
> p += 4;
> @@ -99,10 +113,9 @@ verify_texture (CoglHandle texture, int size)
> }
>
> void
> -test_atlas_migration (TestUtilsGTestFixture *fixture,
> - void *data)
> +test_atlas_migration (void)
> {
> - CoglHandle textures[N_TEXTURES];
> + CoglTexture *textures[N_TEXTURES];
> int i, tex_num;
>
> /* Create and destroy all of the textures a few times to increase
> diff --git a/tests/conform/test-conform-main.c b/tests/conform/test-conform-main.c
> index 4b9f009..5b38aa1 100644
> --- a/tests/conform/test-conform-main.c
> +++ b/tests/conform/test-conform-main.c
> @@ -72,7 +72,7 @@ main (int argc, char **argv)
> ADD_TEST (test_wrap_modes, 0);
> UNPORTED_TEST (test_texture_pixmap_x11);
> UNPORTED_TEST (test_texture_get_set_data);
> - UNPORTED_TEST (test_atlas_migration);
> + ADD_TEST (test_atlas_migration, 0);
> ADD_TEST (test_read_texture_formats, 0);
> ADD_TEST (test_write_texture_formats, 0);
>
> --
> 1.7.3.16.g9464b
>
> _______________________________________________
> Cogl mailing list
> Cogl at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/cogl
More information about the Cogl
mailing list