You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Remove incorrect patch for RtlVerifyVersionInfo, add tests for VerifyVersionInfo.
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
From 6b6c6c74980d2e3b5b3a27544492a6ed46756ddc Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 30 Nov 2014 22:27:01 +0100
|
||||
Subject: kernel32/tests: Add additional tests for VerifyVersionInfoA.
|
||||
|
||||
---
|
||||
dlls/kernel32/tests/version.c | 56 +++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 56 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/version.c b/dlls/kernel32/tests/version.c
|
||||
index a47e52c..7fe33c4 100644
|
||||
--- a/dlls/kernel32/tests/version.c
|
||||
+++ b/dlls/kernel32/tests/version.c
|
||||
@@ -353,6 +353,62 @@ static void test_VerifyVersionInfo(void)
|
||||
pVerSetConditionMask(0, VER_MINORVERSION, VER_GREATER_EQUAL));
|
||||
ok(ret || broken(!ret) /* some win2k */, "VerifyVersionInfoA failed with error %d\n", GetLastError());
|
||||
|
||||
+ /* tests for condition mask */
|
||||
+
|
||||
+ info.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXA);
|
||||
+ GetVersionExA((OSVERSIONINFOA *)&info);
|
||||
+ info.wServicePackMajor++;
|
||||
+ SetLastError(0xdeadbeef);
|
||||
+ ret = pVerifyVersionInfoA(&info, VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR | VER_SERVICEPACKMINOR,
|
||||
+ pVerSetConditionMask(pVerSetConditionMask(0, VER_MAJORVERSION, VER_EQUAL), VER_SERVICEPACKMAJOR, VER_LESS));
|
||||
+ ok(!ret, "VerifyVersionInfoA succeeded\n");
|
||||
+ ok(error == ERROR_OLD_WIN_VERSION || broken(error == ERROR_BAD_ARGUMENTS) /* some win2k */,
|
||||
+ "VerifyVersionInfoA should have failed with ERROR_OLD_WIN_VERSION instead of %d\n", error);
|
||||
+
|
||||
+ info.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXA);
|
||||
+ GetVersionExA((OSVERSIONINFOA *)&info);
|
||||
+ info.dwMajorVersion--;
|
||||
+ ret = pVerifyVersionInfoA(&info, VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR | VER_SERVICEPACKMINOR,
|
||||
+ pVerSetConditionMask(pVerSetConditionMask(0, VER_MAJORVERSION, VER_GREATER_EQUAL), VER_SERVICEPACKMAJOR, VER_LESS));
|
||||
+ ok(ret, "VerifyVersionInfoA failed with error %d\n", GetLastError());
|
||||
+
|
||||
+ info.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXA);
|
||||
+ GetVersionExA((OSVERSIONINFOA *)&info);
|
||||
+ info.wServicePackMajor++;
|
||||
+ SetLastError(0xdeadbeef);
|
||||
+ ret = pVerifyVersionInfoA(&info, VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR | VER_SERVICEPACKMINOR,
|
||||
+ pVerSetConditionMask(pVerSetConditionMask(0, VER_MAJORVERSION, VER_GREATER_EQUAL), VER_SERVICEPACKMAJOR, VER_LESS));
|
||||
+ ok(!ret, "VerifyVersionInfoA succeeded\n");
|
||||
+ ok(error == ERROR_OLD_WIN_VERSION || broken(error == ERROR_BAD_ARGUMENTS) /* some win2k */,
|
||||
+ "VerifyVersionInfoA should have failed with ERROR_OLD_WIN_VERSION instead of %d\n", error);
|
||||
+
|
||||
+ info.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXA);
|
||||
+ GetVersionExA((OSVERSIONINFOA *)&info);
|
||||
+ ret = pVerifyVersionInfoA(&info, VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR | VER_SERVICEPACKMINOR,
|
||||
+ pVerSetConditionMask(pVerSetConditionMask(0, VER_MAJORVERSION, VER_GREATER_EQUAL), VER_SERVICEPACKMAJOR, VER_LESS));
|
||||
+ ok(ret, "VerifyVersionInfoA failed with error %d\n", GetLastError());
|
||||
+
|
||||
+ if (servicepack)
|
||||
+ {
|
||||
+ info.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXA);
|
||||
+ GetVersionExA((OSVERSIONINFOA *)&info);
|
||||
+ info.wServicePackMajor--;
|
||||
+ SetLastError(0xdeadbeef);
|
||||
+ ret = pVerifyVersionInfoA(&info, VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR | VER_SERVICEPACKMINOR,
|
||||
+ pVerSetConditionMask(pVerSetConditionMask(0, VER_MAJORVERSION, VER_EQUAL), VER_SERVICEPACKMAJOR, VER_GREATER));
|
||||
+ ok(!ret, "VerifyVersionInfoA succeeded\n");
|
||||
+ ok(error == ERROR_OLD_WIN_VERSION || broken(error == ERROR_BAD_ARGUMENTS) /* some win2k */,
|
||||
+ "VerifyVersionInfoA should have failed with ERROR_OLD_WIN_VERSION instead of %d\n", error);
|
||||
+
|
||||
+ info.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXA);
|
||||
+ GetVersionExA((OSVERSIONINFOA *)&info);
|
||||
+ info.dwMajorVersion++;
|
||||
+ info.wServicePackMajor--;
|
||||
+ ret = pVerifyVersionInfoA(&info, VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR | VER_SERVICEPACKMINOR,
|
||||
+ pVerSetConditionMask(pVerSetConditionMask(0, VER_MAJORVERSION, VER_LESS), VER_SERVICEPACKMAJOR, VER_EQUAL));
|
||||
+ ok(ret, "VerifyVersionInfoA failed with error %d\n", GetLastError());
|
||||
+ }
|
||||
+
|
||||
/* test bad dwOSVersionInfoSize */
|
||||
info.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXA);
|
||||
GetVersionExA((OSVERSIONINFOA *)&info);
|
||||
--
|
||||
2.1.3
|
||||
|
Reference in New Issue
Block a user