TonicAudio / Tonic

Easy and efficient audio synthesis in C++
The Unlicense
523 stars 63 forks source link

testing #254

Open andik opened 9 years ago

andik commented 9 years ago

Hey, is there something like unittests in Tonic (I assume not?). If not, is there a way to test all components are intact, after having modified something. I mean, not by hand.

How would it be, to integrate Travis CI or so?

greetings.

morganpackard commented 9 years ago

There are xcode/iOS unit tests in repo , but we really should port them to something cross-platform. Open to suggestions, especially regarding porting the existing tests.

Sent from my iPhone

On Jan 28, 2015, at 12:01 PM, andik notifications@github.com wrote:

Hey, is there something like unittests in Tonic (I assume not?). If not, is there a way to test all components are intact, after having modified something. I mean, not by hand.

How would it be, to integrate Travis CI or so?

greetings.

— Reply to this email directly or view it on GitHub.

morganpackard commented 9 years ago

Cross platform unit tests is absolutely, without a doubt, something that I'd REALLY like to see.

andik commented 9 years ago

ah, I found something in the iOS folder. And saw that you use some Apple testing framework... How about using https://github.com/philsquared/Catch.git or writing our own header only framework. Catch has the strength that one can comment a lot upon the testcases which will be documentation also. And it is (built) one header only. Boost licence. We could easily ship it along Tonic. Another one-file alternative would be https://github.com/ccosmin/tinytest which I also use at work. But catch looks better.

Looks like you really need some CMakeList finally... I'll look into this

andik commented 9 years ago

ah, and I'd create a test directory at Tonic repository root and move the stuff there. good night.

morganpackard commented 9 years ago

@andik Tinytest looks nice and tiny! I'd vote for that if the existing test functionality can be ported. But whoever actually ports the tests gets to choose! (As long as there are no extra libs to compile or include).