diff options
Diffstat (limited to 'src/ext/Bal/test')
5 files changed, 20 insertions, 10 deletions
diff --git a/src/ext/Bal/test/examples/TestEngine/ReloadEngine.cpp b/src/ext/Bal/test/examples/TestEngine/ReloadEngine.cpp index 46fd9afa..3f290b86 100644 --- a/src/ext/Bal/test/examples/TestEngine/ReloadEngine.cpp +++ b/src/ext/Bal/test/examples/TestEngine/ReloadEngine.cpp | |||
@@ -31,7 +31,7 @@ HRESULT RunReloadEngine( | |||
31 | hr = pTestEngine->SendShutdownEvent(BOOTSTRAPPER_SHUTDOWN_ACTION_RELOAD_BOOTSTRAPPER); | 31 | hr = pTestEngine->SendShutdownEvent(BOOTSTRAPPER_SHUTDOWN_ACTION_RELOAD_BOOTSTRAPPER); |
32 | ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "BA returned failure for OnShutdown."); | 32 | ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "BA returned failure for OnShutdown."); |
33 | 33 | ||
34 | pTestEngine->UnloadBA(); | 34 | pTestEngine->UnloadBA(TRUE); |
35 | 35 | ||
36 | hr = pTestEngine->LoadBA(wzBAFilePath); | 36 | hr = pTestEngine->LoadBA(wzBAFilePath); |
37 | ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "Failed to load BA."); | 37 | ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "Failed to load BA."); |
@@ -48,7 +48,7 @@ HRESULT RunReloadEngine( | |||
48 | hr = pTestEngine->SendShutdownEvent(BOOTSTRAPPER_SHUTDOWN_ACTION_RESTART); | 48 | hr = pTestEngine->SendShutdownEvent(BOOTSTRAPPER_SHUTDOWN_ACTION_RESTART); |
49 | ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "BA returned failure for OnShutdown."); | 49 | ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "BA returned failure for OnShutdown."); |
50 | 50 | ||
51 | pTestEngine->UnloadBA(); | 51 | pTestEngine->UnloadBA(FALSE); |
52 | 52 | ||
53 | LExit: | 53 | LExit: |
54 | return hr; | 54 | return hr; |
diff --git a/src/ext/Bal/test/examples/TestEngine/ShutdownEngine.cpp b/src/ext/Bal/test/examples/TestEngine/ShutdownEngine.cpp index 3b876e4e..b5c8c462 100644 --- a/src/ext/Bal/test/examples/TestEngine/ShutdownEngine.cpp +++ b/src/ext/Bal/test/examples/TestEngine/ShutdownEngine.cpp | |||
@@ -31,7 +31,7 @@ HRESULT RunShutdownEngine( | |||
31 | hr = pTestEngine->SendShutdownEvent(BOOTSTRAPPER_SHUTDOWN_ACTION_RELOAD_BOOTSTRAPPER); | 31 | hr = pTestEngine->SendShutdownEvent(BOOTSTRAPPER_SHUTDOWN_ACTION_RELOAD_BOOTSTRAPPER); |
32 | ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "BA returned failure for OnShutdown."); | 32 | ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "BA returned failure for OnShutdown."); |
33 | 33 | ||
34 | pTestEngine->UnloadBA(); | 34 | pTestEngine->UnloadBA(FALSE); |
35 | 35 | ||
36 | LExit: | 36 | LExit: |
37 | return hr; | 37 | return hr; |
diff --git a/src/ext/Bal/test/examples/TestEngine/TestEngine.cpp b/src/ext/Bal/test/examples/TestEngine/TestEngine.cpp index 4c7ec1c3..5c6ed398 100644 --- a/src/ext/Bal/test/examples/TestEngine/TestEngine.cpp +++ b/src/ext/Bal/test/examples/TestEngine/TestEngine.cpp | |||
@@ -147,10 +147,18 @@ HRESULT TestEngine::SimulateQuit( | |||
147 | return BAEngineQuit(&args, &results); | 147 | return BAEngineQuit(&args, &results); |
148 | } | 148 | } |
149 | 149 | ||
150 | void TestEngine::UnloadBA() | 150 | void TestEngine::UnloadBA( |
151 | __in BOOL fReload | ||
152 | ) | ||
151 | { | 153 | { |
152 | PFN_BOOTSTRAPPER_APPLICATION_DESTROY pfnDestroy = NULL; | 154 | PFN_BOOTSTRAPPER_APPLICATION_DESTROY pfnDestroy = NULL; |
153 | BOOL fDisableUnloading = m_pCreateResults && m_pCreateResults->fDisableUnloading; | 155 | BOOTSTRAPPER_DESTROY_ARGS args = { }; |
156 | BOOTSTRAPPER_DESTROY_RESULTS results = { }; | ||
157 | |||
158 | args.cbSize = sizeof(args); | ||
159 | args.fReload = fReload; | ||
160 | |||
161 | results.cbSize = sizeof(results); | ||
154 | 162 | ||
155 | ReleaseNullMem(m_pCreateResults); | 163 | ReleaseNullMem(m_pCreateResults); |
156 | 164 | ||
@@ -158,12 +166,12 @@ void TestEngine::UnloadBA() | |||
158 | 166 | ||
159 | if (pfnDestroy) | 167 | if (pfnDestroy) |
160 | { | 168 | { |
161 | pfnDestroy(); | 169 | pfnDestroy(&args, &results); |
162 | } | 170 | } |
163 | 171 | ||
164 | if (m_hBAModule) | 172 | if (m_hBAModule) |
165 | { | 173 | { |
166 | if (!fDisableUnloading) | 174 | if (!results.fDisableUnloading) |
167 | { | 175 | { |
168 | ::FreeLibrary(m_hBAModule); | 176 | ::FreeLibrary(m_hBAModule); |
169 | } | 177 | } |
diff --git a/src/ext/Bal/test/examples/TestEngine/TestEngine.h b/src/ext/Bal/test/examples/TestEngine/TestEngine.h index 44e813bd..248e979a 100644 --- a/src/ext/Bal/test/examples/TestEngine/TestEngine.h +++ b/src/ext/Bal/test/examples/TestEngine/TestEngine.h | |||
@@ -44,7 +44,9 @@ public: | |||
44 | __in DWORD dwExitCode | 44 | __in DWORD dwExitCode |
45 | ); | 45 | ); |
46 | 46 | ||
47 | void UnloadBA(); | 47 | void UnloadBA( |
48 | __in BOOL fReload | ||
49 | ); | ||
48 | 50 | ||
49 | private: | 51 | private: |
50 | HRESULT BAEngineLog( | 52 | HRESULT BAEngineLog( |
@@ -77,4 +79,4 @@ private: | |||
77 | HMODULE m_hBAModule; | 79 | HMODULE m_hBAModule; |
78 | BOOTSTRAPPER_CREATE_RESULTS* m_pCreateResults; | 80 | BOOTSTRAPPER_CREATE_RESULTS* m_pCreateResults; |
79 | DWORD m_dwThreadId; | 81 | DWORD m_dwThreadId; |
80 | }; \ No newline at end of file | 82 | }; |
diff --git a/src/ext/Bal/test/examples/TestEngine/WaitForQuitEngine.cpp b/src/ext/Bal/test/examples/TestEngine/WaitForQuitEngine.cpp index 2f80ba75..64b618f4 100644 --- a/src/ext/Bal/test/examples/TestEngine/WaitForQuitEngine.cpp +++ b/src/ext/Bal/test/examples/TestEngine/WaitForQuitEngine.cpp | |||
@@ -28,7 +28,7 @@ HRESULT RunWaitForQuitEngine( | |||
28 | hr = pTestEngine->SendShutdownEvent(BOOTSTRAPPER_SHUTDOWN_ACTION_RELOAD_BOOTSTRAPPER); | 28 | hr = pTestEngine->SendShutdownEvent(BOOTSTRAPPER_SHUTDOWN_ACTION_RELOAD_BOOTSTRAPPER); |
29 | ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "BA returned failure for OnShutdown."); | 29 | ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "BA returned failure for OnShutdown."); |
30 | 30 | ||
31 | pTestEngine->UnloadBA(); | 31 | pTestEngine->UnloadBA(FALSE); |
32 | 32 | ||
33 | LExit: | 33 | LExit: |
34 | return hr; | 34 | return hr; |