Author: cfinck
Date: Sun Mar 1 11:19:30 2015
New Revision: 66516
URL: http://svn.reactos.org/svn/reactos?rev=66516&view=rev
Log:
[ROSAUTOTEST]
- Finish a test run in the database when all tests have successfully been run. This got lost during the C++ rewrite of rosautotest in r40147.
- Don't spam the logs with useless OK messages. Only report the web service response if an error occurred.
Modified:
trunk/rostests/rosautotest/CWebService.cpp
trunk/rostests/rosautotest/CWebService.h
trunk/rostests/rosautotest/CWineTest.cpp
Modified: trunk/rostests/rosautotest/CWebService.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/rosautotest/CWebService.c…
==============================================================================
--- trunk/rostests/rosautotest/CWebService.cpp [iso-8859-1] (original)
+++ trunk/rostests/rosautotest/CWebService.cpp [iso-8859-1] Sun Mar 1 11:19:30 2015
@@ -92,6 +92,38 @@
Data[DataLength] = 0;
return Data.release();
+}
+
+/**
+* Interface to other classes for finishing this test run
+*
+* @param TestType
+* Constant pointer to a char array containing the test type to be run (i.e. "wine")
+*/
+void
+CWebService::Finish(const char* TestType)
+{
+ auto_array_ptr<char> Response;
+ string Data;
+ stringstream ss;
+
+ if (!m_TestID)
+ EXCEPTION("CWebService::Finish was called, but not a single result had been submitted!");
+
+ Data = "action=finish";
+ Data += Configuration.GetAuthenticationRequestString();
+ Data += "&testtype=";
+ Data += TestType;
+ Data += "&testid=";
+ Data += m_TestID;
+
+ Response.reset(DoRequest(Data));
+
+ if (strcmp(Response, "OK"))
+ {
+ ss << "When finishing the test run, the server responded:" << endl << Response << endl;
+ SSEXCEPTION;
+ }
}
/**
@@ -206,9 +238,9 @@
Response.reset(DoRequest(Data));
- ss << "The server responded:" << endl << Response << endl;
- StringOut(ss.str());
-
- if(strcmp(Response, "OK"))
- EXCEPTION("Aborted!\n");
-}
+ if (strcmp(Response, "OK"))
+ {
+ ss << "When submitting the result, the server responded:" << endl << Response << endl;
+ SSEXCEPTION;
+ }
+}
Modified: trunk/rostests/rosautotest/CWebService.h
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/rosautotest/CWebService.h…
==============================================================================
--- trunk/rostests/rosautotest/CWebService.h [iso-8859-1] (original)
+++ trunk/rostests/rosautotest/CWebService.h [iso-8859-1] Sun Mar 1 11:19:30 2015
@@ -2,7 +2,7 @@
* PROJECT: ReactOS Automatic Testing Utility
* LICENSE: GNU GPLv2 or any later version as published by the Free Software Foundation
* PURPOSE: Class implementing the interface to the "testman" Web Service
- * COPYRIGHT: Copyright 2009 Colin Finck <colin(a)reactos.org>
+ * COPYRIGHT: Copyright 2009-2015 Colin Finck <colin(a)reactos.org>
*/
class CWebService
@@ -21,5 +21,6 @@
CWebService();
~CWebService();
+ void Finish(const char* TestType);
void Submit(const char* TestType, CTestInfo* TestInfo);
};
Modified: trunk/rostests/rosautotest/CWineTest.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/rosautotest/CWineTest.cpp…
==============================================================================
--- trunk/rostests/rosautotest/CWineTest.cpp [iso-8859-1] (original)
+++ trunk/rostests/rosautotest/CWineTest.cpp [iso-8859-1] Sun Mar 1 11:19:30 2015
@@ -372,6 +372,10 @@
StringOut("\n\n");
}
+ /* We're done with all tests. Finish this run */
+ if(Configuration.DoSubmit())
+ WebService->Finish("wine");
+
/* Restore the original error mode */
if(!Configuration.IsInteractive())
SetErrorMode(ErrorMode);