Big testing system commit
authorColin Finck <colin@reactos.org>
Sat, 21 Mar 2009 01:39:04 +0000 (01:39 +0000)
committerColin Finck <colin@reactos.org>
Sat, 21 Mar 2009 01:39:04 +0000 (01:39 +0000)
commit10f13abcb5571aaf2c9bc77eb112ef791e7454d3
tree471028d5829f7ed22662ae6663c302638d227ef1
parentd225ab948e8dd2adb3f35d53fb9d4100f2cafa8f
Big testing system commit

rosautotest
- Rewrite rosautotest in C++
  Should increase maintainability and expandability, since most of the functionality is encapsulated in classes and there exist some abstract classes for further enhancements (i.e. new test types).
  Furthermore, due to the usage of STL strings, we don't need x lines anymore just for building a string out of several small parts.
- The new codebase made it fairly easy to implement a Crash Recovery feature based on a journal.
  If you start rosautotest with the /r option under ReactOS, it will keep a journal about the tests to run and the tests already ran. In case of a crash, it can just continue with the next test in the list then.
- Add some reasonable timeouts to avoid certain hangs in case a test crashes

sysreg2
- Make the necessary changes to sysreg2 to restart the VM in case of such a crash in 3rd stage, but set a maximum number of allowed crashes as well.
  Christoph, please test and review that on the Buildslave :-)
- Prepend all sysreg messages with [SYSREG] through a new function SysregPrintf, so the BuildBot aggregator script of testman can distinguish between debug output and sysreg messages.
- Put all header includes into the central header file "sysreg.h"
- Remove unnecessary libs from the Makefile

testman
- Change the testman Web Interface to show such crashes as CRASH in the Compare and Detail views.

svn path=/trunk/; revision=40147
34 files changed:
rostests/rosautotest/CConfiguration.cpp [new file with mode: 0644]
rostests/rosautotest/CConfiguration.h [new file with mode: 0644]
rostests/rosautotest/CFatalException.cpp [new file with mode: 0644]
rostests/rosautotest/CFatalException.h [new file with mode: 0644]
rostests/rosautotest/CInvalidParameterException.cpp [new file with mode: 0644]
rostests/rosautotest/CInvalidParameterException.h [new file with mode: 0644]
rostests/rosautotest/CJournaledTestList.cpp [new file with mode: 0644]
rostests/rosautotest/CJournaledTestList.h [new file with mode: 0644]
rostests/rosautotest/CProcess.cpp [new file with mode: 0644]
rostests/rosautotest/CProcess.h [new file with mode: 0644]
rostests/rosautotest/CSimpleException.cpp [new file with mode: 0644]
rostests/rosautotest/CSimpleException.h [new file with mode: 0644]
rostests/rosautotest/CTest.cpp [new file with mode: 0644]
rostests/rosautotest/CTest.h [new file with mode: 0644]
rostests/rosautotest/CTestInfo.cpp [new file with mode: 0644]
rostests/rosautotest/CTestInfo.h [new file with mode: 0644]
rostests/rosautotest/CTestList.cpp [new file with mode: 0644]
rostests/rosautotest/CTestList.h [new file with mode: 0644]
rostests/rosautotest/CVirtualTestList.cpp [new file with mode: 0644]
rostests/rosautotest/CVirtualTestList.h [new file with mode: 0644]
rostests/rosautotest/CWebService.cpp [new file with mode: 0644]
rostests/rosautotest/CWebService.h [new file with mode: 0644]
rostests/rosautotest/CWineTest.cpp [new file with mode: 0644]
rostests/rosautotest/CWineTest.h [new file with mode: 0644]
rostests/rosautotest/auto_array_ptr.h [new file with mode: 0644]
rostests/rosautotest/main.c [deleted file]
rostests/rosautotest/main.cpp [new file with mode: 0644]
rostests/rosautotest/precomp.h
rostests/rosautotest/rosautotest.rbuild
rostests/rosautotest/shutdown.cpp [moved from rostests/rosautotest/shutdown.c with 87% similarity]
rostests/rosautotest/tools.c [deleted file]
rostests/rosautotest/tools.cpp [new file with mode: 0644]
rostests/rosautotest/webservice.c [deleted file]
rostests/rosautotest/winetests.c [deleted file]