[c] Fixed up c-unittests on GCC/Linux

This commit is contained in:
badlogic 2016-12-20 11:18:26 +01:00
parent d85a83d231
commit f07c2967d5
6 changed files with 42 additions and 41 deletions

View File

@ -3,7 +3,7 @@ project(spine_unit_test)
set(CMAKE_INSTALL_PREFIX "./") set(CMAKE_INSTALL_PREFIX "./")
set(CMAKE_VERBOSE_MAKEFILE ON) set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS -DKANJI_MEMTRACE -DUSE_CPP11_MUTEX") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS -DKANJI_MEMTRACE -DUSE_CPP11_MUTEX -std=c++11")
######################################################### #########################################################
# set includes # set includes
@ -55,4 +55,4 @@ add_custom_command(TARGET spine_unit_test PRE_BUILD
add_custom_command(TARGET spine_unit_test PRE_BUILD add_custom_command(TARGET spine_unit_test PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory COMMAND ${CMAKE_COMMAND} -E copy_directory
${CMAKE_CURRENT_LIST_DIR}/../../examples/goblins/export $<TARGET_FILE_DIR:spine_unit_test>/testdata/goblins) ${CMAKE_CURRENT_LIST_DIR}/../../examples/goblins/export $<TARGET_FILE_DIR:spine_unit_test>/testdata/goblins)

View File

@ -11,6 +11,7 @@
#include <ctime> #include <ctime>
#include "KString.h" #include "KString.h"
#include <stdio.h>
#include "spine/extension.h" #include "spine/extension.h"
#include "spine/spine.h" #include "spine/spine.h"
@ -63,7 +64,7 @@ int main(int argc, char* argv[])
extern "C" { // probably unnecessary extern "C" { // probably unnecessary
void _spAtlasPage_createTexture(spAtlasPage* self, const char* path) { void _spAtlasPage_createTexture(spAtlasPage* self, const char* path) {
self->rendererObject = nullptr; self->rendererObject = 0;
self->width = 2048; self->width = 2048;
self->height = 2048; self->height = 2048;
} }
@ -74,4 +75,4 @@ extern "C" { // probably unnecessary
char* _spUtil_readFile(const char* path, int* length) { char* _spUtil_readFile(const char* path, int* length) {
return _readFile(path, length); return _readFile(path, length);
} }
} }

View File

@ -27,10 +27,10 @@ void C_InterfaceTestFixture::tearDown()
static spSkeletonData* readSkeletonJsonData(const char* filename, spAtlas* atlas) { static spSkeletonData* readSkeletonJsonData(const char* filename, spAtlas* atlas) {
spSkeletonJson* json = spSkeletonJson_create(atlas); spSkeletonJson* json = spSkeletonJson_create(atlas);
ASSERT(json != nullptr); ASSERT(json != 0);
spSkeletonData* skeletonData = spSkeletonJson_readSkeletonDataFile(json, filename); spSkeletonData* skeletonData = spSkeletonJson_readSkeletonDataFile(json, filename);
ASSERT(skeletonData != nullptr); ASSERT(skeletonData != 0);
spSkeletonJson_dispose(json); spSkeletonJson_dispose(json);
return skeletonData; return skeletonData;
@ -54,22 +54,22 @@ static void testRunner(const char* jsonName, const char* atlasName)
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// Global Animation Information // Global Animation Information
spAtlas* atlas = spAtlas_createFromFile(atlasName, 0); spAtlas* atlas = spAtlas_createFromFile(atlasName, 0);
ASSERT(atlas != nullptr); ASSERT(atlas != 0);
spSkeletonData* skeletonData = readSkeletonJsonData(jsonName, atlas); spSkeletonData* skeletonData = readSkeletonJsonData(jsonName, atlas);
ASSERT(skeletonData != nullptr); ASSERT(skeletonData != 0);
spAnimationStateData* stateData = spAnimationStateData_create(skeletonData); spAnimationStateData* stateData = spAnimationStateData_create(skeletonData);
ASSERT(stateData != nullptr); ASSERT(stateData != 0);
stateData->defaultMix = 0.2f; // force mixing stateData->defaultMix = 0.2f; // force mixing
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// Animation Instance // Animation Instance
spSkeleton* skeleton = spSkeleton_create(skeletonData); spSkeleton* skeleton = spSkeleton_create(skeletonData);
ASSERT(skeleton != nullptr); ASSERT(skeleton != 0);
spAnimationState* state = spAnimationState_create(stateData); spAnimationState* state = spAnimationState_create(stateData);
ASSERT(state != nullptr); ASSERT(state != 0);
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////

View File

@ -40,10 +40,10 @@ void MemoryTestFixture::tearDown()
// Helper methods // Helper methods
static spSkeletonData* readSkeletonJsonData(const char* filename, spAtlas* atlas) { static spSkeletonData* readSkeletonJsonData(const char* filename, spAtlas* atlas) {
spSkeletonJson* json = spSkeletonJson_create(atlas); spSkeletonJson* json = spSkeletonJson_create(atlas);
ASSERT(json != nullptr); ASSERT(json != 0);
spSkeletonData* skeletonData = spSkeletonJson_readSkeletonDataFile(json, filename); spSkeletonData* skeletonData = spSkeletonJson_readSkeletonDataFile(json, filename);
ASSERT(skeletonData != nullptr); ASSERT(skeletonData != 0);
spSkeletonJson_dispose(json); spSkeletonJson_dispose(json);
return skeletonData; return skeletonData;
@ -54,22 +54,22 @@ static void LoadSpineboyExample(spAtlas* &atlas, spSkeletonData* &skeletonData,
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// Global Animation Information // Global Animation Information
atlas = spAtlas_createFromFile(SPINEBOY_ATLAS, 0); atlas = spAtlas_createFromFile(SPINEBOY_ATLAS, 0);
ASSERT(atlas != nullptr); ASSERT(atlas != 0);
skeletonData = readSkeletonJsonData(SPINEBOY_JSON, atlas); skeletonData = readSkeletonJsonData(SPINEBOY_JSON, atlas);
ASSERT(skeletonData != nullptr); ASSERT(skeletonData != 0);
stateData = spAnimationStateData_create(skeletonData); stateData = spAnimationStateData_create(skeletonData);
ASSERT(stateData != nullptr); ASSERT(stateData != 0);
stateData->defaultMix = 0.4f; // force mixing stateData->defaultMix = 0.4f; // force mixing
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// Animation Instance // Animation Instance
skeleton = spSkeleton_create(skeletonData); skeleton = spSkeleton_create(skeletonData);
ASSERT(skeleton != nullptr); ASSERT(skeleton != 0);
state = spAnimationState_create(stateData); state = spAnimationState_create(stateData);
ASSERT(state != nullptr); ASSERT(state != 0);
} }
static void DisposeAll(spSkeleton* skeleton, spAnimationState* state, spAnimationStateData* stateData, spSkeletonData* skeletonData, spAtlas* atlas) static void DisposeAll(spSkeleton* skeleton, spAnimationState* state, spAnimationStateData* stateData, spSkeletonData* skeletonData, spAtlas* atlas)
@ -92,11 +92,11 @@ static void DisposeAll(spSkeleton* skeleton, spAnimationState* state, spAnimatio
// https://github.com/EsotericSoftware/spine-runtimes/issues/776 // https://github.com/EsotericSoftware/spine-runtimes/issues/776
void MemoryTestFixture::reproduceIssue_776() void MemoryTestFixture::reproduceIssue_776()
{ {
spAtlas* atlas = nullptr; spAtlas* atlas = 0;
spSkeletonData* skeletonData = nullptr; spSkeletonData* skeletonData = 0;
spAnimationStateData* stateData = nullptr; spAnimationStateData* stateData = 0;
spSkeleton* skeleton = nullptr; spSkeleton* skeleton = 0;
spAnimationState* state = nullptr; spAnimationState* state = 0;
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// Initialize Animations // Initialize Animations
@ -134,11 +134,11 @@ void MemoryTestFixture::reproduceIssue_776()
void MemoryTestFixture::reproduceIssue_777() void MemoryTestFixture::reproduceIssue_777()
{ {
spAtlas* atlas = nullptr; spAtlas* atlas = 0;
spSkeletonData* skeletonData = nullptr; spSkeletonData* skeletonData = 0;
spAnimationStateData* stateData = nullptr; spAnimationStateData* stateData = 0;
spSkeleton* skeleton = nullptr; spSkeleton* skeleton = 0;
spAnimationState* state = nullptr; spAnimationState* state = 0;
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// Initialize Animations // Initialize Animations
@ -179,7 +179,7 @@ void MemoryTestFixture::reproduceIssue_777()
DisposeAll(skeleton, state, stateData, skeletonData, atlas); DisposeAll(skeleton, state, stateData, skeletonData, atlas);
} }
spSkeleton* skeleton = nullptr; spSkeleton* skeleton = 0;
static void spineAnimStateHandler(spAnimationState* state, int type, spTrackEntry* entry, spEvent* event) static void spineAnimStateHandler(spAnimationState* state, int type, spTrackEntry* entry, spEvent* event)
{ {
if (type == SP_ANIMATION_COMPLETE) if (type == SP_ANIMATION_COMPLETE)
@ -192,10 +192,10 @@ static void spineAnimStateHandler(spAnimationState* state, int type, spTrackEnt
void MemoryTestFixture::reproduceIssue_Loop() void MemoryTestFixture::reproduceIssue_Loop()
{ {
spAtlas* atlas = nullptr; spAtlas* atlas = 0;
spSkeletonData* skeletonData = nullptr; spSkeletonData* skeletonData = 0;
spAnimationStateData* stateData = nullptr; spAnimationStateData* stateData = 0;
spAnimationState* state = nullptr; spAnimationState* state = 0;
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// Initialize Animations // Initialize Animations

View File

@ -13,7 +13,7 @@ SpineEventMonitor::SpineEventMonitor(spAnimationState* _pAnimationState /*= null
SpineEventMonitor::~SpineEventMonitor() SpineEventMonitor::~SpineEventMonitor()
{ {
pAnimState = nullptr; pAnimState = 0;
} }
void SpineEventMonitor::RegisterListener(spAnimationState * _pAnimationState) void SpineEventMonitor::RegisterListener(spAnimationState * _pAnimationState)
@ -28,7 +28,7 @@ void SpineEventMonitor::RegisterListener(spAnimationState * _pAnimationState)
bool SpineEventMonitor::isAnimationPlaying() bool SpineEventMonitor::isAnimationPlaying()
{ {
if (pAnimState) if (pAnimState)
return spAnimationState_getCurrent(pAnimState, 0) != nullptr; return spAnimationState_getCurrent(pAnimState, 0) != 0;
return false; return false;
} }
@ -42,7 +42,7 @@ void SpineEventMonitor::spineAnimStateHandler(spAnimationState * state, int type
void SpineEventMonitor::OnSpineAnimationStateEvent(spAnimationState * state, int type, spTrackEntry * trackEntry, spEvent * event) void SpineEventMonitor::OnSpineAnimationStateEvent(spAnimationState * state, int type, spTrackEntry * trackEntry, spEvent * event)
{ {
const char* eventName = nullptr; const char* eventName = 0;
if (state == pAnimState) { // only monitor ours if (state == pAnimState) { // only monitor ours
switch(type) switch(type)
{ {
@ -135,7 +135,7 @@ inline bool InterruptMonitor::InterruptEvent::matches(spAnimationState * state,
if (mEventType == type) { if (mEventType == type) {
// Looking for specific TrackEntry by pointer // Looking for specific TrackEntry by pointer
if (mTrackEntry != nullptr) { if (mTrackEntry != 0) {
return mTrackEntry == trackEntry; return mTrackEntry == trackEntry;
} }

View File

@ -25,7 +25,7 @@ typedef struct spEvent spEvent;
class SpineEventMonitor class SpineEventMonitor
{ {
public: public:
SpineEventMonitor(spAnimationState* _pAnimationState = nullptr); SpineEventMonitor(spAnimationState* _pAnimationState = 0);
virtual ~SpineEventMonitor(); virtual ~SpineEventMonitor();
void RegisterListener(spAnimationState* _pAnimationState); void RegisterListener(spAnimationState* _pAnimationState);
@ -58,7 +58,7 @@ private:
{ {
InterruptEvent() { InterruptEvent() {
mEventType = -1; // invalid mEventType = -1; // invalid
mTrackEntry = nullptr; mTrackEntry = 0;
} }
bool matches(spAnimationState* state, int type, spTrackEntry* trackEntry, spEvent* event); bool matches(spAnimationState* state, int type, spTrackEntry* trackEntry, spEvent* event);
@ -72,7 +72,7 @@ private:
public: public:
InterruptMonitor(spAnimationState* _pAnimationState = nullptr); InterruptMonitor(spAnimationState* _pAnimationState = 0);
~InterruptMonitor() {} ~InterruptMonitor() {}
virtual bool isAnimationPlaying() override; virtual bool isAnimationPlaying() override;
@ -119,4 +119,4 @@ eventMonitor
.AddInterruptEvent(SP_ANIMATION_START); // Then, stop on any following START signal .AddInterruptEvent(SP_ANIMATION_START); // Then, stop on any following START signal
*/ */