mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
Extend fuzzpuzz to test more code
Now if the input save file loads correctly, fuzzpuzz asks the back-end to draw the puzzle. All the drawing operations are no-ops, but this tests the drawing code in the back-end.
This commit is contained in:
@ -39,6 +39,8 @@ static void savefile_write(void *wctx, const void *buf, int len)
|
|||||||
fwrite(buf, 1, len, fp);
|
fwrite(buf, 1, len, fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static drawing_api drapi = { NULL };
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
const char *err;
|
const char *err;
|
||||||
@ -47,6 +49,7 @@ int main(int argc, char **argv)
|
|||||||
const game *ourgame = NULL;
|
const game *ourgame = NULL;
|
||||||
midend *me;
|
midend *me;
|
||||||
FILE *in = NULL;
|
FILE *in = NULL;
|
||||||
|
int w, h;
|
||||||
|
|
||||||
if (argc != 1) {
|
if (argc != 1) {
|
||||||
fprintf(stderr, "usage: %s\n", argv[0]);
|
fprintf(stderr, "usage: %s\n", argv[0]);
|
||||||
@ -93,7 +96,7 @@ int main(int argc, char **argv)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
me = midend_new(NULL, ourgame, NULL, NULL);
|
me = midend_new(NULL, ourgame, &drapi, NULL);
|
||||||
|
|
||||||
rewind(in);
|
rewind(in);
|
||||||
err = midend_deserialise(me, savefile_read, in);
|
err = midend_deserialise(me, savefile_read, in);
|
||||||
@ -103,6 +106,9 @@ int main(int argc, char **argv)
|
|||||||
midend_free(me);
|
midend_free(me);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
w = h = INT_MAX;
|
||||||
|
midend_size(me, &w, &h, false, 1);
|
||||||
|
midend_redraw(me);
|
||||||
midend_serialise(me, savefile_write, stdout);
|
midend_serialise(me, savefile_write, stdout);
|
||||||
midend_free(me);
|
midend_free(me);
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
10
nullfe.c
10
nullfe.c
@ -13,9 +13,10 @@ void get_random_seed(void **randseed, int *randseedsize)
|
|||||||
{ char *c = snewn(1, char); *c = 0; *randseed = c; *randseedsize = 1; }
|
{ char *c = snewn(1, char); *c = 0; *randseed = c; *randseedsize = 1; }
|
||||||
void deactivate_timer(frontend *fe) {}
|
void deactivate_timer(frontend *fe) {}
|
||||||
void activate_timer(frontend *fe) {}
|
void activate_timer(frontend *fe) {}
|
||||||
|
struct drawing { char dummy; };
|
||||||
drawing *drawing_new(const drawing_api *api, midend *me, void *handle)
|
drawing *drawing_new(const drawing_api *api, midend *me, void *handle)
|
||||||
{ return NULL; }
|
{ return snew(drawing); }
|
||||||
void drawing_free(drawing *dr) {}
|
void drawing_free(drawing *dr) { sfree(dr); }
|
||||||
void draw_text(drawing *dr, int x, int y, int fonttype, int fontsize,
|
void draw_text(drawing *dr, int x, int y, int fonttype, int fontsize,
|
||||||
int align, int colour, const char *text) {}
|
int align, int colour, const char *text) {}
|
||||||
void draw_rect(drawing *dr, int x, int y, int w, int h, int colour) {}
|
void draw_rect(drawing *dr, int x, int y, int w, int h, int colour) {}
|
||||||
@ -33,8 +34,9 @@ void unclip(drawing *dr) {}
|
|||||||
void start_draw(drawing *dr) {}
|
void start_draw(drawing *dr) {}
|
||||||
void draw_update(drawing *dr, int x, int y, int w, int h) {}
|
void draw_update(drawing *dr, int x, int y, int w, int h) {}
|
||||||
void end_draw(drawing *dr) {}
|
void end_draw(drawing *dr) {}
|
||||||
blitter *blitter_new(drawing *dr, int w, int h) {return NULL;}
|
struct blitter { char dummy; };
|
||||||
void blitter_free(drawing *dr, blitter *bl) {}
|
blitter *blitter_new(drawing *dr, int w, int h) { return snew(blitter); }
|
||||||
|
void blitter_free(drawing *dr, blitter *bl) { sfree(bl); }
|
||||||
void blitter_save(drawing *dr, blitter *bl, int x, int y) {}
|
void blitter_save(drawing *dr, blitter *bl, int x, int y) {}
|
||||||
void blitter_load(drawing *dr, blitter *bl, int x, int y) {}
|
void blitter_load(drawing *dr, blitter *bl, int x, int y) {}
|
||||||
int print_mono_colour(drawing *dr, int grey) { return 0; }
|
int print_mono_colour(drawing *dr, int grey) { return 0; }
|
||||||
|
Reference in New Issue
Block a user