* 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-2011 Colin Finck <colin@reactos.org>
+ * COPYRIGHT: Copyright 2009-2015 Colin Finck <colin@reactos.org>
*/
#include "precomp.h"
static const WCHAR szHostname[] = L"reactos.org";
-static const WCHAR szServerFile[] = L"testman/webservice/";
+static const WCHAR szServerFile[] = L"sites/all/modules/reactos/testman/webservice/";
/**
* Constructs a CWebService object and immediately establishes a connection to the "testman" Web Service.
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;
+ }
+}
+
/**
* Requests a Test ID from the Web Service for our test run.
*
Data += "&suiteid=";
Data += SuiteID;
Data += "&log=";
- Data += TestInfo->Log;
+ Data += EscapeString(TestInfo->Log);
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;
+ }
}