mutter/tests/conform/test-conform-main.c
Neil Roberts 70dfbdd5e3 tests: Test reading all pixel formats
The test-read-alpha-texture test has been replaced with a test that
tries reading an RGBA texture in all current pixel formats. On GLES2
this should end up testing all of the convesion code because in that
case GL only supports reading back RGBA data. The test now works on
GLES2 since the conversion code for all of the formats has been added
so this also removes the GL requirement.

Reviewed-by: Robert Bragg <robert@linux.intel.com>
2012-03-05 17:44:51 +00:00

107 lines
3.1 KiB
C

#include "config.h"
#include <cogl/cogl.h>
#include <glib.h>
#include <locale.h>
#include <stdlib.h>
#include <string.h>
#include "test-utils.h"
static TestUtilsSharedState *shared_state = NULL;
/* A bit of sugar for adding new conformance tests */
#define ADD_TEST(FUNC, REQUIREMENTS) G_STMT_START { \
extern void FUNC (TestUtilsGTestFixture *, void *); \
if (strcmp (#FUNC, argv[1]) == 0) \
{ \
test_utils_init (shared_state, REQUIREMENTS); \
FUNC (NULL, shared_state); \
test_utils_fini (shared_state); \
exit (0); \
} \
} G_STMT_END
#define UNPORTED_TEST(FUNC)
int
main (int argc, char **argv)
{
int i;
if (argc != 2)
{
g_printerr ("usage %s UNIT_TEST\n", argv[0]);
exit (1);
}
/* Just for convenience in case people try passing the wrapper
* filenames for the UNIT_TEST argument we normalize '-' characters
* to '_' characters... */
for (i = 0; argv[1][i]; i++)
{
if (argv[1][i] == '-')
argv[1][i] = '_';
}
/* Initialise the state you need to share with everything.
*/
shared_state = g_new0 (TestUtilsSharedState, 1);
shared_state->argc_addr = &argc;
shared_state->argv_addr = &argv;
/* This file is run through a sed script during the make step so the
* lines containing the tests need to be formatted on a single line
* each.
*/
UNPORTED_TEST (test_cogl_object);
UNPORTED_TEST (test_cogl_fixed);
UNPORTED_TEST (test_cogl_materials);
ADD_TEST (test_cogl_pipeline_user_matrix, 0);
ADD_TEST (test_cogl_blend_strings, 0);
UNPORTED_TEST (test_cogl_premult);
UNPORTED_TEST (test_cogl_readpixels);
ADD_TEST (test_cogl_path, 0);
ADD_TEST (test_cogl_depth_test, 0);
ADD_TEST (test_cogl_color_mask, 0);
ADD_TEST (test_cogl_backface_culling, TEST_REQUIREMENT_NPOT);
ADD_TEST (test_cogl_sparse_pipeline, 0);
UNPORTED_TEST (test_cogl_npot_texture);
UNPORTED_TEST (test_cogl_multitexture);
UNPORTED_TEST (test_cogl_texture_mipmaps);
ADD_TEST (test_cogl_sub_texture, TEST_REQUIREMENT_GL);
UNPORTED_TEST (test_cogl_pixel_array);
UNPORTED_TEST (test_cogl_texture_rectangle);
ADD_TEST (test_cogl_texture_3d, 0);
ADD_TEST (test_cogl_wrap_modes, 0);
UNPORTED_TEST (test_cogl_texture_pixmap_x11);
UNPORTED_TEST (test_cogl_texture_get_set_data);
UNPORTED_TEST (test_cogl_atlas_migration);
ADD_TEST (test_cogl_read_texture_formats, 0);
UNPORTED_TEST (test_cogl_vertex_buffer_contiguous);
UNPORTED_TEST (test_cogl_vertex_buffer_interleved);
UNPORTED_TEST (test_cogl_vertex_buffer_mutability);
ADD_TEST (test_cogl_primitive, 0);
ADD_TEST (test_cogl_just_vertex_shader, 0);
ADD_TEST (test_cogl_pipeline_uniforms, 0);
ADD_TEST (test_cogl_snippets, 0);
ADD_TEST (test_cogl_custom_attributes, 0);
ADD_TEST (test_cogl_bitmask, 0);
ADD_TEST (test_cogl_offscreen, 0);
UNPORTED_TEST (test_cogl_viewport);
g_printerr ("Unknown test name \"%s\"\n", argv[1]);
return 1;
}