Consistency and fixing thread unit tests
This commit is contained in:
@@ -179,7 +179,7 @@ errorret_t assetUpdate(void) {
|
||||
|
||||
// If an error occured these things need to be true, basically just
|
||||
// ensuring the sync loader is setting the error correctly.
|
||||
if(ret.code != ERROR_OK) {
|
||||
if(errorIsNotOk(ret)) {
|
||||
assertTrue(
|
||||
loading->entry->state == ASSET_ENTRY_STATE_ERROR,
|
||||
"Loader did not set entry state to error on failed load."
|
||||
|
||||
@@ -69,7 +69,7 @@ extern assetloadercallbacks_t ASSET_LOADER_CALLBACKS[ASSET_LOADER_TYPE_COUNT];
|
||||
* @param ret The error return value to check and chain if it's an error.
|
||||
*/
|
||||
#define assetLoaderErrorChain(loading, ret) {\
|
||||
if(ret.code != ERROR_OK) { \
|
||||
if(errorIsNotOk(ret)) { \
|
||||
loading->entry->state = ASSET_ENTRY_STATE_ERROR; \
|
||||
errorChain(ret); \
|
||||
} \
|
||||
|
||||
@@ -47,7 +47,7 @@ errorret_t assetMeshLoaderSync(assetloading_t *loading) {
|
||||
for(uint32_t i = 0; i < triangleCount; i++) {
|
||||
assetmeshstltriangle_t triData;
|
||||
ret = assetFileRead(file, &triData, sizeof(triData));
|
||||
if(ret.code != ERROR_OK) {
|
||||
if(errorIsNotOk(ret)) {
|
||||
memoryFree(verts);
|
||||
out->vertices = NULL;
|
||||
assetLoaderErrorChain(loading, ret);
|
||||
@@ -117,7 +117,7 @@ errorret_t assetMeshLoaderSync(assetloading_t *loading) {
|
||||
}
|
||||
|
||||
ret = assetFileClose(file);
|
||||
if(ret.code != ERROR_OK) {
|
||||
if(errorIsNotOk(ret)) {
|
||||
memoryFree(verts);
|
||||
out->vertices = NULL;
|
||||
assetLoaderErrorChain(loading, ret);
|
||||
@@ -127,7 +127,7 @@ errorret_t assetMeshLoaderSync(assetloading_t *loading) {
|
||||
ret = meshInit(
|
||||
&out->mesh, MESH_PRIMITIVE_TYPE_TRIANGLES, triangleCount * 3, verts
|
||||
);
|
||||
if(ret.code != ERROR_OK) {
|
||||
if(errorIsNotOk(ret)) {
|
||||
loading->entry->state = ASSET_ENTRY_STATE_ERROR;
|
||||
memoryFree(verts);
|
||||
out->vertices = NULL;
|
||||
|
||||
@@ -27,7 +27,7 @@ int assetTextureReader(void *user, char *data, int size) {
|
||||
assertNotNull(file, "Asset file in stb_image callbacks cannot be NULL.");
|
||||
|
||||
errorret_t ret = assetFileRead(file, data, (size_t)size);
|
||||
if(ret.code != ERROR_OK) {
|
||||
if(errorIsNotOk(ret)) {
|
||||
errorCatch(errorPrint(ret));
|
||||
return -1;
|
||||
}
|
||||
@@ -40,7 +40,7 @@ void assetTextureSkipper(void *user, int n) {
|
||||
assertNotNull(file, "Asset file in stb_image callbacks cannot be NULL.");
|
||||
|
||||
errorret_t ret = assetFileRead(file, NULL, (size_t)n);
|
||||
if(ret.code != ERROR_OK) {
|
||||
if(errorIsNotOk(ret)) {
|
||||
errorCatch(errorPrint(ret));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -589,7 +589,7 @@ errorret_t assetLocaleGetStringWithVA(
|
||||
tempBuffer,
|
||||
bufferSize
|
||||
);
|
||||
if(ret.code != ERROR_OK) {
|
||||
if(errorIsNotOk(ret)) {
|
||||
memoryFree(tempBuffer);
|
||||
return ret;
|
||||
}
|
||||
@@ -637,7 +637,7 @@ errorret_t assetLocaleGetStringWithArgs(
|
||||
format,
|
||||
bufferSize
|
||||
);
|
||||
if(ret.code != ERROR_OK) {
|
||||
if(errorIsNotOk(ret)) {
|
||||
memoryFree(format);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ errorret_t errorChainImpl(
|
||||
const char_t *function,
|
||||
const int32_t line
|
||||
) {
|
||||
if(retval.code == ERROR_OK) return retval;
|
||||
if(errorIsOk(retval)) return retval;
|
||||
|
||||
assertNotNull(retval.state, "Error state NULL (Likely missing errorOk)");
|
||||
assertNotNull(retval.state->message, "Message cannot be NULL");
|
||||
@@ -111,7 +111,7 @@ errorret_t errorChainImpl(
|
||||
}
|
||||
|
||||
void errorCatch(errorret_t retval) {
|
||||
if(retval.code == ERROR_OK) return;
|
||||
if(errorIsOk(retval)) return;
|
||||
|
||||
assertNotNull(retval.state, "Error state cannot be NULL");
|
||||
assertNotNull(retval.state->message, "Message cannot be NULL");
|
||||
@@ -123,7 +123,7 @@ void errorCatch(errorret_t retval) {
|
||||
}
|
||||
|
||||
errorret_t errorPrint(const errorret_t retval) {
|
||||
if(retval.code == ERROR_OK) return retval;
|
||||
if(errorIsOk(retval)) return retval;
|
||||
|
||||
assertNotNull(retval.state, "Error state cannot be NULL");
|
||||
assertNotNull(retval.state->message, "Message cannot be NULL");
|
||||
|
||||
@@ -127,10 +127,11 @@ errorret_t errorPrint(const errorret_t retval);
|
||||
return errorChainImpl(errorChainRetval, __FILE__, __func__, __LINE__); \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns without an error.
|
||||
*
|
||||
* @return An error state with code ERROR_OK.
|
||||
*/
|
||||
#define errorOk() \
|
||||
return errorOkImpl()
|
||||
|
||||
+3
-3
@@ -15,7 +15,7 @@ int main(int argc, char **argv) {
|
||||
|
||||
// Init engine
|
||||
ret = engineInit(argc, (const char_t **)argv);
|
||||
if(ret.code != ERROR_OK) {
|
||||
if(errorIsNotOk(ret)) {
|
||||
errorCatch(errorPrint(ret));
|
||||
return ret.code;
|
||||
}
|
||||
@@ -23,14 +23,14 @@ int main(int argc, char **argv) {
|
||||
// Begin main loop
|
||||
do {
|
||||
ret = engineUpdate();
|
||||
if(ret.code != ERROR_OK) {
|
||||
if(errorIsNotOk(ret)) {
|
||||
errorCatch(errorPrint(ret));
|
||||
return ret.code;
|
||||
}
|
||||
} while(ENGINE.running);
|
||||
|
||||
ret = engineDispose();
|
||||
if(ret.code != ERROR_OK) {
|
||||
if(errorIsNotOk(ret)) {
|
||||
errorCatch(errorPrint(ret));
|
||||
return ret.code;
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ errorret_t saveLoad(const uint8_t slot) {
|
||||
saveStreamClosePlatform(&stream);
|
||||
#endif
|
||||
|
||||
if(ret.code != ERROR_OK) return ret;
|
||||
if(errorIsNotOk(ret)) return ret;
|
||||
|
||||
errorChain(saveStreamVerifyChecksumImpl(&stream, slot));
|
||||
|
||||
@@ -72,7 +72,7 @@ errorret_t saveWrite(const uint8_t slot) {
|
||||
|
||||
errorret_t ret = saveFileWrite(&stream, file);
|
||||
|
||||
if(ret.code == ERROR_OK) {
|
||||
if(errorIsOk(ret)) {
|
||||
ret = saveStreamFinalizeWriteImpl(&stream);
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ errorret_t saveWrite(const uint8_t slot) {
|
||||
saveStreamClosePlatform(&stream);
|
||||
#endif
|
||||
|
||||
if(ret.code != ERROR_OK) return ret;
|
||||
if(errorIsNotOk(ret)) return ret;
|
||||
|
||||
file->exists = true;
|
||||
errorOk();
|
||||
|
||||
@@ -14,6 +14,7 @@ void threadInit(thread_t *thread, const threadcallback_t callback) {
|
||||
assertNotNull(callback, "Thread callback cannot be NULL.");
|
||||
|
||||
memoryZero(thread, sizeof(thread_t));
|
||||
threadMutexInit(&thread->stateMutex);
|
||||
|
||||
thread->state = THREAD_STATE_STOPPED;
|
||||
thread->callback = callback;
|
||||
@@ -59,9 +60,10 @@ void threadStart(thread_t *thread) {
|
||||
|
||||
threadStartRequest(thread);
|
||||
threadMutexLock(&thread->stateMutex);
|
||||
threadMutexWaitLock(&thread->stateMutex);
|
||||
while(thread->state == THREAD_STATE_STARTING) {
|
||||
threadMutexWaitLock(&thread->stateMutex);
|
||||
}
|
||||
threadMutexUnlock(&thread->stateMutex);
|
||||
printf("Thread is now running.\n");
|
||||
}
|
||||
|
||||
void threadStop(thread_t *thread) {
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
void threadMutexInit(threadmutex_t *lock) {
|
||||
#ifdef DUSK_THREAD_PTHREAD
|
||||
pthread_mutex_init(&lock->mutex, NULL);
|
||||
pthread_cond_init(&lock->cond, NULL);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -46,5 +47,6 @@ void threadMutexSignal(threadmutex_t *lock) {
|
||||
void threadMutexDispose(threadmutex_t *lock) {
|
||||
#ifdef DUSK_THREAD_PTHREAD
|
||||
pthread_mutex_destroy(&lock->mutex);
|
||||
pthread_cond_destroy(&lock->cond);
|
||||
#endif
|
||||
}
|
||||
@@ -10,6 +10,6 @@
|
||||
#include "error/errorgl.h"
|
||||
|
||||
#define assertNoGLError(message) \
|
||||
assertTrue(errorGLCheck().code == ERROR_OK, message)
|
||||
assertTrue(errorIsOk(errorGLCheck()), message)
|
||||
|
||||
// EOF
|
||||
@@ -40,14 +40,14 @@ errorret_t shaderInitGL(shadergl_t *shader, const shaderdefinitiongl_t *def) {
|
||||
|
||||
glShaderSource(shader->vertexShaderId, 1, &def->vert, NULL);
|
||||
err = errorGLCheck();
|
||||
if(err.code != ERROR_OK) {
|
||||
if(errorIsNotOk(err)) {
|
||||
glDeleteShader(shader->vertexShaderId);
|
||||
errorChain(err);
|
||||
}
|
||||
|
||||
glCompileShader(shader->vertexShaderId);
|
||||
err = errorGLCheck();
|
||||
if(err.code != ERROR_OK) {
|
||||
if(errorIsNotOk(err)) {
|
||||
glDeleteShader(shader->vertexShaderId);
|
||||
errorChain(err);
|
||||
}
|
||||
@@ -64,14 +64,14 @@ errorret_t shaderInitGL(shadergl_t *shader, const shaderdefinitiongl_t *def) {
|
||||
// Create fragment shader
|
||||
shader->fragmentShaderId = glCreateShader(GL_FRAGMENT_SHADER);
|
||||
err = errorGLCheck();
|
||||
if(err.code != ERROR_OK) {
|
||||
if(errorIsNotOk(err)) {
|
||||
glDeleteShader(shader->vertexShaderId);
|
||||
errorChain(err);
|
||||
}
|
||||
|
||||
glShaderSource(shader->fragmentShaderId, 1, &def->frag, NULL);
|
||||
err = errorGLCheck();
|
||||
if(err.code != ERROR_OK) {
|
||||
if(errorIsNotOk(err)) {
|
||||
glDeleteShader(shader->vertexShaderId);
|
||||
glDeleteShader(shader->fragmentShaderId);
|
||||
errorChain(err);
|
||||
@@ -79,7 +79,7 @@ errorret_t shaderInitGL(shadergl_t *shader, const shaderdefinitiongl_t *def) {
|
||||
|
||||
glCompileShader(shader->fragmentShaderId);
|
||||
err = errorGLCheck();
|
||||
if(err.code != ERROR_OK) {
|
||||
if(errorIsNotOk(err)) {
|
||||
glDeleteShader(shader->vertexShaderId);
|
||||
glDeleteShader(shader->fragmentShaderId);
|
||||
errorChain(err);
|
||||
@@ -97,7 +97,7 @@ errorret_t shaderInitGL(shadergl_t *shader, const shaderdefinitiongl_t *def) {
|
||||
// Create shader program
|
||||
shader->shaderProgramId = glCreateProgram();
|
||||
err = errorGLCheck();
|
||||
if(err.code != ERROR_OK) {
|
||||
if(errorIsNotOk(err)) {
|
||||
glDeleteShader(shader->vertexShaderId);
|
||||
glDeleteShader(shader->fragmentShaderId);
|
||||
errorChain(err);
|
||||
@@ -105,7 +105,7 @@ errorret_t shaderInitGL(shadergl_t *shader, const shaderdefinitiongl_t *def) {
|
||||
|
||||
glAttachShader(shader->shaderProgramId, shader->vertexShaderId);
|
||||
err = errorGLCheck();
|
||||
if(err.code != ERROR_OK) {
|
||||
if(errorIsNotOk(err)) {
|
||||
glDeleteProgram(shader->shaderProgramId);
|
||||
glDeleteShader(shader->vertexShaderId);
|
||||
glDeleteShader(shader->fragmentShaderId);
|
||||
@@ -114,7 +114,7 @@ errorret_t shaderInitGL(shadergl_t *shader, const shaderdefinitiongl_t *def) {
|
||||
|
||||
glAttachShader(shader->shaderProgramId, shader->fragmentShaderId);
|
||||
err = errorGLCheck();
|
||||
if(err.code != ERROR_OK) {
|
||||
if(errorIsNotOk(err)) {
|
||||
glDeleteProgram(shader->shaderProgramId);
|
||||
glDeleteShader(shader->vertexShaderId);
|
||||
glDeleteShader(shader->fragmentShaderId);
|
||||
@@ -123,7 +123,7 @@ errorret_t shaderInitGL(shadergl_t *shader, const shaderdefinitiongl_t *def) {
|
||||
|
||||
glLinkProgram(shader->shaderProgramId);
|
||||
err = errorGLCheck();
|
||||
if(err.code != ERROR_OK) {
|
||||
if(errorIsNotOk(err)) {
|
||||
glDeleteProgram(shader->shaderProgramId);
|
||||
glDeleteShader(shader->vertexShaderId);
|
||||
glDeleteShader(shader->fragmentShaderId);
|
||||
|
||||
@@ -101,7 +101,7 @@ errorret_t networkPSPUpdate() {
|
||||
|
||||
// Kill the PSP network stack.
|
||||
errorret_t err = networkPSPTerm();
|
||||
if(err.code != ERROR_OK) {
|
||||
if(errorIsNotOk(err)) {
|
||||
errorCatch(errorPrint(err));
|
||||
}
|
||||
|
||||
@@ -203,7 +203,7 @@ void networkPSPRequestDisconnection(
|
||||
);
|
||||
|
||||
errorret_t err = networkPSPTerm();
|
||||
if(err.code != ERROR_OK) {
|
||||
if(errorIsNotOk(err)) {
|
||||
errorCatch(errorPrint(err));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user