Skip to content

Commit 450fbe2

Browse files
committed
test: clear error before running SDL_image function
1 parent 40c2f08 commit 450fbe2

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

test/main.c

+21-3
Original file line numberDiff line numberDiff line change
@@ -526,6 +526,7 @@ ConvertToRgba32(SDL_Surface **surface_p)
526526
if ((*surface_p)->format->format != SDL_PIXELFORMAT_RGBA32) {
527527
SDL_Surface *temp;
528528

529+
SDL_ClearError();
529530
temp = SDL_ConvertSurfaceFormat(*surface_p, SDL_PIXELFORMAT_RGBA32);
530531
SDLTest_AssertCheck(temp != NULL,
531532
"Converting to RGBA should succeed (%s)",
@@ -634,23 +635,29 @@ FormatLoadTest(const Format *format,
634635
SDL_Surface *reference = NULL;
635636
SDL_Surface *surface = NULL;
636637
SDL_IOStream *src = NULL;
637-
char *filename = GetTestFilename(TEST_FILE_DIST, format->sample);
638-
char *refFilename = GetTestFilename(TEST_FILE_DIST, format->reference);
638+
char *filename = NULL;
639+
char *refFilename = NULL;
639640
int initResult = 0;
640641
int diff;
641642

643+
SDL_ClearError();
644+
filename = GetTestFilename(TEST_FILE_DIST, format->sample);
642645
if (!SDLTest_AssertCheck(filename != NULL,
643646
"Building filename should succeed (%s)",
644647
SDL_GetError())) {
645648
goto out;
646649
}
650+
651+
SDL_ClearError();
652+
refFilename = GetTestFilename(TEST_FILE_DIST, format->reference);
647653
if (!SDLTest_AssertCheck(refFilename != NULL,
648654
"Building ref filename should succeed (%s)",
649655
SDL_GetError())) {
650656
goto out;
651657
}
652658

653659
if (StrHasSuffix(format->reference, ".bmp")) {
660+
SDL_ClearError();
654661
reference = SDL_LoadBMP(refFilename);
655662
if (!SDLTest_AssertCheck(reference != NULL,
656663
"Loading reference should succeed (%s)",
@@ -660,6 +667,7 @@ FormatLoadTest(const Format *format,
660667
}
661668
else if (StrHasSuffix (format->reference, ".png")) {
662669
#ifdef LOAD_PNG
670+
SDL_ClearError();
663671
reference = IMG_Load(refFilename);
664672
if (!SDLTest_AssertCheck(reference != NULL,
665673
"Loading reference should succeed (%s)",
@@ -670,6 +678,7 @@ FormatLoadTest(const Format *format,
670678
}
671679

672680
if (format->initFlag) {
681+
SDL_ClearError();
673682
initResult = IMG_Init(format->initFlag);
674683
if (!SDLTest_AssertCheck(initResult != 0,
675684
"Initialization should succeed (%s)",
@@ -682,6 +691,7 @@ FormatLoadTest(const Format *format,
682691
}
683692

684693
if (mode != LOAD_CONVENIENCE) {
694+
SDL_ClearError();
685695
src = SDL_IOFromFile(filename, "rb");
686696
SDLTest_AssertCheck(src != NULL,
687697
"Opening %s should succeed (%s)",
@@ -690,6 +700,7 @@ FormatLoadTest(const Format *format,
690700
goto out;
691701
}
692702

703+
SDL_ClearError();
693704
switch (mode) {
694705
case LOAD_CONVENIENCE:
695706
surface = IMG_Load(filename);
@@ -721,6 +732,7 @@ FormatLoadTest(const Format *format,
721732
filename, format->name, check);
722733
}
723734

735+
SDL_ClearError();
724736
surface = IMG_Load_IO(src, SDL_TRUE);
725737
src = NULL; /* ownership taken */
726738
break;
@@ -795,7 +807,7 @@ static void
795807
FormatSaveTest(const Format *format,
796808
SDL_bool rw)
797809
{
798-
char *refFilename = GetTestFilename(TEST_FILE_DIST, "sample.bmp");
810+
char *refFilename = NULL;
799811
char filename[64] = { 0 };
800812
SDL_Surface *reference = NULL;
801813
SDL_Surface *surface = NULL;
@@ -809,12 +821,15 @@ FormatSaveTest(const Format *format,
809821
rw ? "Rwops" : "",
810822
format->name);
811823

824+
SDL_ClearError();
825+
refFilename = GetTestFilename(TEST_FILE_DIST, "sample.bmp");
812826
if (!SDLTest_AssertCheck(refFilename != NULL,
813827
"Building ref filename should succeed (%s)",
814828
SDL_GetError())) {
815829
goto out;
816830
}
817831

832+
SDL_ClearError();
818833
reference = SDL_LoadBMP(refFilename);
819834
if (!SDLTest_AssertCheck(reference != NULL,
820835
"Loading reference should succeed (%s)",
@@ -823,6 +838,7 @@ FormatSaveTest(const Format *format,
823838
}
824839

825840
if (format->initFlag) {
841+
SDL_ClearError();
826842
initResult = IMG_Init(format->initFlag);
827843
if (!SDLTest_AssertCheck(initResult != 0,
828844
"Initialization should succeed (%s)",
@@ -834,6 +850,7 @@ FormatSaveTest(const Format *format,
834850
format->initFlag, initResult);
835851
}
836852

853+
SDL_ClearError();
837854
if (SDL_strcmp (format->name, "AVIF") == 0) {
838855
if (rw) {
839856
dest = SDL_IOFromFile(filename, "wb");
@@ -866,6 +883,7 @@ FormatSaveTest(const Format *format,
866883
SDLTest_AssertCheck(result == 0, "Save %s (%s)", filename, SDL_GetError());
867884

868885
if (format->canLoad) {
886+
SDL_ClearError();
869887
surface = IMG_Load(filename);
870888

871889
if (!SDLTest_AssertCheck(surface != NULL,

0 commit comments

Comments
 (0)