Skip to content

Commit ca1c3bd

Browse files
committed
tests: Allow more canvas tests to run before bailing out on failure
1 parent 9f09257 commit ca1c3bd

File tree

1 file changed

+28
-21
lines changed

1 file changed

+28
-21
lines changed

tests/canvas-test.c

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ test_color_char (ChafaCanvas *canvas, ChafaPixelType pixel_type,
102102
return result;
103103
}
104104

105-
static void
105+
static gboolean
106106
symbols_fgbg_test_bw_canvas (ChafaCanvas *canvas, gchar black_char, gchar white_char)
107107
{
108108
const guint8 black_pixel_rgba8 [4] = { 0x00, 0x00, 0x00, 0xff };
@@ -143,10 +143,10 @@ symbols_fgbg_test_bw_canvas (ChafaCanvas *canvas, gchar black_char, gchar white_
143143
white_pixel,
144144
white_char);
145145

146-
g_assert (result == TRUE);
146+
return result;
147147
}
148148

149-
static void
149+
static gboolean
150150
symbols_fgbg_test_bw_params (ChafaCanvasMode canvas_mode, gboolean fg_only,
151151
gint width, gint height,
152152
const gchar *selectors, gchar black_char, gchar white_char,
@@ -155,6 +155,7 @@ symbols_fgbg_test_bw_params (ChafaCanvasMode canvas_mode, gboolean fg_only,
155155
ChafaSymbolMap *symbol_map;
156156
ChafaCanvasConfig *config;
157157
ChafaCanvas *canvas, *canvas2;
158+
gboolean result;
158159

159160
symbol_map = chafa_symbol_map_new ();
160161
chafa_symbol_map_apply_selectors (symbol_map, selectors, NULL);
@@ -167,36 +168,42 @@ symbols_fgbg_test_bw_params (ChafaCanvasMode canvas_mode, gboolean fg_only,
167168
chafa_canvas_config_set_work_factor (config, work_factor);
168169

169170
canvas = chafa_canvas_new (config);
170-
symbols_fgbg_test_bw_canvas (canvas, black_char, white_char);
171+
result = symbols_fgbg_test_bw_canvas (canvas, black_char, white_char);
171172

172173
canvas2 = chafa_canvas_new_similar (canvas);
173174
chafa_canvas_unref (canvas);
174-
symbols_fgbg_test_bw_canvas (canvas2, black_char, white_char);
175+
result |= symbols_fgbg_test_bw_canvas (canvas2, black_char, white_char);
175176
chafa_canvas_unref (canvas2);
176177

177178
chafa_canvas_config_unref (config);
178179
chafa_symbol_map_unref (symbol_map);
180+
return result;
179181
}
180182

181183
static void
182184
symbols_fgbg_test (void)
183185
{
184-
symbols_fgbg_test_bw_params (CHAFA_CANVAS_MODE_FGBG_BGFG, TRUE,
185-
10, 10, "[ a]", ' ', 'a', 0.5f);
186-
symbols_fgbg_test_bw_params (CHAFA_CANVAS_MODE_FGBG_BGFG, TRUE,
187-
17, 17, "[ .]", ' ', '.', 0.2f);
188-
symbols_fgbg_test_bw_params (CHAFA_CANVAS_MODE_FGBG_BGFG, TRUE,
189-
1, 1, "[.Q]", '.', 'Q', 0.8f);
190-
symbols_fgbg_test_bw_params (CHAFA_CANVAS_MODE_FGBG, FALSE,
191-
10, 10, "[ ']", ' ', '\'', 1.0f);
192-
symbols_fgbg_test_bw_params (CHAFA_CANVAS_MODE_FGBG, TRUE,
193-
23, 23, "[ .]", ' ', '.', 0.05f);
194-
symbols_fgbg_test_bw_params (CHAFA_CANVAS_MODE_FGBG, FALSE,
195-
3, 3, "[ /]", ' ', '/', 0.2f);
196-
symbols_fgbg_test_bw_params (CHAFA_CANVAS_MODE_FGBG_BGFG, TRUE,
197-
41, 41, "[ .Q]", ' ', 'Q', 0.5f);
198-
symbols_fgbg_test_bw_params (CHAFA_CANVAS_MODE_FGBG_BGFG, TRUE,
199-
100, 100, "[ a]", ' ', 'a', 0.2f);
186+
gboolean result = TRUE;
187+
188+
result &= symbols_fgbg_test_bw_params (CHAFA_CANVAS_MODE_FGBG_BGFG, TRUE,
189+
10, 10, "[ a]", ' ', 'a', 0.5f);
190+
result &= symbols_fgbg_test_bw_params (CHAFA_CANVAS_MODE_FGBG_BGFG, TRUE,
191+
17, 17, "[ .]", ' ', '.', 0.2f);
192+
result &= symbols_fgbg_test_bw_params (CHAFA_CANVAS_MODE_FGBG_BGFG, TRUE,
193+
1, 1, "[.Q]", '.', 'Q', 0.8f);
194+
result &= symbols_fgbg_test_bw_params (CHAFA_CANVAS_MODE_FGBG, FALSE,
195+
10, 10, "[ ']", ' ', '\'', 1.0f);
196+
result &= symbols_fgbg_test_bw_params (CHAFA_CANVAS_MODE_FGBG, TRUE,
197+
23, 23, "[ .]", ' ', '.', 0.05f);
198+
result &= symbols_fgbg_test_bw_params (CHAFA_CANVAS_MODE_FGBG, FALSE,
199+
3, 3, "[ /]", ' ', '/', 0.2f);
200+
result &= symbols_fgbg_test_bw_params (CHAFA_CANVAS_MODE_FGBG_BGFG, TRUE,
201+
41, 41, "[ .Q]", ' ', 'Q', 0.5f);
202+
result &= symbols_fgbg_test_bw_params (CHAFA_CANVAS_MODE_FGBG_BGFG, TRUE,
203+
100, 100, "[ a]", ' ', 'a', 0.2f);
204+
205+
g_assert (result == TRUE);
206+
}
200207

201208
static void
202209
symbols_fgbg_test_st (void)

0 commit comments

Comments
 (0)