Cross-OS automated testing



  • First, please leave your stones down: I am a windows-oriented developer and I have very limited knowledge in testing tools world - especially in those that works on multiple platforms.

    I have been assigned to write from scratch a c++ application which should work as a service (daemon for Linux) and reads some data from a COM port. I have full access to SVN server and I can tweak it as needed. The test units are written using boost library.

    My question is - is there any tool (preferable open source) which can called after an SVN commit to trigger repository update from SVN, compilation and if all went well, to run the unit tests on each platform? All "testing" platforms will be installed as virtual machines - in case it matters. Writing batch/Java/Perl/Ruby/* scripts is not a problem if needed.

    Update: - also, not a problem if we have to call the "testing" script manually (the one that triggers the tests to be ran on all platforms).

    Thank you! DC.



  • What you want is called an continuous integration (CI) server. A very popular one is called Jenkins (jenkins-ci.org), though there are others both open source and commercial.

    You can configure it to watch for checkins, and to build a project. If the build succeeds, it can trigger tests to be run. If the tests pass, you can trigger other jobs such as automatic deployment, uploading to a server, etc.

    Jenkins works as a standalone thing, or can work in a master/slave configuration. The slaves can be on any of the major OSs. So, for example, you could automatically build on windows, linux and MacOS simultaneously.



Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2