First automated video test (running videotest and comparing results)

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2013-05-02 14:39:03 +02:00
parent cd0f6eec7b
commit 5036166022
16 changed files with 1150 additions and 97 deletions

View file

@ -3,4 +3,5 @@ void EXPORT_FUNC (close) (void);
void EXPORT_FUNC (read) (void);
void EXPORT_FUNC (write) (void);
void EXPORT_FUNC (ioctl) (void);
void EXPORT_FUNC (__errno_location) (void);
void EXPORT_FUNC (strerror) (void);

View file

@ -90,4 +90,13 @@ void grub_unit_test_fini (void);
grub_test_unregister (#name); \
}
void
grub_video_checksum (const char *basename_in);
void
grub_video_checksum_end (void);
void
grub_terminal_input_fake_sequence (int *seq_in, int nseq_in);
void
grub_terminal_input_fake_sequence_end (void);
#endif /* ! GRUB_TEST_HEADER */

View file

@ -284,7 +284,8 @@ typedef enum grub_video_driver_id
GRUB_VIDEO_DRIVER_SIS315PRO,
GRUB_VIDEO_DRIVER_RADEON_FULOONG2E,
GRUB_VIDEO_DRIVER_COREBOOT,
GRUB_VIDEO_DRIVER_IEEE1275
GRUB_VIDEO_DRIVER_IEEE1275,
GRUB_VIDEO_ADAPTER_CAPTURE
} grub_video_driver_id_t;
typedef enum grub_video_adapter_prio
@ -544,9 +545,122 @@ extern void grub_video_sis315pro_fini (void);
extern void grub_video_radeon_fuloong2e_fini (void);
#endif
#ifdef GRUB_UTIL
void
grub_video_set_adapter (grub_video_adapter_t adapter);
#endif
grub_video_adapter_t
grub_video_get_adapter (void);
grub_err_t
grub_video_capture_start (const struct grub_video_mode_info *mode_info,
struct grub_video_palette_data *palette,
unsigned int palette_size);
void
grub_video_capture_end (void);
void *
grub_video_capture_get_framebuffer (void);
extern grub_video_adapter_t EXPORT_VAR (grub_video_adapter_active);
extern void (*grub_video_capture_refresh_cb) (void);
#define GRUB_VIDEO_MI_RGB555(x) \
x.mode_type = GRUB_VIDEO_MODE_TYPE_RGB, \
x.bpp = 15, \
x.bytes_per_pixel = 2, \
x.number_of_colors = 256, \
x.red_mask_size = 5, \
x.red_field_pos = 10, \
x.green_mask_size = 5, \
x.green_field_pos = 5, \
x.blue_mask_size = 5, \
x.blue_field_pos = 0
#define GRUB_VIDEO_MI_RGB565(x) \
x.mode_type = GRUB_VIDEO_MODE_TYPE_RGB, \
x.bpp = 16, \
x.bytes_per_pixel = 2, \
x.number_of_colors = 256, \
x.red_mask_size = 5, \
x.red_field_pos = 11, \
x.green_mask_size = 6, \
x.green_field_pos = 5, \
x.blue_mask_size = 5, \
x.blue_field_pos = 0
#define GRUB_VIDEO_MI_RGB888(x) \
x.mode_type = GRUB_VIDEO_MODE_TYPE_RGB, \
x.bpp = 24, \
x.bytes_per_pixel = 3, \
x.number_of_colors = 256, \
x.red_mask_size = 8, \
x.red_field_pos = 16, \
x.green_mask_size = 8, \
x.green_field_pos = 8, \
x.blue_mask_size = 8, \
x.blue_field_pos = 0
#define GRUB_VIDEO_MI_RGBA8888(x) \
x.mode_type = GRUB_VIDEO_MODE_TYPE_RGB, \
x.bpp = 32, \
x.bytes_per_pixel = 4, \
x.number_of_colors = 256, \
x.reserved_mask_size = 8, \
x.reserved_field_pos = 24, \
x.red_mask_size = 8, \
x.red_field_pos = 16, \
x.green_mask_size = 8, \
x.green_field_pos = 8, \
x.blue_mask_size = 8, \
x.blue_field_pos = 0
#define GRUB_VIDEO_MI_BGR555(x) \
x.mode_type = GRUB_VIDEO_MODE_TYPE_RGB, \
x.bpp = 15, \
x.bytes_per_pixel = 2, \
x.number_of_colors = 256, \
x.red_mask_size = 5, \
x.red_field_pos = 0, \
x.green_mask_size = 5, \
x.green_field_pos = 5, \
x.blue_mask_size = 5, \
x.blue_field_pos = 10
#define GRUB_VIDEO_MI_BGR565(x) \
x.mode_type = GRUB_VIDEO_MODE_TYPE_RGB, \
x.bpp = 16, \
x.bytes_per_pixel = 2, \
x.number_of_colors = 256, \
x.red_mask_size = 5, \
x.red_field_pos = 0, \
x.green_mask_size = 6, \
x.green_field_pos = 5, \
x.blue_mask_size = 5, \
x.blue_field_pos = 11
#define GRUB_VIDEO_MI_BGR888(x) \
x.mode_type = GRUB_VIDEO_MODE_TYPE_RGB, \
x.bpp = 24, \
x.bytes_per_pixel = 3, \
x.number_of_colors = 256, \
x.red_mask_size = 8, \
x.red_field_pos = 0, \
x.green_mask_size = 8, \
x.green_field_pos = 8, \
x.blue_mask_size = 8, \
x.blue_field_pos = 16
#define GRUB_VIDEO_MI_BGRA8888(x) \
x.mode_type = GRUB_VIDEO_MODE_TYPE_RGB, \
x.bpp = 32, \
x.bytes_per_pixel = 4, \
x.number_of_colors = 256, \
x.reserved_mask_size = 8, \
x.reserved_field_pos = 24, \
x.red_mask_size = 8, \
x.red_field_pos = 0, \
x.green_mask_size = 8, \
x.green_field_pos = 8, \
x.blue_mask_size = 8, \
x.blue_field_pos = 16
#endif /* ! GRUB_VIDEO_HEADER */