Automated Testing

From OpenSimulator

Revision as of 14:28, 1 January 2008 by Daedius (Talk | contribs)

Jump to: navigation, search

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 on windows
  • I think TortoiseSVN on win32 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 Automated Build/Testing 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
Personal tools
General
About This Wiki