Automated Testing
From OpenSimulator
Contents |
Goal
To create a distributed continuous integration system for open simulator grids which can automate both builds and testing.
People
The list of people who are working to develop a solution:
- Daedius Moskvitch (daedius @@@@@ daedius.com)
Features
- Crossplatform
- Notification via email,irc,web
- Master-Slave architecture
- Nant support
- NUnit support
- Support for grid testing
Released Versions
0.1
Released: January 1st, 2008
A simple application that can detect changes on the opensim svn, attempt compile, and return whether it was successful or not
Features
- svn source control support
- svn change detection
- linux and windows support
Installation
Right now there is nant build files and visual studio 2005 solution.
Special Notes For Running
After compiling the application, make sure you have the correct application configuration file for your operating system (the current default is Windows, it will fail on Linux if you do not change). Just rename the right App.config to "BuildBot.exe.config".
Other Notes
- Deletion can be problematic
- I think TortoiseSVN causes alot of trouble when deleting source control directories
- Need more user friendly exceptions
- A good way to force building, is to change the LatestTime.txt to a few days back ( to gaurantee that new changes are detected)
- HAPPY NEW YEARS!
Contributors
- Daedius Moskvitch (daedius @@@@@ daedius.com)
Planned Versions
0.2
Create a more configurable build runner via xml. This release will hopefully be a good precursor to having a real operational slave.
- xml-defined build command support
- osx support
- initial buildbot.net configuration
Architecture Plans
Comparison To Other Projects
CruiseControl.Net
- Supporting the master slave architecture will be vastly different from CC's centralized approach, but it will allow us more flexability and decentralization of tests on many platforms. It will also enable us to run certain tests which require multiple computers for grid testing.
- This project has a great system of xml specification for projects and support for Nant,Nunit,NCop, etc we could learn from thoug
CruiseControl
- Once again, our project will have a focus on distributed testing and building.
- Our support for C# technologies will be within our control if something goes wrong. Also, knowing how mono works on all platforms is much easier than knowing how both Java and Mono work on all platforms.
BuildBot
- Buildbot has a great architecture for distributed builds and testing
- We will not use Python is a configuration language, rather we will be using XML structures more similar in CruiseControl
- We will have more direct support for C# technologies
= Manual Building & Testing
- More efficient
- More automated
- More proven