Consistency and fixing thread unit tests

This commit is contained in:
2026-06-01 11:33:27 -05:00
parent db9cc0f4c6
commit df48c8e500
14 changed files with 38 additions and 33 deletions
+1 -1
View File
@@ -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."
+1 -1
View File
@@ -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;
}
+3 -3
View File
@@ -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");
+2 -1
View File
@@ -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
View File
@@ -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;
}
+3 -3
View File
@@ -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();
+4 -2
View File
@@ -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) {
+2
View File
@@ -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
}
+1 -1
View File
@@ -10,6 +10,6 @@
#include "error/errorgl.h"
#define assertNoGLError(message) \
assertTrue(errorGLCheck().code == ERROR_OK, message)
assertTrue(errorIsOk(errorGLCheck()), message)
// EOF
+9 -9
View File
@@ -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);
+2 -2
View File
@@ -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));
}