Joachim Priesner : scrrun/tests: Move code to get a fixed drive to a function.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Jan 29 09:10:09 CST 2016
Module: wine
Branch: master
Commit: 9b0a9c4dea4c0e15ba22d62cdb53b459a3e96cbd
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9b0a9c4dea4c0e15ba22d62cdb53b459a3e96cbd
Author: Joachim Priesner <joachim.priesner at web.de>
Date: Thu Jan 28 17:13:11 2016 +0100
scrrun/tests: Move code to get a fixed drive to a function.
Signed-off-by: Joachim Priesner <joachim.priesner at web.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/scrrun/tests/filesystem.c | 77 ++++++++++++++++++++++++------------------
1 file changed, 45 insertions(+), 32 deletions(-)
diff --git a/dlls/scrrun/tests/filesystem.c b/dlls/scrrun/tests/filesystem.c
index b80540d..33f403c 100644
--- a/dlls/scrrun/tests/filesystem.c
+++ b/dlls/scrrun/tests/filesystem.c
@@ -59,6 +59,47 @@ static inline void get_temp_path(const WCHAR *prefix, WCHAR *path)
DeleteFileW(path);
}
+static IDrive *get_fixed_drive(void)
+{
+ IDriveCollection *drives;
+ IEnumVARIANT *iter;
+ IDrive *drive;
+ HRESULT hr;
+
+ hr = IFileSystem3_get_Drives(fs3, &drives);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+
+ hr = IDriveCollection_get__NewEnum(drives, (IUnknown**)&iter);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ IDriveCollection_Release(drives);
+
+ while (1) {
+ DriveTypeConst type;
+ VARIANT var;
+
+ hr = IEnumVARIANT_Next(iter, 1, &var, NULL);
+ if (hr == S_FALSE) {
+ drive = NULL;
+ break;
+ }
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+
+ hr = IDispatch_QueryInterface(V_DISPATCH(&var), &IID_IDrive, (void**)&drive);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ VariantClear(&var);
+
+ hr = IDrive_get_DriveType(drive, &type);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ if (type == Fixed)
+ break;
+
+ IDrive_Release(drive);
+ }
+
+ IEnumVARIANT_Release(iter);
+ return drive;
+}
+
static void test_interfaces(void)
{
static const WCHAR nonexistent_dirW[] = {
@@ -1914,42 +1955,15 @@ static void test_GetDriveName(void)
static void test_SerialNumber(void)
{
- IDriveCollection *drives;
- IEnumVARIANT *iter;
IDrive *drive;
LONG serial;
HRESULT hr;
BSTR name;
- hr = IFileSystem3_get_Drives(fs3, &drives);
- ok(hr == S_OK, "got 0x%08x\n", hr);
-
- hr = IDriveCollection_get__NewEnum(drives, (IUnknown**)&iter);
- ok(hr == S_OK, "got 0x%08x\n", hr);
- IDriveCollection_Release(drives);
-
- while (1) {
- DriveTypeConst type;
- VARIANT var;
-
- hr = IEnumVARIANT_Next(iter, 1, &var, NULL);
- if (hr == S_FALSE) {
- skip("No fixed drive found, skipping test.\n");
- IEnumVARIANT_Release(iter);
- return;
- }
- ok(hr == S_OK, "got 0x%08x\n", hr);
-
- hr = IDispatch_QueryInterface(V_DISPATCH(&var), &IID_IDrive, (void**)&drive);
- ok(hr == S_OK, "got 0x%08x\n", hr);
- VariantClear(&var);
-
- hr = IDrive_get_DriveType(drive, &type);
- ok(hr == S_OK, "got 0x%08x\n", hr);
- if (type == Fixed)
- break;
-
- IDrive_Release(drive);
+ drive = get_fixed_drive();
+ if (!drive) {
+ skip("No fixed drive found, skipping test.\n");
+ return;
}
hr = IDrive_get_SerialNumber(drive, NULL);
@@ -1979,7 +1993,6 @@ static void test_SerialNumber(void)
SysFreeString(name);
IDrive_Release(drive);
- IEnumVARIANT_Release(iter);
}
static const struct extension_test {
More information about the wine-cvs
mailing list