|
@@ -141,7 +141,7 @@ static int stdlib_snprintf(void *arg)
|
|
|
int result;
|
|
|
int predicted;
|
|
|
char text[1024];
|
|
|
- const char *expected;
|
|
|
+ const char *expected, *expected2, *expected3, *expected4, *expected5;
|
|
|
size_t size;
|
|
|
|
|
|
result = SDL_snprintf(text, sizeof(text), "%s", "foo");
|
|
@@ -310,22 +310,58 @@ static int stdlib_snprintf(void *arg)
|
|
|
|
|
|
result = SDL_snprintf(text, sizeof(text), "%p", (void *)0x1234abcd);
|
|
|
expected = "0x1234abcd";
|
|
|
+ expected2 = "1234ABCD";
|
|
|
+ expected3 = "000000001234ABCD";
|
|
|
+ expected4 = "1234abcd";
|
|
|
+ expected5 = "000000001234abcd";
|
|
|
SDLTest_AssertPass("Call to SDL_snprintf(text, sizeof(text), \"%%p\", 0x1234abcd)");
|
|
|
- SDLTest_AssertCheck(SDL_strcmp(text, expected) == 0, "Check text, expected: '%s', got: '%s'", expected, text);
|
|
|
- SDLTest_AssertCheck(result == SDL_strlen(expected), "Check result value, expected: %d, got: %d", (int)SDL_strlen(expected), result);
|
|
|
+ SDLTest_AssertCheck(SDL_strcmp(text, expected) == 0 ||
|
|
|
+ SDL_strcmp(text, expected2) == 0 ||
|
|
|
+ SDL_strcmp(text, expected3) == 0 ||
|
|
|
+ SDL_strcmp(text, expected4) == 0 ||
|
|
|
+ SDL_strcmp(text, expected5) == 0,
|
|
|
+ "Check text, expected: '%s', got: '%s'", expected, text);
|
|
|
+ SDLTest_AssertCheck(result == SDL_strlen(expected) ||
|
|
|
+ result == SDL_strlen(expected2) ||
|
|
|
+ result == SDL_strlen(expected3) ||
|
|
|
+ result == SDL_strlen(expected4) ||
|
|
|
+ result == SDL_strlen(expected5),
|
|
|
+ "Check result value, expected: %d, got: %d", (int)SDL_strlen(expected), result);
|
|
|
|
|
|
result = SDL_snprintf(text, sizeof(text), "A %p B", (void *)0x1234abcd);
|
|
|
expected = "A 0x1234abcd B";
|
|
|
+ expected2 = "A 1234ABCD B";
|
|
|
+ expected3 = "A 000000001234ABCD B";
|
|
|
+ expected4 = "A 1234abcd B";
|
|
|
+ expected5 = "A 000000001234abcd B";
|
|
|
SDLTest_AssertPass("Call to SDL_snprintf(text, sizeof(text), \"A %%p B\", 0x1234abcd)");
|
|
|
- SDLTest_AssertCheck(SDL_strcmp(text, expected) == 0, "Check text, expected: '%s', got: '%s'", expected, text);
|
|
|
- SDLTest_AssertCheck(result == SDL_strlen(expected), "Check result value, expected: %d, got: %d", (int)SDL_strlen(expected), result);
|
|
|
+ SDLTest_AssertCheck(SDL_strcmp(text, expected) == 0 ||
|
|
|
+ SDL_strcmp(text, expected2) == 0 ||
|
|
|
+ SDL_strcmp(text, expected3) == 0 ||
|
|
|
+ SDL_strcmp(text, expected4) == 0 ||
|
|
|
+ SDL_strcmp(text, expected5) == 0,
|
|
|
+ "Check text, expected: '%s', got: '%s'", expected, text);
|
|
|
+ SDLTest_AssertCheck(result == SDL_strlen(expected) ||
|
|
|
+ result == SDL_strlen(expected2) ||
|
|
|
+ result == SDL_strlen(expected3) ||
|
|
|
+ result == SDL_strlen(expected4) ||
|
|
|
+ result == SDL_strlen(expected5),
|
|
|
+ "Check result value, expected: %d, got: %d", (int)SDL_strlen(expected), result);
|
|
|
|
|
|
if (sizeof(void *) >= 8) {
|
|
|
result = SDL_snprintf(text, sizeof(text), "%p", (void *)0x1ba07bddf60L);
|
|
|
expected = "0x1ba07bddf60";
|
|
|
+ expected2 = "000001BA07BDDF60";
|
|
|
+ expected3 = "000001ba07bddf60";
|
|
|
SDLTest_AssertPass("Call to SDL_snprintf(text, sizeof(text), \"%%p\", 0x1ba07bddf60)");
|
|
|
- SDLTest_AssertCheck(SDL_strcmp(text, expected) == 0, "Check text, expected: '%s', got: '%s'", expected, text);
|
|
|
- SDLTest_AssertCheck(result == SDL_strlen(expected), "Check result value, expected: %d, got: %d", (int)SDL_strlen(expected), result);
|
|
|
+ SDLTest_AssertCheck(SDL_strcmp(text, expected) == 0 ||
|
|
|
+ SDL_strcmp(text, expected2) == 0 ||
|
|
|
+ SDL_strcmp(text, expected3) == 0,
|
|
|
+ "Check text, expected: '%s', got: '%s'", expected, text);
|
|
|
+ SDLTest_AssertCheck(result == SDL_strlen(expected) ||
|
|
|
+ result == SDL_strlen(expected2) ||
|
|
|
+ result == SDL_strlen(expected3),
|
|
|
+ "Check result value, expected: %d, got: %d", (int)SDL_strlen(expected), result);
|
|
|
}
|
|
|
return TEST_COMPLETED;
|
|
|
}
|