| @@ -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); | |||