0

I've got a simulation app (64-bit windows) that runs without any user interaction. This app gathers information and pushes it to a remote MS SQL Server. What I'd like to do is execute this simulation as many times as I can on multiple machines after our nightly build has finished and it has passed the test suite.

If possible I'd love to have the ability to configure it to stop after x total runs or if the entire batch has taken over y hours.

I've tried using Visual Studio's built in test framework since we already have a test lab set up with multiple agents. I created a single unit test that simply runs the simulation then I created an ordered test and added that single test multiple times (from what I gather, this is the only way to execute the same unit test more than once). I found that ordered tests are only run on a single agent and not distributed which is very limiting.

We use TeamCity to perform our nightly builds and I suspect it's possible to implement this on top of that, but I'm fairly new to TeamCity. We also have Jenkins and Bamboo available and I'm open to any other software that would get the job done presuming it runs on a 64-bit Windows OS.

Any suggestions?

Salec
  • 101
  • 1

1 Answers1

0

I know about this subject much more from the Linux/Unix perspective. If I could not find any tool that would do the job for me then I would as follows:

  • The main machine has directory which can be visible in read/write mode by all shared machines.
  • All distributed machines test this directory every now and then to see a specific command file "A".
  • Each machine, after execution, leaves its own mark file on that shared directory.
  • The main machine stores in an separate command file "B" a job description (XML or whatever.)
  • Whenever you want to stop the job, you delete the "A" file.
  • All distrubuted machines, upon detection of the "A" file missing stop their jobs.

This way you can develop the procedure without any special program, TCP/IP knowledge. I hope it helps a little bit.

Grzegorz
  • 131
  • 1
  • 5