mirror of https://github.com/google/pebble
				
				
				
			
		
			
				
	
	
		
			704 lines
		
	
	
		
			32 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			704 lines
		
	
	
		
			32 KiB
		
	
	
	
		
			Python
		
	
	
	
from waftools.pebble_test import clar, get_bitdepth_for_platform
 | 
						|
import waflib.Utils
 | 
						|
 | 
						|
def _process_template(task):
 | 
						|
    from string import Template
 | 
						|
    template = Template(open(task.inputs[0].srcpath(), 'r').read())
 | 
						|
    processed = template.safe_substitute(BIT_DEPTH_NAME=task.generator.bit_depth_name)
 | 
						|
    waflib.Utils.writef(task.outputs[0].srcpath(), processed)
 | 
						|
 | 
						|
def graphics_process_test_template(ctx, source, bit_depth):
 | 
						|
    path = ctx.path.find_node(source).srcpath()
 | 
						|
    bit_depth_name = "{}bit".format(bit_depth)
 | 
						|
 | 
						|
    # Format the output filename.
 | 
						|
    #   - ".template.c" => ".auto.c"
 | 
						|
    #   - Add bit depth to filename
 | 
						|
    # eg. "test_graphics.template.c" => "test_graphics_8bit.c"
 | 
						|
    split = source.replace("template.", "").split('.')
 | 
						|
    target_name = split[0] + '_' + bit_depth_name + '.' + split[1]
 | 
						|
 | 
						|
    out_path = ctx.path.get_bld().make_node(target_name)
 | 
						|
 | 
						|
    ctx(name='generate_test_from_template', rule=_process_template, source=ctx.path.find_node(source),
 | 
						|
        target=out_path, bit_depth_name=bit_depth_name)
 | 
						|
    return out_path
 | 
						|
 | 
						|
 | 
						|
