apockill / uArmCreatorStudio

uArm Creator Studio is a Visual Programming Language for robot arms, with a heavy emphasis on computer vision and usability for both low experience and high experience programmers. It's written entirely in Python, and supports python scripting within the application.
82 stars 39 forks source link

Adding test framework and continuous integration #17

Open wisechengyi opened 7 years ago

wisechengyi commented 7 years ago

As the project grows, it becomes harder for quality control, i.e. to ensure any incoming change does not break anything in the past. E.g. we can use systems like TravisCI to trigger a build/test on every PR commit.

Challenges:

I can probably take the initial hammering to get things going on the core library side, whereas places involving ^ challenges may require more thought.

apockill commented 7 years ago

I couldn't agree more. I think that the uFactory side of this fork is going to start building tests, but I'm not sure they've actually gotten pen on paper yet. I would rather start that here, so that it can be implimented cleanly, they can pull in changes at their own pace.

What testing framework do you think should be used? AFAIK unittest is already comprehensive. Perhaps we could have a directory for unittesting that could cover each module seperately? I'm not sure how to go about that...

On a side note, testing for Commands and Events could probably be more or less automated (eg, write a test for a generic command and generic event, and run it for all commands and events). That would definitely save some coding.

wisechengyi commented 7 years ago

unittest should do. On top of that, pants would be a good tool to organize the building/testing/or potentially packaging things up in the future.

Here is some examples how python modules structured for tests. https://github.com/pantsbuild/pants/tree/master/examples

(I am an active contributor for https://github.com/pantsbuild/pants, so I may be super biased. https://pantsbuild.github.io/why_use_pants.html)

wisechengyi commented 7 years ago

Quick update: Based on http://answers.opencv.org/question/116776, the process may become a little harder to implement in CI, as it will likely involve a lot of back and forth.

I am still on this, but the timeline may vary.

apockill commented 7 years ago

Got it, thanks for the heads up. By the way, I haven't been too active lately because I'm finishing up finals right now in Uni. Will be up and about more soon.

On Sat, Dec 3, 2016, 6:13 PM Yi Cheng notifications@github.com wrote:

Quick update: Based on http://answers.opencv.org/question/116776, the process may become a little harder to implement in travis ci, as it will likely involve a lot of back and forth.

I am still on this, but the timeline may vary.

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/apockill/uArmCreatorStudio/issues/17#issuecomment-264677188, or mute the thread https://github.com/notifications/unsubscribe-auth/ABqOfDcUYyPxkIewEiFn5QIP4AlDy4pyks5rEhO1gaJpZM4Kx6ZR .