Re: time budgets and continuous integration

Richard <[email protected]>
Newsgroups gmane.games.devel.sweng
Organization multi-cellular, biological
Message-ID <[email protected]>
In article <[email protected]>,
    Hernan Saez <[email protected]>  writes:

> I wonder how you would ensure something like this?

Here's how I would do it:

- use FitNesse as the acceptance testing framework
- FitNesse has a built-in wiki that lets you specify acceptance
  criteria by editing human readable tables
- obviously there has to be a build of the code that is minimally
    instrumented in some way to measure its performance (or maybe you
    do a PIX run, or whatever, take your pick)
- FitNesse tests are glued to the application through a fixture.  The
  fixture can be in-process or out of process
- Fixture code runs your application in a test run.
  - For components this means a benchmarking test of a single
	component in isolation
  - For end-to-end it means supporting some means of playing back a
	fixed scenario in your game.  Many FPS games support recording of
	player action for final playback.  You'd need something like that,
	whether you expose it to the end user or not.
  - Fixture analyzes results of the benchmark run
- Fitnesse reports test success/failure by displaying the table with
  the expectation columns colored red or green.
- CI server (I'd use Hudson) runs the fitnesse tests after a
  successful compile

> I'm also interested on this subject. I'm working on an iPhone game and I'm
> still trying to understand how to setup a CI process that verifies something
> more than just compiling code.

Definately check out Hudson for CI infrastructure.  It was *so* easy
to setup compared to CruiseControl.  I had CI builds going for Mac and
PC in about 15 minutes!  <http://hudson-ci.org/>  Hudson is a Java
application, so it requires Java on the build machine.

Then I started configuring it to do static analysis of my C++ code giving
me trend graphs from cppcheck about errors and possible errors.  I also
had trend graphs about platform-specific compiler warnings.  We had an
older application whose code base was generating so many warnings on
Mac that gcc stopped counting at 10,000 warnings.  When that build
failed, attempting to mail the build log to developers would fail
because the build log was > 60 MB.  Over a period of time I got it
down to under 4,000 warnings, using Hudson to track my progress.
-- 
"The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download
 <http://legalizeadulthood.wordpress.com/the-direct3d-graphics-pipeline/>

      Legalize Adulthood! <http://legalizeadulthood.wordpress.com>
_______________________________________________
Sweng-Gamedev mailing list
[email protected]
http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.