mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 00:45:24 +00:00
[ROSAUTOTEST]
- Disable error dialogs unless running in interactive mode ONLINE-441 svn path=/trunk/; revision=66506
This commit is contained in:
parent
1d174e03c2
commit
99126ff14b
3 changed files with 22 additions and 1 deletions
|
@ -17,17 +17,22 @@ typedef void (WINAPI *GETSYSINFO)(LPSYSTEM_INFO);
|
||||||
*/
|
*/
|
||||||
CConfiguration::CConfiguration()
|
CConfiguration::CConfiguration()
|
||||||
: m_CrashRecovery(false),
|
: m_CrashRecovery(false),
|
||||||
|
m_IsInteractive(false),
|
||||||
m_PrintToConsole(true),
|
m_PrintToConsole(true),
|
||||||
m_Shutdown(false),
|
m_Shutdown(false),
|
||||||
m_Submit(false)
|
m_Submit(false)
|
||||||
{
|
{
|
||||||
WCHAR WindowsDirectory[MAX_PATH];
|
WCHAR WindowsDirectory[MAX_PATH];
|
||||||
|
WCHAR Interactive[32];
|
||||||
|
|
||||||
/* Check if we are running under ReactOS from the SystemRoot directory */
|
/* Check if we are running under ReactOS from the SystemRoot directory */
|
||||||
if(!GetWindowsDirectoryW(WindowsDirectory, MAX_PATH))
|
if(!GetWindowsDirectoryW(WindowsDirectory, MAX_PATH))
|
||||||
FATAL("GetWindowsDirectoryW failed");
|
FATAL("GetWindowsDirectoryW failed");
|
||||||
|
|
||||||
m_IsReactOS = !_wcsnicmp(&WindowsDirectory[3], L"reactos", 7);
|
m_IsReactOS = !_wcsnicmp(&WindowsDirectory[3], L"reactos", 7);
|
||||||
|
|
||||||
|
if(GetEnvironmentVariableW(L"WINETEST_INTERACTIVE", Interactive, _countof(Interactive)))
|
||||||
|
m_IsInteractive = _wtoi(Interactive);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -9,6 +9,7 @@ class CConfiguration
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
bool m_CrashRecovery;
|
bool m_CrashRecovery;
|
||||||
|
bool m_IsInteractive;
|
||||||
bool m_IsReactOS;
|
bool m_IsReactOS;
|
||||||
bool m_PrintToConsole;
|
bool m_PrintToConsole;
|
||||||
bool m_Shutdown;
|
bool m_Shutdown;
|
||||||
|
@ -30,6 +31,7 @@ public:
|
||||||
bool DoPrint() const { return m_PrintToConsole; }
|
bool DoPrint() const { return m_PrintToConsole; }
|
||||||
bool DoShutdown() const { return m_Shutdown; }
|
bool DoShutdown() const { return m_Shutdown; }
|
||||||
bool DoSubmit() const { return m_Submit; }
|
bool DoSubmit() const { return m_Submit; }
|
||||||
|
bool IsInteractive() const { return m_IsInteractive; }
|
||||||
bool IsReactOS() const { return m_IsReactOS; }
|
bool IsReactOS() const { return m_IsReactOS; }
|
||||||
const string& GetComment() const { return m_Comment; }
|
const string& GetComment() const { return m_Comment; }
|
||||||
const wstring& GetModule() const { return m_Module; }
|
const wstring& GetModule() const { return m_Module; }
|
||||||
|
|
|
@ -248,9 +248,14 @@ CWineTest::GetNextTestInfo()
|
||||||
}
|
}
|
||||||
catch(CTestException& e)
|
catch(CTestException& e)
|
||||||
{
|
{
|
||||||
delete[] m_ListBuffer;
|
stringstream ss;
|
||||||
|
|
||||||
|
ss << "An exception occurred trying to list tests for: " << UnicodeToAscii(m_CurrentFile) << endl;
|
||||||
|
StringOut(ss.str());
|
||||||
StringOut(e.GetMessage());
|
StringOut(e.GetMessage());
|
||||||
|
StringOut("\n");
|
||||||
m_CurrentFile.clear();
|
m_CurrentFile.clear();
|
||||||
|
delete[] m_ListBuffer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -327,6 +332,7 @@ CWineTest::Run()
|
||||||
auto_ptr<CTestList> TestList;
|
auto_ptr<CTestList> TestList;
|
||||||
auto_ptr<CWebService> WebService;
|
auto_ptr<CWebService> WebService;
|
||||||
CTestInfo* TestInfo;
|
CTestInfo* TestInfo;
|
||||||
|
DWORD ErrorMode;
|
||||||
|
|
||||||
/* The virtual test list is of course faster, so it should be preferred over
|
/* The virtual test list is of course faster, so it should be preferred over
|
||||||
the journaled one.
|
the journaled one.
|
||||||
|
@ -349,6 +355,10 @@ CWineTest::Run()
|
||||||
if(Configuration.DoSubmit())
|
if(Configuration.DoSubmit())
|
||||||
WebService.reset(new CWebService());
|
WebService.reset(new CWebService());
|
||||||
|
|
||||||
|
/* Disable error dialogs if we're running in non-interactive mode */
|
||||||
|
if(!Configuration.IsInteractive())
|
||||||
|
ErrorMode = SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX);
|
||||||
|
|
||||||
/* Get information for each test to run */
|
/* Get information for each test to run */
|
||||||
while((TestInfo = TestList->GetNextTestInfo()) != 0)
|
while((TestInfo = TestList->GetNextTestInfo()) != 0)
|
||||||
{
|
{
|
||||||
|
@ -361,4 +371,8 @@ CWineTest::Run()
|
||||||
|
|
||||||
StringOut("\n\n");
|
StringOut("\n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Restore the original error mode */
|
||||||
|
if(!Configuration.IsInteractive())
|
||||||
|
SetErrorMode(ErrorMode);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue