@@ -83,11 +83,12 @@ source/frontend/Makefile | |||
source/tests/ansi-pedantic-test_* | |||
source/tests/CarlaString | |||
source/tests/CarlaUtils | |||
source/tests/Exceptions | |||
source/tests/Print | |||
source/tests/RDF | |||
source/tests/EngineEvents | |||
source/tests/PipeServer | |||
source/tests/Print | |||
source/tests/RtLinkedList | |||
source/tests/RtLinkedListGnu | |||
@@ -237,7 +237,7 @@ int main() | |||
assert(str5.rfind("haha!", &found) == str5.length()); | |||
assert(! found); | |||
printf("FINAL: \"%s\"\n", str5.buffer()); | |||
carla_stdout("FINAL: \"%s\"", str5.buffer()); | |||
// clear | |||
str.clear(); | |||
@@ -1,5 +1,5 @@ | |||
/* | |||
* Carla Tests | |||
* Carla Exception Tests | |||
* Copyright (C) 2013-2014 Filipe Coelho <falktx@falktx.com> | |||
* | |||
* This program is free software; you can redistribute it and/or | |||
@@ -18,6 +18,8 @@ | |||
#include "CarlaDefines.h" | |||
#include "CarlaUtils.hpp" | |||
// ----------------------------------------------------------------------- | |||
struct Struct1 { | |||
Struct1() noexcept {} | |||
~Struct1() noexcept {} | |||
@@ -31,33 +33,42 @@ struct Struct1 { | |||
struct Struct2 { | |||
Struct2() { throw 2; } | |||
~Struct2() noexcept {} | |||
void throwHere() | |||
{ | |||
throw 3; | |||
} | |||
}; | |||
// ----------------------------------------------------------------------- | |||
int main() | |||
{ | |||
carla_safe_assert("test here", __FILE__, __LINE__); | |||
Struct1 a; | |||
Struct2* b = nullptr; | |||
Struct1* b; | |||
Struct2* c = nullptr; | |||
try { | |||
a.throwHere(); | |||
} CARLA_SAFE_EXCEPTION("Struct1 throw", carla_stdout("after text1 here");) | |||
} CARLA_SAFE_EXCEPTION("Struct1 a throw"); | |||
try { | |||
b = new Struct2; | |||
} CARLA_SAFE_EXCEPTION("Struct2 throw", carla_stdout("after text2 here");) | |||
b = new Struct1; | |||
} CARLA_SAFE_EXCEPTION("Struct1 b throw constructor"); | |||
if (b != nullptr) | |||
{ | |||
delete b; | |||
b = nullptr; | |||
} | |||
assert(b != nullptr); | |||
try { | |||
b->throwHere(); | |||
} CARLA_SAFE_EXCEPTION("Struct1 b throw runtime"); | |||
delete b; | |||
b = nullptr; | |||
try { | |||
c = new Struct2; | |||
} CARLA_SAFE_EXCEPTION("Struct2 c throw"); | |||
assert(c == nullptr); | |||
return 0; | |||
} | |||
// ----------------------------------------------------------------------- |
@@ -40,10 +40,10 @@ endif | |||
# -------------------------------------------------------------- | |||
TARGETS = ansi-pedantic-test_c ansi-pedantic-test_c99 | |||
TARGETS += CarlaString CarlaUtils RDF | |||
TARGETS += CarlaString CarlaUtils Exceptions Print RDF | |||
# ansi-pedantic-test_cxx ansi-pedantic-test_cxx11 | |||
# TARGETS += EngineEvents PipeServer Print RtLinkedList RtLinkedListGnu Utils | |||
# TARGETS += EngineEvents PipeServer RtLinkedList RtLinkedListGnu | |||
all: $(TARGETS) | |||
@@ -73,6 +73,14 @@ CarlaUtils: CarlaUtils.cpp ../utils/*.hpp | |||
$(shell pkg-config --cflags --libs QtCore) -isystem /usr/include/qt4 | |||
valgrind --leak-check=full ./$@ | |||
Exceptions: Exceptions.cpp | |||
$(CXX) $< $(PEDANTIC_CXX_FLAGS) -o $@ | |||
valgrind --leak-check=full ./$@ | |||
Print: Print.cpp ../utils/CarlaUtils.hpp | |||
$(CXX) $< $(PEDANTIC_CXX_FLAGS) -o $@ | |||
valgrind --leak-check=full ./$@ | |||
RDF: RDF.cpp ../modules/ladspa_rdf.hpp ../modules/lv2_rdf.hpp | |||
$(CXX) $< $(PEDANTIC_CXX_FLAGS) -o $@ | |||
valgrind --leak-check=full ./$@ | |||
@@ -81,7 +89,7 @@ RDF: RDF.cpp ../modules/ladspa_rdf.hpp ../modules/lv2_rdf.hpp | |||
ChildProcess: ChildProcess.cpp | |||
$(CXX) $< $(PEDANTIC_CXX_FLAGS) ../modules/juce_core.a -ldl -lpthread -lrt -o $@ | |||
# valgrind --leak-check=full ./$@ | |||
valgrind --leak-check=full ./$@ | |||
CarlaMutex: CarlaMutex.cpp ../utils/CarlaMutex.hpp | |||
$(CXX) $< -lpthread -o $@ | |||
@@ -98,29 +106,21 @@ Engine: Engine.cpp | |||
env LD_LIBRARY_PATH=../backend valgrind --leak-check=full ./$@ | |||
# ../modules/juce_audio_basics.a ../modules/juce_core.a \ | |||
Exception: Exception.cpp | |||
$(CXX) $< $(PEDANTIC_CXX_FLAGS) -o $@ | |||
# valgrind ./$@ | |||
EngineEvents: EngineEvents.cpp | |||
$(CXX) $< $(PEDANTIC_CXX_FLAGS) -L../backend -lcarla_standalone2 -o $@ | |||
env LD_LIBRARY_PATH=../backend valgrind ./$@ | |||
PipeServer: PipeServer.cpp ../utils/CarlaPipeUtils.hpp | |||
$(CXX) $< $(PEDANTIC_CXX_FLAGS) -lpthread -o $@ | |||
# valgrind ./$@ | |||
Print: Print.cpp ../utils/CarlaUtils.hpp | |||
$(CXX) $< $(PEDANTIC_CXX_FLAGS) -o $@ | |||
valgrind ./$@ | |||
valgrind --leak-check=full ./$@ | |||
RtLinkedList: RtLinkedList.cpp ../utils/LinkedList.hpp ../utils/RtLinkedList.hpp ../modules/rtmempool.a | |||
$(CXX) $< ../modules/rtmempool.a $(PEDANTIC_CXX_FLAGS) -lpthread -o $@ | |||
valgrind ./$@ | |||
valgrind --leak-check=full ./$@ | |||
RtLinkedListGnu: RtLinkedList.cpp ../utils/LinkedList.hpp ../utils/RtLinkedList.hpp ../modules/rtmempool.a | |||
$(CXX) $< ../modules/rtmempool.a $(GNU_CXX_FLAGS) -lpthread -o $@ | |||
valgrind ./$@ | |||
valgrind --leak-check=full ./$@ | |||
# -------------------------------------------------------------- | |||
@@ -132,11 +132,6 @@ Rewire.cpp.o: Rewire.cpp | |||
# -------------------------------------------------------------- | |||
../modules/%.a: | |||
$(MAKE) -C ../modules $* | |||
# -------------------------------------------------------------- | |||
clean: | |||
rm -f *.o $(TARGETS) | |||
@@ -1,6 +1,6 @@ | |||
/* | |||
* Carla Tests | |||
* Copyright (C) 2013 Filipe Coelho <falktx@falktx.com> | |||
* Carla Print Tests | |||
* Copyright (C) 2013-2014 Filipe Coelho <falktx@falktx.com> | |||
* | |||
* This program is free software; you can redistribute it and/or | |||
* modify it under the terms of the GNU General Public License as | |||
@@ -17,6 +17,8 @@ | |||
#include "CarlaUtils.hpp" | |||
// ----------------------------------------------------------------------- | |||
int main() | |||
{ | |||
carla_debug("DEBUG"); | |||
@@ -25,3 +27,5 @@ int main() | |||
carla_stderr2("STDERR2"); | |||
return 0; | |||
} | |||
// ----------------------------------------------------------------------- |
@@ -1,6 +1,6 @@ | |||
/* | |||
* Carla Tests | |||
* Copyright (C) 2013 Filipe Coelho <falktx@falktx.com> | |||
* Copyright (C) 2013-2014 Filipe Coelho <falktx@falktx.com> | |||
* | |||
* This program is free software; you can redistribute it and/or | |||
* modify it under the terms of the GNU General Public License as | |||
@@ -68,7 +68,7 @@ struct PostRtEvents { | |||
{ | |||
if (mutex.tryLock()) | |||
{ | |||
dataPendingRT.spliceAppend(data); | |||
dataPendingRT.spliceAppendTo(data); | |||
mutex.unlock(); | |||
} | |||
} | |||
@@ -91,7 +91,7 @@ void run5Tests() | |||
postRtEvents.mutex.unlock(); | |||
printf("Post-Rt Event Count: %i\n", k); | |||
carla_stdout("Post-Rt Event Count: %i", k); | |||
assert(k == 5); | |||
// data should be empty now | |||
@@ -105,7 +105,7 @@ void run5Tests() | |||
{ | |||
const MyData& my(allMyData[i]); | |||
printf("Got data: %i %s\n", my.id, my.str.buffer()); | |||
carla_stdout("Got data: %i %s", my.id, my.str.buffer()); | |||
} | |||
} | |||
@@ -143,7 +143,7 @@ int main() | |||
{ | |||
const MyData& my(it.getValue()); | |||
printf("FOR DATA!!!: %i %s\n", my.id, my.str.buffer()); | |||
carla_stdout("FOR DATA!!!: %i %s", my.id, my.str.buffer()); | |||
if (my.id == 1) | |||
{ | |||
@@ -65,8 +65,7 @@ public: | |||
try { | |||
dfilename = carla_strdup(filename); | |||
} | |||
CARLA_SAFE_EXCEPTION_RETURN("LibCounter::open", nullptr); | |||
} CARLA_SAFE_EXCEPTION_RETURN("LibCounter::open", nullptr); | |||
const CarlaMutexLocker cml(fMutex); | |||