mirror of
https://github.com/love2d/megasource.git
synced 2026-08-18 11:44:19 +02:00
Update SDL to 2.0.7
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
Simple DirectMedia Layer
|
||||
Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
|
||||
Copyright (C) 1997-2017 Sam Lantinga <slouken@libsdl.org>
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
@@ -97,17 +97,17 @@ SDLTest_GenerateRunSeed(const int length)
|
||||
* \returns The generated execution key to initialize the fuzzer with.
|
||||
*
|
||||
*/
|
||||
Uint64
|
||||
SDLTest_GenerateExecKey(char *runSeed, char *suiteName, char *testName, int iteration)
|
||||
static Uint64
|
||||
SDLTest_GenerateExecKey(const char *runSeed, char *suiteName, char *testName, int iteration)
|
||||
{
|
||||
SDLTest_Md5Context md5Context;
|
||||
Uint64 *keys;
|
||||
char iterationString[16];
|
||||
Uint32 runSeedLength;
|
||||
Uint32 suiteNameLength;
|
||||
Uint32 testNameLength;
|
||||
Uint32 iterationStringLength;
|
||||
Uint32 entireStringLength;
|
||||
size_t runSeedLength;
|
||||
size_t suiteNameLength;
|
||||
size_t testNameLength;
|
||||
size_t iterationStringLength;
|
||||
size_t entireStringLength;
|
||||
char *buffer;
|
||||
|
||||
if (runSeed == NULL || runSeed[0] == '\0') {
|
||||
@@ -150,7 +150,7 @@ SDLTest_GenerateExecKey(char *runSeed, char *suiteName, char *testName, int iter
|
||||
|
||||
/* Hash string and use half of the digest as 64bit exec key */
|
||||
SDLTest_Md5Init(&md5Context);
|
||||
SDLTest_Md5Update(&md5Context, (unsigned char *)buffer, entireStringLength);
|
||||
SDLTest_Md5Update(&md5Context, (unsigned char *)buffer, (unsigned int) entireStringLength);
|
||||
SDLTest_Md5Final(&md5Context);
|
||||
SDL_free(buffer);
|
||||
keys = (Uint64 *)md5Context.digest;
|
||||
@@ -168,7 +168,7 @@ SDLTest_GenerateExecKey(char *runSeed, char *suiteName, char *testName, int iter
|
||||
*
|
||||
* \return Timer id or -1 on failure.
|
||||
*/
|
||||
SDL_TimerID
|
||||
static SDL_TimerID
|
||||
SDLTest_SetTestTimeout(int timeout, void (*callback)())
|
||||
{
|
||||
Uint32 timeoutInMilliseconds;
|
||||
@@ -206,8 +206,8 @@ SDLTest_SetTestTimeout(int timeout, void (*callback)())
|
||||
/**
|
||||
* \brief Timeout handler. Aborts test run and exits harness process.
|
||||
*/
|
||||
void
|
||||
SDLTest_BailOut()
|
||||
static SDL_NORETURN void
|
||||
SDLTest_BailOut()
|
||||
{
|
||||
SDLTest_LogError("TestCaseTimeout timer expired. Aborting test run.");
|
||||
exit(TEST_ABORTED); /* bail out from the test */
|
||||
@@ -223,8 +223,8 @@ void
|
||||
*
|
||||
* \returns Test case result.
|
||||
*/
|
||||
int
|
||||
SDLTest_RunTest(SDLTest_TestSuiteReference *testSuite, SDLTest_TestCaseReference *testCase, Uint64 execKey, SDL_bool forceTestRun)
|
||||
static int
|
||||
SDLTest_RunTest(SDLTest_TestSuiteReference *testSuite, const SDLTest_TestCaseReference *testCase, Uint64 execKey, SDL_bool forceTestRun)
|
||||
{
|
||||
SDL_TimerID timer = 0;
|
||||
int testCaseResult = 0;
|
||||
@@ -313,7 +313,8 @@ SDLTest_RunTest(SDLTest_TestSuiteReference *testSuite, SDLTest_TestCaseReference
|
||||
}
|
||||
|
||||
/* Prints summary of all suites/tests contained in the given reference */
|
||||
void SDLTest_LogTestSuiteSummary(SDLTest_TestSuiteReference *testSuites)
|
||||
#if 0
|
||||
static void SDLTest_LogTestSuiteSummary(SDLTest_TestSuiteReference *testSuites)
|
||||
{
|
||||
int suiteCounter;
|
||||
int testCounter;
|
||||
@@ -340,12 +341,13 @@ void SDLTest_LogTestSuiteSummary(SDLTest_TestSuiteReference *testSuites)
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Gets a timer value in seconds */
|
||||
float GetClock()
|
||||
static float GetClock()
|
||||
{
|
||||
float currentClock = (float)clock();
|
||||
return currentClock / (float)CLOCKS_PER_SEC;
|
||||
float currentClock = clock() / (float) CLOCKS_PER_SEC;
|
||||
return currentClock;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -370,7 +372,7 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
|
||||
int testCounter;
|
||||
int iterationCounter;
|
||||
SDLTest_TestSuiteReference *testSuite;
|
||||
SDLTest_TestCaseReference *testCase;
|
||||
const SDLTest_TestCaseReference *testCase;
|
||||
const char *runSeed = NULL;
|
||||
char *currentSuiteName;
|
||||
char *currentTestName;
|
||||
@@ -396,7 +398,7 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
|
||||
Uint32 testPassedCount = 0;
|
||||
Uint32 testSkippedCount = 0;
|
||||
Uint32 countSum = 0;
|
||||
SDLTest_TestCaseReference **failedTests;
|
||||
const SDLTest_TestCaseReference **failedTests;
|
||||
|
||||
/* Sanitize test iterations */
|
||||
if (testIterations < 1) {
|
||||
@@ -440,7 +442,7 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
|
||||
}
|
||||
|
||||
/* Pre-allocate an array for tracking failed tests (potentially all test cases) */
|
||||
failedTests = (SDLTest_TestCaseReference **)SDL_malloc(totalNumberOfTests * sizeof(SDLTest_TestCaseReference *));
|
||||
failedTests = (const SDLTest_TestCaseReference **)SDL_malloc(totalNumberOfTests * sizeof(SDLTest_TestCaseReference *));
|
||||
if (failedTests == NULL) {
|
||||
SDLTest_LogError("Unable to allocate cache for failed tests");
|
||||
SDL_Error(SDL_ENOMEM);
|
||||
@@ -466,7 +468,7 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
|
||||
testCounter = 0;
|
||||
while (testSuite->testCases[testCounter] && testFilter == 0)
|
||||
{
|
||||
testCase=(SDLTest_TestCaseReference *)testSuite->testCases[testCounter];
|
||||
testCase = testSuite->testCases[testCounter];
|
||||
testCounter++;
|
||||
if (testCase->name != NULL && SDL_strcmp(filter, testCase->name) == 0) {
|
||||
/* Matched a test name */
|
||||
@@ -483,7 +485,7 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
|
||||
if (suiteFilter == 0 && testFilter == 0) {
|
||||
SDLTest_LogError("Filter '%s' did not match any test suite/case.", filter);
|
||||
SDLTest_Log("Exit code: 2");
|
||||
SDL_free(failedTests);
|
||||
SDL_free((void *) failedTests);
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
@@ -521,7 +523,7 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
|
||||
testCounter = 0;
|
||||
while(testSuite->testCases[testCounter])
|
||||
{
|
||||
testCase=(SDLTest_TestCaseReference *)testSuite->testCases[testCounter];
|
||||
testCase = testSuite->testCases[testCounter];
|
||||
currentTestName = (char *)((testCase->name) ? testCase->name : SDLTEST_INVALID_NAME_FORMAT);
|
||||
testCounter++;
|
||||
|
||||
@@ -562,7 +564,7 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
|
||||
if (userExecKey != 0) {
|
||||
execKey = userExecKey;
|
||||
} else {
|
||||
execKey = SDLTest_GenerateExecKey((char *)runSeed, testSuite->name, testCase->name, iterationCounter);
|
||||
execKey = SDLTest_GenerateExecKey(runSeed, testSuite->name, testCase->name, iterationCounter);
|
||||
}
|
||||
|
||||
SDLTest_Log("Test Iteration %i: execKey %" SDL_PRIu64, iterationCounter, execKey);
|
||||
@@ -669,8 +671,10 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
|
||||
SDLTest_Log(" --seed %s --filter %s", runSeed, failedTests[testCounter]->name);
|
||||
}
|
||||
}
|
||||
SDL_free(failedTests);
|
||||
SDL_free((void *) failedTests);
|
||||
|
||||
SDLTest_Log("Exit code: %d", runResult);
|
||||
return runResult;
|
||||
}
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
||||
Reference in New Issue
Block a user