def build(ctx):
 | 
						|
    graphics_sources_ant_glob = \
 | 
						|
        " src/fw/applib/graphics/${BITDEPTH}_bit/framebuffer.c" \
 | 
						|
        " src/fw/applib/graphics/framebuffer.c" \
 | 
						|
        " src/fw/applib/graphics/gbitmap.c" \
 | 
						|
        " src/fw/applib/graphics/gcolor_definitions.c" \
 | 
						|
        " src/fw/applib/graphics/gtypes.c" \
 | 
						|
        " src/fw/applib/graphics/graphics.c" \
 | 
						|
        " src/fw/applib/graphics/graphics_bitmap.c" \
 | 
						|
        " src/fw/applib/graphics/gtransform.c" \
 | 
						|
        " src/fw/applib/graphics/bitblt.c" \
 | 
						|
        " src/fw/applib/graphics/${BITDEPTH}_bit/bitblt_private.c" \
 | 
						|
        " src/fw/applib/ui/layer.c" \
 | 
						|
        " src/fw/applib/ui/bitmap_layer.c" \
 | 
						|
        " tests/fakes/fake_display.c" \
 | 
						|
        " tests/fakes/fake_gbitmap_png.c" \
 | 
						|
        " src/fw/applib/graphics/graphics_private.c" \
 | 
						|
        " src/fw/applib/graphics/graphics_private_raw.c" \
 | 
						|
        " src/fw/applib/graphics/graphics_circle.c" \
 | 
						|
        " src/fw/applib/graphics/graphics_line.c" \
 | 
						|
        " src/fw/applib/graphics/gpath.c"
 | 
						|
 | 
						|
    graphics_test_sources = [
 | 
						|
        "test_framebuffer.template.c",
 | 
						|
        "test_graphics_draw_pixel.template.c",
 | 
						|
        "test_graphics_draw_stroke.template.c",
 | 
						|
        "test_graphics_draw_rect.template.c",
 | 
						|
        "test_graphics_fill_rect.template.c",
 | 
						|
        "test_graphics_draw_circle.template.c",
 | 
						|
        "test_graphics_stroke_circle.template.c",
 | 
						|
        "test_graphics_fill_circle.template.c",
 | 
						|
        "test_graphics_draw_round_rect.template.c",
 | 
						|
        "test_graphics_gpath.template.c",
 | 
						|
        "test_graphics_gtransform.template.c",
 | 
						|
        "test_graphics_context.template.c",
 | 
						|
        "test_blending.template.c",
 | 
						|
        "test_graphics_draw_stroke_precise.template.c"
 | 
						|
    ]
 | 
						|
 | 
						|
    for platform in ['tintin', 'snowy']:
 | 
						|
        bit_depth = get_bitdepth_for_platform(ctx, platform)
 | 
						|
        defines = ctx.env.test_image_defines
 | 
						|
        for test in graphics_test_sources:
 | 
						|
            generated_source = graphics_process_test_template(ctx, test, bit_depth)
 | 
						|
            clar(ctx,
 | 
						|
                    sources_ant_glob=graphics_sources_ant_glob,
 | 
						|
                    test_sources=[generated_source],
 | 
						|
                    add_includes=[ctx.path.abspath()],
 | 
						|
                    defines=defines,
 | 
						|
                    platforms=[platform])
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
         sources_ant_glob=" src/fw/applib/graphics/${BITDEPTH}_bit/bitblt_private.c"
 | 
						|
                          " src/fw/applib/graphics/${BITDEPTH}_bit/framebuffer.c"
 | 
						|
                          " src/fw/applib/graphics/bitblt.c"
 | 
						|
                          " src/fw/applib/graphics/framebuffer.c"
 | 
						|
                          " src/fw/applib/graphics/gbitmap.c"
 | 
						|
                          " src/fw/applib/graphics/gbitmap_png.c"
 | 
						|
                          " src/fw/applib/graphics/gcolor_definitions.c"
 | 
						|
                          " src/fw/applib/graphics/graphics.c"
 | 
						|
                          " src/fw/applib/graphics/graphics_bitmap.c"
 | 
						|
                          " src/fw/applib/graphics/graphics_circle.c"
 | 
						|
                          " src/fw/applib/graphics/graphics_line.c"
 | 
						|
                          " src/fw/applib/graphics/graphics_private.c"
 | 
						|
                          " src/fw/applib/graphics/graphics_private_raw.c"
 | 
						|
                          " src/fw/applib/graphics/gtypes.c"
 | 
						|
                          " src/fw/applib/ui/bitmap_layer.c"
 | 
						|
                          " src/fw/applib/ui/layer.c"
 | 
						|
                          " src/fw/applib/vendor/tinflate/tinflate.c"
 | 
						|
                          " src/fw/applib/vendor/uPNG/upng.c",
 | 
						|
         test_sources_ant_glob='test_graphics_draw_bitmap.c',
 | 
						|
         defines=ctx.env.test_image_defines,
 | 
						|
         platforms=['snowy', 'silk'])
 | 
						|
 | 
						|
    templated_graphics_draw_text_sources_ant_glob = \
 | 
						|
        " src/fw/applib/graphics/{depth_dir}/framebuffer.c" \
 | 
						|
        " src/fw/applib/graphics/framebuffer.c" \
 | 
						|
        " src/fw/applib/graphics/gcolor_definitions.c" \
 | 
						|
        " src/fw/applib/graphics/gtypes.c" \
 | 
						|
        " src/fw/applib/graphics/gbitmap.c" \
 | 
						|
        " src/fw/applib/graphics/graphics.c" \
 | 
						|
        " src/fw/applib/graphics/gtransform.c" \
 | 
						|
        " src/fw/applib/graphics/bitblt.c" \
 | 
						|
        " src/fw/applib/graphics/{depth_dir}/bitblt_private.c" \
 | 
						|
        " src/fw/applib/ui/layer.c" \
 | 
						|
        " tests/fakes/fake_gbitmap_get_data_row.c" \
 | 
						|
        " tests/fakes/fake_gbitmap_png.c" \
 | 
						|
        " tests/fakes/fake_display.c" \
 | 
						|
        " src/fw/applib/graphics/text_render.c" \
 | 
						|
        " src/fw/applib/graphics/utf8.c" \
 | 
						|
        " src/fw/applib/graphics/text_layout.c" \
 | 
						|
        " src/fw/applib/graphics/perimeter.c" \
 | 
						|
        " src/fw/applib/graphics/text_resources.c" \
 | 
						|
        " src/fw/flash_region/flash_region.c" \
 | 
						|
        " src/fw/flash_region/filesystem_regions.c" \
 | 
						|
        " src/fw/system/hexdump.c" \
 | 
						|
        " src/fw/applib/fonts/codepoint.c" \
 | 
						|
        " src/fw/resource/resource.c" \
 | 
						|
        " src/fw/resource/resource_storage.c" \
 | 
						|
        " src/fw/resource/resource_storage_builtin.c" \
 | 
						|
        " src/fw/resource/resource_storage_file.c" \
 | 
						|
        " src/fw/resource/resource_storage_flash.c" \
 | 
						|
        " src/fw/services/normal/filesystem/flash_translation.c" \
 | 
						|
        " src/fw/services/normal/filesystem/pfs.c" \
 | 
						|
        " src/fw/services/normal/filesystem/app_file.c" \
 | 
						|
        " src/fw/util/crc8.c" \
 | 
						|
        " src/fw/util/legacy_checksum.c" \
 | 
						|
        " src/fw/drivers/flash/flash_crc.c" \
 | 
						|
        " tests/fakes/fake_fonts.c" \
 | 
						|
        " tests/fakes/fake_rtc.c" \
 | 
						|
        " tests/fakes/fake_spi_flash.c" \
 | 
						|
        " tests/fixtures/resources/builtin_resources.auto.c" \
 | 
						|
        " tests/fixtures/resources/pfs_resource_table.c" \
 | 
						|
        " src/fw/applib/graphics/graphics_private.c" \
 | 
						|
        " src/fw/applib/graphics/graphics_private_raw.c" \
 | 
						|
        " src/fw/applib/graphics/graphics_circle.c" \
 | 
						|
        " src/fw/applib/graphics/graphics_line.c"
 | 
						|
 | 
						|
    graphics_draw_text_test_sources = [
 | 
						|
        "test_graphics_draw_text.template.c"
 | 
						|
    ]
 | 
						|
 | 
						|
    for platform in ['tintin', 'snowy']:
 | 
						|
        bit_depth = 1 if platform == 'tintin' else 8
 | 
						|
        depth_dir = '{}_bit'.format(bit_depth)
 | 
						|
        graphics_sources_ant_glob = templated_graphics_draw_text_sources_ant_glob.format(depth_dir=depth_dir)
 | 
						|
 | 
						|
        defines = ctx.env.test_image_defines
 | 
						|
        for test in graphics_draw_text_test_sources:
 | 
						|
            generated_source = graphics_process_test_template(ctx, test, bit_depth)
 | 
						|
            clar(ctx,
 | 
						|
                    sources_ant_glob=graphics_sources_ant_glob,
 | 
						|
                    test_sources=[generated_source],
 | 
						|
                    add_includes=[ctx.path.abspath()],
 | 
						|
                    defines=defines,
 | 
						|
                    override_includes=['dummy_board'],
 | 
						|
                    platforms=[platform])
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob=templated_graphics_draw_text_sources_ant_glob.format(depth_dir="8_bit"),
 | 
						|
        test_sources_ant_glob='test_graphics_draw_text_flow.c',
 | 
						|
        defines = ctx.env.test_image_defines,
 | 
						|
        override_includes=['dummy_board'])
 | 
						|
 | 
						|
 | 
						|
    # All tests that are bit-depth agnostic should follow.
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob = \
 | 
						|
            " src/fw/applib/graphics/gcolor_definitions.c" \
 | 
						|
            " src/fw/applib/graphics/gtypes.c", \
 | 
						|
        test_sources_ant_glob = "test_graphics_colors.c")
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob = \
 | 
						|
            " src/fw/applib/graphics/gtypes.c",
 | 
						|
        test_sources_ant_glob = "test_gtypes.c",
 | 
						|
        platforms=["tintin", "snowy", "spalding"])
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob = \
 | 
						|
            " src/fw/applib/graphics/gtypes.c" \
 | 
						|
            " src/fw/applib/graphics/graphics_circle.c",
 | 
						|
        test_sources_ant_glob = "test_graphics_circle.c")
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob = \
 | 
						|
            " src/fw/applib/graphics/gtypes.c" \
 | 
						|
            " tests/fakes/fake_gbitmap_png.c" \
 | 
						|
            " tests/fakes/fake_resource_syscalls.c" \
 | 
						|
            " src/fw/applib/graphics/gbitmap.c",
 | 
						|
        test_sources_ant_glob = "test_gbitmap_data_row_info.c")
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob = \
 | 
						|
            " src/fw/applib/graphics/gbitmap.c" \
 | 
						|
            " src/fw/applib/graphics/gtypes.c" \
 | 
						|
            " tests/fakes/fake_applib_resource.c",
 | 
						|
        test_sources_ant_glob = "test_gbitmap_resource_validation.c")
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob = \
 | 
						|
            " src/fw/applib/graphics/gtypes.c" \
 | 
						|
            " tests/fakes/fake_gbitmap_png.c" \
 | 
						|
            " tests/fakes/fake_resource_syscalls.c" \
 | 
						|
            " src/fw/applib/graphics/gbitmap.c",
 | 
						|
        test_sources_ant_glob = "test_gbitmap_formats.c",
 | 
						|
        platforms=["tintin", "snowy", "spalding"])
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
         sources_ant_glob = \
 | 
						|
             " src/fw/applib/graphics/framebuffer.c" \
 | 
						|
             " src/fw/applib/graphics/gbitmap.c" \
 | 
						|
             " src/fw/applib/graphics/8_bit/framebuffer.c" \
 | 
						|
             " src/fw/applib/graphics/gcolor_definitions.c" \
 | 
						|
             " src/fw/applib/graphics/graphics.c" \
 | 
						|
             " src/fw/applib/graphics/graphics_bitmap.c" \
 | 
						|
             " src/fw/applib/graphics/gtypes.c" \
 | 
						|
             " tests/fakes/fake_gbitmap_png.c" \
 | 
						|
             " tests/fakes/fake_resource_syscalls.c" \
 | 
						|
             " tests/fakes/fake_applib_resource.c" \
 | 
						|
             " tests/stubs/stubs_bitblt.c",
 | 
						|
         test_sources_ant_glob = "test_gbitmap_processor.c")
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob = \
 | 
						|
            " src/fw/applib/graphics/gtypes.c" \
 | 
						|
            " src/fw/applib/graphics/gcolor_definitions.c" \
 | 
						|
            " src/fw/applib/graphics/gbitmap.c" \
 | 
						|
            " src/fw/applib/graphics/graphics.c" \
 | 
						|
            " src/fw/applib/graphics/graphics_private.c" \
 | 
						|
            " src/fw/applib/graphics/graphics_private_raw.c" \
 | 
						|
            " src/fw/applib/graphics/bitblt.c" \
 | 
						|
            " src/fw/applib/graphics/8_bit/bitblt_private.c", \
 | 
						|
        test_sources_ant_glob = "test_graphics_blending.c",
 | 
						|
        platforms=['snowy'])
 | 
						|
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob = \
 | 
						|
            " src/fw/applib/graphics/gcolor_definitions.c" \
 | 
						|
            " src/fw/applib/graphics/gdraw_command.c" \
 | 
						|
            " src/fw/applib/graphics/gdraw_command_list.c" \
 | 
						|
            " src/fw/applib/graphics/gdraw_command_image.c" \
 | 
						|
            " src/fw/applib/graphics/gdraw_command_frame.c",
 | 
						|
        test_sources_ant_glob = "test_gdraw_command.c")
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob = \
 | 
						|
            " src/fw/applib/graphics/gcolor_definitions.c" \
 | 
						|
            " src/fw/applib/graphics/gdraw_command.c" \
 | 
						|
            " src/fw/applib/graphics/gdraw_command_list.c" \
 | 
						|
            " src/fw/applib/graphics/gdraw_command_frame.c" \
 | 
						|
            " src/fw/applib/graphics/gdraw_command_sequence.c",
 | 
						|
        test_sources_ant_glob = "test_gdraw_command_sequence.c")
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob = \
 | 
						|
            " src/fw/applib/graphics/gcolor_definitions.c" \
 | 
						|
            " src/fw/applib/graphics/gbitmap.c" \
 | 
						|
            " src/fw/applib/graphics/gtypes.c" \
 | 
						|
            " src/fw/applib/graphics/gdraw_command.c" \
 | 
						|
            " src/fw/applib/graphics/gdraw_command_list.c" \
 | 
						|
            " src/fw/applib/graphics/gdraw_command_frame.c" \
 | 
						|
            " src/fw/applib/graphics/gdraw_command_image.c" \
 | 
						|
            " src/fw/applib/graphics/gdraw_command_sequence.c" \
 | 
						|
            " tests/fakes/fake_gbitmap_png.c" \
 | 
						|
            " tests/fakes/fake_resource_syscalls.c" \
 | 
						|
            " tests/fakes/fake_applib_resource.c",
 | 
						|
        runtime_deps=ctx.env.test_pdcs,
 | 
						|
        defines=ctx.env.test_image_defines,
 | 
						|
        test_sources_ant_glob = "test_gdraw_command_resources.c")
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob = \
 | 
						|
            " src/fw/applib/graphics/8_bit/framebuffer.c" \
 | 
						|
            " src/fw/applib/graphics/framebuffer.c" \
 | 
						|
            " src/fw/applib/graphics/gcolor_definitions.c" \
 | 
						|
            " src/fw/applib/graphics/gtypes.c" \
 | 
						|
            " src/fw/applib/graphics/gbitmap.c" \
 | 
						|
            " src/fw/applib/graphics/graphics.c" \
 | 
						|
            " src/fw/applib/graphics/graphics_private.c" \
 | 
						|
            " src/fw/applib/graphics/graphics_private_raw.c" \
 | 
						|
            " src/fw/applib/graphics/graphics_line.c" \
 | 
						|
            " src/fw/applib/graphics/graphics_circle.c" \
 | 
						|
            " src/fw/applib/graphics/gpath.c" \
 | 
						|
            " src/fw/applib/graphics/bitblt.c" \
 | 
						|
            " src/fw/applib/graphics/8_bit/bitblt_private.c" \
 | 
						|
 | 
						|
            " src/fw/applib/ui/animation_interpolate.c" \
 | 
						|
            " src/fw/applib/ui/animation_timing.c" \
 | 
						|
 | 
						|
            " tests/fakes/fake_gbitmap_png.c" \
 | 
						|
 | 
						|
            " tests/fw/graphics/weather_app_resources.c" \
 | 
						|
 | 
						|
            " src/fw/applib/graphics/gdraw_command.c" \
 | 
						|
            " src/fw/applib/graphics/gdraw_command_frame.c" \
 | 
						|
            " src/fw/applib/graphics/gdraw_command_list.c" \
 | 
						|
            " src/fw/applib/graphics/gdraw_command_image.c" \
 | 
						|
            " src/fw/applib/graphics/gdraw_command_transforms.c", \
 | 
						|
        test_sources_ant_glob = "test_gdraw_command_transforms.c",
 | 
						|
        defines=ctx.env.test_image_defines,
 | 
						|
        override_includes=['dummy_board'])
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob =
 | 
						|
            " src/fw/applib/vendor/uPNG/upng.c"
 | 
						|
            " src/fw/applib/vendor/tinflate/tinflate.c"
 | 
						|
            " src/fw/applib/graphics/gbitmap.c" \
 | 
						|
            " src/fw/applib/graphics/gbitmap_png.c"
 | 
						|
            " src/fw/applib/graphics/gcolor_definitions.c"
 | 
						|
            " src/fw/applib/graphics/8_bit/framebuffer.c"
 | 
						|
            " src/fw/applib/graphics/framebuffer.c"
 | 
						|
            " src/fw/applib/graphics/graphics.c"
 | 
						|
            " src/fw/applib/graphics/8_bit/bitblt_private.c"
 | 
						|
            " src/fw/applib/graphics/bitblt.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private_raw.c"
 | 
						|
            " src/fw/applib/graphics/graphics_circle.c"
 | 
						|
            " src/fw/applib/graphics/graphics_line.c"
 | 
						|
            " src/fw/applib/graphics/gtypes.c",
 | 
						|
        runtime_deps=ctx.env.pdcs2png_test_files,
 | 
						|
        test_sources_ant_glob="test_pdc.c",
 | 
						|
        defines=ctx.env.test_image_defines)
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob =
 | 
						|
            " src/fw/applib/vendor/uPNG/upng.c"
 | 
						|
            " src/fw/applib/vendor/tinflate/tinflate.c"
 | 
						|
            " src/fw/applib/graphics/gbitmap.c" \
 | 
						|
            " src/fw/applib/graphics/gbitmap_png.c"
 | 
						|
            " src/fw/applib/graphics/gcolor_definitions.c"
 | 
						|
            " src/fw/applib/graphics/8_bit/framebuffer.c"
 | 
						|
            " src/fw/applib/graphics/framebuffer.c"
 | 
						|
            " src/fw/applib/graphics/graphics.c"
 | 
						|
            " src/fw/applib/graphics/8_bit/bitblt_private.c"
 | 
						|
            " src/fw/applib/graphics/bitblt.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private_raw.c"
 | 
						|
            " src/fw/applib/graphics/graphics_circle.c"
 | 
						|
            " src/fw/applib/graphics/graphics_line.c"
 | 
						|
            " src/fw/applib/graphics/gtypes.c",
 | 
						|
        test_sources_ant_glob="test_png.c",
 | 
						|
        defines=ctx.env.test_image_defines,
 | 
						|
        runtime_deps=filter(lambda x: 'test_png__' in str(x), ctx.env.test_pngs))
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob =
 | 
						|
            " src/fw/applib/vendor/uPNG/upng.c"
 | 
						|
            " src/fw/applib/vendor/tinflate/tinflate.c"
 | 
						|
            " src/fw/applib/graphics/gbitmap.c" \
 | 
						|
            " src/fw/applib/graphics/gbitmap_png.c"
 | 
						|
            " src/fw/applib/graphics/gbitmap_sequence.c"
 | 
						|
            " src/fw/applib/graphics/gcolor_definitions.c"
 | 
						|
            " src/fw/applib/graphics/8_bit/bitblt_private.c"
 | 
						|
            " src/fw/applib/graphics/framebuffer.c"
 | 
						|
            " src/fw/applib/graphics/graphics.c"
 | 
						|
            " src/fw/applib/graphics/bitblt.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private_raw.c"
 | 
						|
            " src/fw/applib/graphics/graphics_circle.c"
 | 
						|
            " src/fw/applib/graphics/graphics_line.c"
 | 
						|
            " src/fw/applib/graphics/gtypes.c"
 | 
						|
            " src/fw/board/displays/display_spalding.c"
 | 
						|
            " tests/fakes/fake_resource_syscalls.c",
 | 
						|
        test_sources_ant_glob="test_gbitmap_sequence.c",
 | 
						|
        defines=ctx.env.test_image_defines,
 | 
						|
        runtime_deps=ctx.env.test_pngs + ctx.env.test_pbis,
 | 
						|
        platforms=['tintin', 'spalding'])
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob =
 | 
						|
            " src/fw/applib/vendor/uPNG/upng.c"
 | 
						|
            " src/fw/applib/vendor/tinflate/tinflate.c"
 | 
						|
            " src/fw/applib/graphics/gtypes.c"
 | 
						|
            " src/fw/applib/graphics/gbitmap.c" \
 | 
						|
            " tests/fakes/fake_gbitmap_png.c"
 | 
						|
            " src/fw/applib/graphics/gcolor_definitions.c"
 | 
						|
            " src/fw/applib/graphics/8_bit/framebuffer.c"
 | 
						|
            " src/fw/applib/graphics/framebuffer.c"
 | 
						|
            " src/fw/applib/graphics/8_bit/bitblt_private.c"
 | 
						|
            " src/fw/applib/graphics/bitblt.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private_raw.c"
 | 
						|
            " src/fw/applib/graphics/graphics_circle.c"
 | 
						|
            " src/fw/applib/graphics/graphics_line.c"
 | 
						|
            " src/fw/applib/graphics/graphics.c",
 | 
						|
        test_sources_ant_glob="test_pbi.c",
 | 
						|
        defines=ctx.env.test_image_defines,
 | 
						|
        runtime_deps=filter(lambda x: 'test_pbi__' in str(x), ctx.env.test_pbis))
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob =
 | 
						|
            " src/fw/applib/vendor/uPNG/upng.c"
 | 
						|
            " src/fw/applib/vendor/tinflate/tinflate.c"
 | 
						|
            " src/fw/applib/graphics/gtypes.c"
 | 
						|
            " src/fw/applib/graphics/gbitmap.c" \
 | 
						|
            " src/fw/applib/graphics/gbitmap_png.c"
 | 
						|
            " src/fw/applib/graphics/gcolor_definitions.c"
 | 
						|
            " src/fw/applib/graphics/8_bit/framebuffer.c"
 | 
						|
            " src/fw/applib/graphics/framebuffer.c"
 | 
						|
            " src/fw/applib/graphics/8_bit/bitblt_private.c"
 | 
						|
            " src/fw/applib/graphics/bitblt.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private_raw.c"
 | 
						|
            " src/fw/applib/graphics/graphics_circle.c"
 | 
						|
            " src/fw/applib/graphics/graphics_line.c"
 | 
						|
            " src/fw/applib/graphics/graphics.c",
 | 
						|
        test_sources_ant_glob="test_palettized_conversion.c",
 | 
						|
        defines=ctx.env.test_image_defines,
 | 
						|
        runtime_deps=ctx.env.test_pngs + ctx.env.test_pbis)
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
         sources_ant_glob=(
 | 
						|
             "src/fw/applib/graphics/gtypes.c "
 | 
						|
             "src/fw/apps/system_apps/timeline/text_node.c "
 | 
						|
             "tests/stubs/stubs_text_layout.c "
 | 
						|
         ),
 | 
						|
         test_sources_ant_glob="test_graphics_text_node.c")
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob =
 | 
						|
            " src/fw/applib/graphics/perimeter.c"
 | 
						|
            " src/fw/applib/graphics/gtypes.c",
 | 
						|
        test_sources_ant_glob="test_perimeter.c",
 | 
						|
        test_libs=['m'],
 | 
						|
        defines=defines,
 | 
						|
        platforms=['snowy', 'spalding'])
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob =
 | 
						|
            " src/fw/applib/graphics/gtypes.c"
 | 
						|
            " src/fw/applib/graphics/gbitmap.c"
 | 
						|
            " tests/fakes/fake_gbitmap_png.c"
 | 
						|
            " src/fw/applib/graphics/gcolor_definitions.c"
 | 
						|
            " src/fw/applib/graphics/${BITDEPTH}_bit/framebuffer.c"
 | 
						|
            " src/fw/applib/graphics/framebuffer.c"
 | 
						|
            " src/fw/applib/ui/layer.c"
 | 
						|
            " src/fw/applib/graphics/${BITDEPTH}_bit/bitblt_private.c"
 | 
						|
            " src/fw/applib/graphics/bitblt.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private_raw.c"
 | 
						|
            " src/fw/applib/graphics/graphics_circle.c"
 | 
						|
            " src/fw/applib/graphics/graphics_line.c"
 | 
						|
            " src/fw/applib/graphics/graphics.c",
 | 
						|
        test_sources_ant_glob="test_graphics_draw_line.c",
 | 
						|
        defines=ctx.env.test_image_defines,
 | 
						|
        runtime_deps=ctx.env.test_pngs + ctx.env.test_pbis,
 | 
						|
        platforms=['tintin', 'snowy'])
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob =
 | 
						|
            " src/fw/applib/vendor/uPNG/upng.c"
 | 
						|
            " src/fw/applib/vendor/tinflate/tinflate.c"
 | 
						|
            " src/fw/applib/graphics/gtypes.c"
 | 
						|
            " src/fw/applib/graphics/gbitmap.c" \
 | 
						|
            " src/fw/applib/graphics/gbitmap_png.c"
 | 
						|
            " src/fw/applib/graphics/gcolor_definitions.c"
 | 
						|
            " src/fw/applib/graphics/${BITDEPTH}_bit/framebuffer.c"
 | 
						|
            " src/fw/applib/graphics/framebuffer.c"
 | 
						|
            " src/fw/applib/graphics/${BITDEPTH}_bit/bitblt_private.c"
 | 
						|
            " src/fw/applib/graphics/bitblt.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private_raw.c"
 | 
						|
            " src/fw/applib/graphics/graphics_circle.c"
 | 
						|
            " src/fw/applib/graphics/graphics_line.c"
 | 
						|
            " src/fw/applib/graphics/graphics.c",
 | 
						|
        test_sources_ant_glob="test_bitblt_palette_1bit.c",
 | 
						|
        defines=ctx.env.test_image_defines,
 | 
						|
        runtime_deps=ctx.env.test_pngs + ctx.env.test_pbis,
 | 
						|
        platforms=['tintin'])
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob =
 | 
						|
          " src/fw/applib/vendor/uPNG/upng.c"
 | 
						|
          " src/fw/applib/vendor/tinflate/tinflate.c"
 | 
						|
          " src/fw/applib/graphics/gbitmap.c"
 | 
						|
          " src/fw/applib/graphics/gbitmap_png.c"
 | 
						|
          " src/fw/applib/graphics/gcolor_definitions.c"
 | 
						|
          " src/fw/applib/graphics/8_bit/framebuffer.c"
 | 
						|
          " src/fw/applib/graphics/framebuffer.c"
 | 
						|
          " src/fw/applib/graphics/graphics.c"
 | 
						|
          " src/fw/applib/graphics/8_bit/bitblt_private.c"
 | 
						|
          " src/fw/applib/graphics/bitblt.c"
 | 
						|
          " src/fw/applib/graphics/graphics_private.c"
 | 
						|
          " src/fw/applib/graphics/graphics_private_raw.c"
 | 
						|
          " src/fw/applib/graphics/graphics_circle.c"
 | 
						|
          " src/fw/applib/graphics/graphics_line.c"
 | 
						|
          " src/fw/applib/graphics/gtypes.c"
 | 
						|
          " src/fw/board/displays/display_spalding.c",
 | 
						|
        test_sources_ant_glob="test_framebuffer_duma.c",
 | 
						|
        defines=ctx.env.test_image_defines,
 | 
						|
        platforms=['snowy', 'spalding'])
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob =
 | 
						|
            " src/fw/applib/graphics/gtypes.c"
 | 
						|
            " src/fw/applib/graphics/gbitmap.c"
 | 
						|
            " tests/fakes/fake_gbitmap_png.c"
 | 
						|
            " tests/fakes/fake_gbitmap_get_data_row.c"
 | 
						|
            " src/fw/applib/graphics/gcolor_definitions.c"
 | 
						|
            " src/fw/applib/graphics/8_bit/framebuffer.c"
 | 
						|
            " src/fw/applib/graphics/framebuffer.c"
 | 
						|
            " src/fw/applib/ui/layer.c"
 | 
						|
            " src/fw/applib/graphics/8_bit/bitblt_private.c"
 | 
						|
            " src/fw/applib/graphics/bitblt.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private_raw.c"
 | 
						|
            " src/fw/applib/graphics/graphics_circle.c"
 | 
						|
            " src/fw/applib/graphics/graphics_line.c"
 | 
						|
            " src/fw/applib/graphics/graphics.c",
 | 
						|
        test_sources_ant_glob="test_graphics_draw_core.c",
 | 
						|
        defines=ctx.env.test_image_defines,
 | 
						|
        runtime_deps=ctx.env.test_pngs + ctx.env.test_pbis,
 | 
						|
        platforms=['snowy'])
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
            sources_ant_glob =
 | 
						|
                " src/fw/applib/graphics/gtypes.c"
 | 
						|
                " src/fw/applib/graphics/gbitmap.c"
 | 
						|
                " tests/fakes/fake_gbitmap_png.c"
 | 
						|
                " tests/fakes/fake_gbitmap_get_data_row.c"
 | 
						|
                " src/fw/applib/graphics/gcolor_definitions.c"
 | 
						|
                " src/fw/applib/graphics/8_bit/framebuffer.c"
 | 
						|
                " src/fw/applib/graphics/framebuffer.c"
 | 
						|
                " src/fw/applib/ui/layer.c"
 | 
						|
                " src/fw/applib/graphics/8_bit/bitblt_private.c"
 | 
						|
                " src/fw/applib/graphics/bitblt.c"
 | 
						|
                " src/fw/applib/graphics/graphics_private.c"
 | 
						|
                " src/fw/applib/graphics/graphics_private_raw.c"
 | 
						|
                " src/fw/applib/graphics/graphics_circle.c"
 | 
						|
                " src/fw/applib/graphics/graphics_line.c"
 | 
						|
                " src/fw/applib/graphics/graphics.c"
 | 
						|
                " src/fw/board/displays/display_spalding.c",
 | 
						|
            test_sources_ant_glob="test_framebuffer_clipping.c",
 | 
						|
            defines=ctx.env.test_image_defines,
 | 
						|
            runtime_deps=ctx.env.test_pngs + ctx.env.test_pbis,
 | 
						|
            platforms=['spalding'])
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
                sources_ant_glob =
 | 
						|
                    " src/fw/applib/graphics/gtypes.c"
 | 
						|
                    " src/fw/applib/graphics/gbitmap.c"
 | 
						|
                    " tests/fakes/fake_gbitmap_png.c"
 | 
						|
                    " tests/fakes/fake_gbitmap_get_data_row.c"
 | 
						|
                    " src/fw/applib/graphics/gcolor_definitions.c"
 | 
						|
                    " src/fw/applib/graphics/${BITDEPTH}_bit/framebuffer.c"
 | 
						|
                    " src/fw/applib/graphics/framebuffer.c"
 | 
						|
                    " src/fw/applib/ui/layer.c"
 | 
						|
                    " src/fw/applib/graphics/8_bit/bitblt_private.c"
 | 
						|
                    " src/fw/applib/graphics/bitblt.c"
 | 
						|
                    " src/fw/applib/graphics/graphics_private.c"
 | 
						|
                    " src/fw/applib/graphics/graphics_private_raw.c"
 | 
						|
                    " src/fw/applib/graphics/graphics_private_raw_mask.c"
 | 
						|
                    " src/fw/applib/graphics/graphics_circle.c"
 | 
						|
                    " src/fw/applib/graphics/graphics_line.c"
 | 
						|
                    " src/fw/applib/graphics/graphics_mask.c"
 | 
						|
                    " src/fw/applib/graphics/graphics.c"
 | 
						|
                    " src/fw/applib/ui/window_stack_animation_round.c"
 | 
						|
                    " tests/stubs/stubs_animation.c"
 | 
						|
                    " src/fw/services/common/compositor/default/compositor_round_flip_transitions.c"
 | 
						|
                    " src/fw/applib/ui/animation_interpolate.c"
 | 
						|
                    " src/fw/board/displays/display_spalding.c",
 | 
						|
                test_sources_ant_glob="test_graphics_window_stack_animation.c",
 | 
						|
                defines=ctx.env.test_image_defines + ['CAPABILITY_HAS_MASKING=1'],
 | 
						|
                runtime_deps=ctx.env.test_pngs + ctx.env.test_pbis,
 | 
						|
                platforms=['spalding'])
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
                sources_ant_glob =
 | 
						|
                    " src/fw/applib/graphics/gtypes.c"
 | 
						|
                    " src/fw/applib/graphics/gbitmap.c"
 | 
						|
                    " tests/fakes/fake_gbitmap_png.c"
 | 
						|
                    " tests/fakes/fake_applib_resource.c"
 | 
						|
                    " src/fw/applib/graphics/gcolor_definitions.c"
 | 
						|
                    " src/fw/applib/graphics/${BITDEPTH}_bit/framebuffer.c"
 | 
						|
                    " src/fw/applib/graphics/framebuffer.c"
 | 
						|
                    " src/fw/applib/ui/layer.c"
 | 
						|
                    " src/fw/applib/graphics/8_bit/bitblt_private.c"
 | 
						|
                    " src/fw/applib/graphics/bitblt.c"
 | 
						|
                    " src/fw/applib/graphics/graphics_private.c"
 | 
						|
                    " src/fw/applib/graphics/graphics_private_raw.c"
 | 
						|
                    " src/fw/applib/graphics/graphics_private_raw_mask.c"
 | 
						|
                    " src/fw/applib/graphics/graphics_circle.c"
 | 
						|
                    " src/fw/applib/graphics/graphics_line.c"
 | 
						|
                    " src/fw/applib/graphics/graphics_mask.c"
 | 
						|
                    " src/fw/applib/graphics/graphics.c"
 | 
						|
                    " src/fw/board/displays/display_spalding.c",
 | 
						|
                test_sources_ant_glob="test_graphics_context_mask.c",
 | 
						|
                defines=ctx.env.test_image_defines + ['CAPABILITY_HAS_MASKING=1'],
 | 
						|
                runtime_deps=ctx.env.test_pngs + ctx.env.test_pbis,
 | 
						|
                platforms=['snowy'])
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
            sources_ant_glob =
 | 
						|
                " src/fw/applib/graphics/gtypes.c"
 | 
						|
                " src/fw/applib/graphics/gbitmap.c"
 | 
						|
                " tests/fakes/fake_gbitmap_png.c"
 | 
						|
                " tests/fakes/fake_gbitmap_get_data_row.c"
 | 
						|
                " src/fw/applib/graphics/gcolor_definitions.c"
 | 
						|
                " src/fw/applib/graphics/8_bit/framebuffer.c"
 | 
						|
                " src/fw/applib/graphics/framebuffer.c"
 | 
						|
                " src/fw/applib/ui/layer.c"
 | 
						|
                " src/fw/applib/graphics/8_bit/bitblt_private.c"
 | 
						|
                " src/fw/applib/graphics/bitblt.c"
 | 
						|
                " src/fw/applib/graphics/graphics_private.c"
 | 
						|
                " src/fw/applib/graphics/graphics_private_raw.c"
 | 
						|
                " src/fw/applib/graphics/graphics_circle.c"
 | 
						|
                " src/fw/applib/graphics/graphics_line.c"
 | 
						|
                " src/fw/applib/graphics/graphics.c",
 | 
						|
            test_sources_ant_glob="test_graphics_draw_implementation.c",
 | 
						|
            defines=ctx.env.test_image_defines,
 | 
						|
            runtime_deps=ctx.env.test_pngs + ctx.env.test_pbis)
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob =
 | 
						|
            " src/fw/applib/vendor/uPNG/upng.c"
 | 
						|
            " src/fw/applib/vendor/tinflate/tinflate.c"
 | 
						|
            " src/fw/applib/graphics/gtypes.c"
 | 
						|
            " src/fw/applib/graphics/gbitmap.c"
 | 
						|
            " src/fw/applib/graphics/gbitmap_png.c"
 | 
						|
            " src/fw/applib/graphics/gcolor_definitions.c"
 | 
						|
            " src/fw/applib/graphics/8_bit/framebuffer.c"
 | 
						|
            " src/fw/applib/graphics/framebuffer.c"
 | 
						|
            " src/fw/applib/graphics/8_bit/bitblt_private.c"
 | 
						|
            " src/fw/applib/graphics/bitblt.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private_raw.c"
 | 
						|
            " src/fw/applib/graphics/graphics_circle.c"
 | 
						|
            " src/fw/applib/graphics/graphics_line.c"
 | 
						|
            " src/fw/applib/graphics/graphics.c"
 | 
						|
            " src/fw/board/displays/display_$PLATFORM.c",
 | 
						|
        test_sources_ant_glob="test_bitblt_circular.c",
 | 
						|
        defines=ctx.env.test_image_defines,
 | 
						|
        runtime_deps=ctx.env.test_pngs + ctx.env.test_pbis,
 | 
						|
        platforms=["spalding"])
 | 
						|
 | 
						|
    clar(ctx,
 | 
						|
        sources_ant_glob =
 | 
						|
            " src/fw/applib/graphics/gtypes.c"
 | 
						|
            " src/fw/applib/graphics/gbitmap.c"
 | 
						|
            " tests/fakes/fake_gbitmap_png.c"
 | 
						|
            " tests/fakes/fake_gbitmap_get_data_row.c"
 | 
						|
            " src/fw/applib/graphics/gcolor_definitions.c"
 | 
						|
            " src/fw/applib/graphics/${BITDEPTH}_bit/framebuffer.c"
 | 
						|
            " src/fw/applib/graphics/framebuffer.c"
 | 
						|
            " src/fw/applib/ui/layer.c"
 | 
						|
            " src/fw/applib/graphics/${BITDEPTH}_bit/bitblt_private.c"
 | 
						|
            " src/fw/applib/graphics/bitblt.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private.c"
 | 
						|
            " src/fw/applib/graphics/graphics_private_raw.c"
 | 
						|
            " src/fw/applib/graphics/graphics_bitmap.c"
 | 
						|
            " src/fw/applib/graphics/graphics_circle.c"
 | 
						|
            " src/fw/applib/graphics/graphics_line.c"
 | 
						|
            " src/fw/applib/graphics/graphics.c",
 | 
						|
        test_sources_ant_glob="test_graphics_draw_rotated_bitmap.c",
 | 
						|
        defines=ctx.env.test_image_defines,
 | 
						|
        runtime_deps=ctx.env.test_pngs + ctx.env.test_pbis,
 | 
						|
        platforms=["tintin", "snowy"])
 | 
						|
 | 
						|
    ###############################
 | 
						|
    # 8-bit specific bitblt tests #
 | 
						|
    ###############################
 | 
						|
    graphics_sources_ant_glob = \
 | 
						|
        " src/fw/applib/graphics/gcolor_definitions.c" \
 | 
						|
        " src/fw/applib/graphics/8_bit/framebuffer.c" \
 | 
						|
        " src/fw/applib/graphics/framebuffer.c" \
 | 
						|
        " src/fw/applib/graphics/8_bit/bitblt_private.c" \
 | 
						|
        " src/fw/applib/graphics/gbitmap.c" \
 | 
						|
        " src/fw/applib/graphics/gtypes.c" \
 | 
						|
        " src/fw/applib/graphics/graphics.c" \
 | 
						|
        " src/fw/applib/graphics/graphics_bitmap.c" \
 | 
						|
        " src/fw/applib/graphics/gtransform.c" \
 | 
						|
        " src/fw/applib/graphics/bitblt.c" \
 | 
						|
        " src/fw/applib/ui/layer.c" \
 | 
						|
        " tests/fakes/fake_gbitmap_png.c" \
 | 
						|
        " tests/fakes/fake_display.c" \
 | 
						|
        " src/fw/applib/graphics/graphics_private.c" \
 | 
						|
        " src/fw/applib/graphics/graphics_private_raw.c" \
 | 
						|
        " src/fw/applib/graphics/graphics_circle.c" \
 | 
						|
        " src/fw/applib/graphics/graphics_line.c"
 | 
						|
 | 
						|
    graphics_test_sources_8bit = [
 | 
						|
        "test_bitblt.c",
 | 
						|
        "test_bitblt_palette.c"
 | 
						|
    ]
 | 
						|
 | 
						|
    for test in graphics_test_sources_8bit:
 | 
						|
        defines = ctx.env.test_image_defines
 | 
						|
 | 
						|
        clar(ctx,
 | 
						|
             sources_ant_glob = graphics_sources_ant_glob,
 | 
						|
             test_sources_ant_glob = test,
 | 
						|
             defines=defines)
 | 
						|
 | 
						|
# vim:filetype=python
 |