Commit 936b10b4 authored by Paul Vriens's avatar Paul Vriens Committed by Alexandre Julliard

qmgr/tests: Fix some tests on systems with BITS 1.5 and lower.

parent 77f0a71d
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include "wine/test.h" #include "wine/test.h"
#include "bits.h" #include "bits.h"
#include "initguid.h"
/* Globals used by many tests */ /* Globals used by many tests */
static const WCHAR test_displayName[] = {'T', 'e', 's', 't', 0}; static const WCHAR test_displayName[] = {'T', 'e', 's', 't', 0};
...@@ -123,6 +124,49 @@ static void teardown(void) ...@@ -123,6 +124,49 @@ static void teardown(void)
IBackgroundCopyManager_Release(test_manager); IBackgroundCopyManager_Release(test_manager);
} }
/* FIXME: Remove when Wine has implemented this */
DEFINE_GUID(CLSID_BackgroundCopyManager2_0, 0x6d18ad12, 0xbde3, 0x4393, 0xb3,0x11, 0x09,0x9c,0x34,0x6e,0x6d,0xf9);
static BOOL check_bits20(void)
{
HRESULT hres;
IBackgroundCopyManager *manager;
BOOL ret = TRUE;
hres = CoCreateInstance(&CLSID_BackgroundCopyManager2_0, NULL,
CLSCTX_LOCAL_SERVER,
&IID_IBackgroundCopyManager,
(void **) &manager);
if (hres == REGDB_E_CLASSNOTREG)
{
ret = FALSE;
/* FIXME: Wine implements 2.0 functionality but doesn't advertise 2.0
*
* Remove when Wine is fixed
*/
if (setup())
{
HRESULT hres2;
hres2 = IBackgroundCopyJob_AddFile(test_job, test_remotePathA,
test_localPathA);
if (hres2 == S_OK)
{
trace("Running on Wine, claim 2.0 is present\n");
ret = TRUE;
}
teardown();
}
}
if (manager)
IBackgroundCopyManager_Release(manager);
return ret;
}
/* Test that the jobId is properly set */ /* Test that the jobId is properly set */
static void test_GetId(void) static void test_GetId(void)
{ {
...@@ -486,12 +530,15 @@ START_TEST(job) ...@@ -486,12 +530,15 @@ START_TEST(job)
test_GetId, test_GetId,
test_GetType, test_GetType,
test_GetName, test_GetName,
test_AddFile,
test_AddFileSet,
test_EnumFiles,
test_GetProgress_preTransfer, test_GetProgress_preTransfer,
test_GetState, test_GetState,
test_ResumeEmpty, test_ResumeEmpty,
0
};
static const test_t tests_bits20[] = {
test_AddFile,
test_AddFileSet,
test_EnumFiles,
test_CompleteLocal, test_CompleteLocal,
test_CompleteLocalURL, test_CompleteLocalURL,
0 0
...@@ -502,6 +549,7 @@ START_TEST(job) ...@@ -502,6 +549,7 @@ START_TEST(job)
return; return;
CoInitialize(NULL); CoInitialize(NULL);
for (test = tests; *test; ++test) for (test = tests; *test; ++test)
{ {
/* Keep state separate between tests. */ /* Keep state separate between tests. */
...@@ -513,5 +561,25 @@ START_TEST(job) ...@@ -513,5 +561,25 @@ START_TEST(job)
(*test)(); (*test)();
teardown(); teardown();
} }
if (check_bits20())
{
for (test = tests_bits20; *test; ++test)
{
/* Keep state separate between tests. */
if (!setup())
{
skip("Unable to setup test\n");
break;
}
(*test)();
teardown();
}
}
else
{
win_skip("Tests need BITS 2.0 or higher\n");
}
CoUninitialize(); CoUninitialize();
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment