diff --git a/test/dm/video.c b/test/dm/video.c
index 4d000fa..6a5626c 100644
--- a/test/dm/video.c
+++ b/test/dm/video.c
@@ -100,6 +100,14 @@
 	return 0;
 }
 
+static void vidconsole_put_string(struct udevice *dev, const char *str)
+{
+	const char *s;
+
+	for (s = str; *s; s++)
+		vidconsole_put_char(dev, *s);
+}
+
 /* Test text output works on the video console */
 static int dm_test_video_text(struct unit_test_state *uts)
 {
@@ -140,13 +148,11 @@
 {
 	struct udevice *dev, *con;
 	const char *test_string = "Well\b\b\b\bxhe is\r \n\ta very \amodest  \bman\n\t\tand Has much to\b\bto be modest about.";
-	const char *s;
 
 	ut_assertok(select_vidconsole(uts, "vidconsole0"));
 	ut_assertok(uclass_get_device(UCLASS_VIDEO, 0, &dev));
 	ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
-	for (s = test_string; *s; s++)
-		vidconsole_put_char(con, *s);
+	vidconsole_put_string(con, test_string);
 	ut_asserteq(466, compress_frame_buffer(dev));
 
 	return 0;
@@ -294,12 +300,10 @@
 {
 	struct udevice *dev, *con;
 	const char *test_string = "Criticism may not be agreeable, but it is necessary. It fulfils the same function as pain in the human body. It calls attention to an unhealthy state of things. Some see private enterprise as a predatory target to be shot, others as a cow to be milked, but few are those who see it as a sturdy horse pulling the wagon. The \aprice OF\b\bof greatness\n\tis responsibility.\n\nBye";
-	const char *s;
 
 	ut_assertok(uclass_get_device(UCLASS_VIDEO, 0, &dev));
 	ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
-	for (s = test_string; *s; s++)
-		vidconsole_put_char(con, *s);
+	vidconsole_put_string(con, test_string);
 	ut_asserteq(12619, compress_frame_buffer(dev));
 
 	return 0;
@@ -312,7 +316,6 @@
 	struct sandbox_sdl_plat *plat;
 	struct udevice *dev, *con;
 	const char *test_string = "Criticism may not be agreeable, but it is necessary. It fulfils the same function as pain in the human body. It calls attention to an unhealthy state of things. Some see private enterprise as a predatory target to be shot, others as a cow to be milked, but few are those who see it as a sturdy horse pulling the wagon. The \aprice OF\b\bof greatness\n\tis responsibility.\n\nBye";
-	const char *s;
 
 	ut_assertok(uclass_find_device(UCLASS_VIDEO, 0, &dev));
 	ut_assert(!device_active(dev));
@@ -321,8 +324,7 @@
 
 	ut_assertok(uclass_get_device(UCLASS_VIDEO, 0, &dev));
 	ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
-	for (s = test_string; *s; s++)
-		vidconsole_put_char(con, *s);
+	vidconsole_put_string(con, test_string);
 	ut_asserteq(33849, compress_frame_buffer(dev));
 
 	return 0;
@@ -335,7 +337,6 @@
 	struct sandbox_sdl_plat *plat;
 	struct udevice *dev, *con;
 	const char *test_string = "...Criticism may or may\b\b\b\b\b\bnot be agreeable, but seldom it is necessary\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bit is necessary. It fulfils the same function as pain in the human body. It calls attention to an unhealthy state of things.";
-	const char *s;
 
 	ut_assertok(uclass_find_device(UCLASS_VIDEO, 0, &dev));
 	ut_assert(!device_active(dev));
@@ -344,8 +345,7 @@
 
 	ut_assertok(uclass_get_device(UCLASS_VIDEO, 0, &dev));
 	ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
-	for (s = test_string; *s; s++)
-		vidconsole_put_char(con, *s);
+	vidconsole_put_string(con, test_string);
 	ut_asserteq(34871, compress_frame_buffer(dev));
 
 	return 0;
