Commit graph

10 commits

Author SHA1 Message Date
Colin Finck
1463b225be Output "SYSREG_ROSAUTOTEST_FAILURE" for sysreg2 in case of a failure inside rosautotest
svn path=/trunk/; revision=40211
2009-03-24 20:49:04 +00:00
Colin Finck
0a05554c18 Take the line number as an integer, the STRINGIZER macro didn't work as expected
svn path=/trunk/; revision=40208
2009-03-24 12:37:54 +00:00
Colin Finck
10f13abcb5 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
2009-03-21 01:39:04 +00:00
Colin Finck
a98eb8d135 Add a /c option to supply a comment for the web service submission.
This can be useful for giving more information about the used build for the test.

The necessary changes in testman will follow later :-P

svn path=/trunk/; revision=39698
2009-02-21 17:02:39 +00:00
Colin Finck
43659c9ace - Add some checks to prevent crashes in unexpected situations and add useful error messages for them.
This should make debugging something like r39578 easier :-)
- Prevent some memory leaks in case of failure (well, some memory wasn't even freed in case of success :-P)

svn path=/trunk/; revision=39584
2009-02-13 17:39:58 +00:00
Colin Finck
0cedc2a03c Output the string indicating the test which is going to be run in one call.
This should prevent a race condition, when another application also outputs something over the debug line.

svn path=/trunk/; revision=39027
2009-01-22 22:12:13 +00:00
Christoph von Wittich
2fef907b66 fix handle leaks
svn path=/trunk/; revision=38927
2009-01-19 05:08:11 +00:00
Colin Finck
be72d98a83 Convert all line-endings to LF first in StringOut before passing the strings to printf and OutputDebugStringA.
Both functions treat the string as text and convert the line-endings themselves to CRLF. If you already give them a CRLF line-ending, it'll be converted to CRCRLF..
By unifying the line-endings in StringOut, it is also possible now to pass both LF and CRLF to the function.

This should fix the empty lines in the BuildBot log.
Thanks to Christoph for the help!

svn path=/trunk/; revision=38840
2009-01-17 19:58:18 +00:00
Colin Finck
4cc7302baf - It actually wasn't a very good idea to authenticate against the MD5 password hash instead of the password itself.
This didn't really improve security, but just made things more difficult for the user. Change that, so the web service and rosautotest expect a password in the "rosautotest.ini" file now.
- Read the "rosautotest.ini" from the application's directory instead of the Windows directory.
- Little adjustmensts here and there

svn path=/trunk/; revision=38655
2009-01-08 23:09:10 +00:00
Colin Finck
d2148478c6 Introducing the "ReactOS Automatic Testing Utility", superseding our current syssetup/cmd/dbgprint hack for running automatic regression tests.
Without any parameters, it mostly works the same as our current solution, but all in a standalone application.
Adding the /w parameter will submit all results to the web service committed in my previous commit.

The application would also make it possible to run Wine Tests regularly on a Windows machine and submitting the results.
This would make sure that all Wine tests also pass under Windows.

svn path=/trunk/; revision=38580
2009-01-05 12:41:34 +00:00