Paul Vriens : snmpapi/tests: Run tests again on win98 and NT4.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Aug 9 08:23:01 CDT 2007
Module: wine
Branch: master
Commit: 5aeb63eb4510b3f9734d26aa896848d5b9a5a888
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5aeb63eb4510b3f9734d26aa896848d5b9a5a888
Author: Paul Vriens <paul.vriens.wine at gmail.com>
Date: Wed Aug 8 17:58:29 2007 +0200
snmpapi/tests: Run tests again on win98 and NT4.
---
dlls/snmpapi/tests/util.c | 102 +++++++++++++++++++++++++++++++--------------
1 files changed, 71 insertions(+), 31 deletions(-)
diff --git a/dlls/snmpapi/tests/util.c b/dlls/snmpapi/tests/util.c
index 160ec19..d3504ff 100644
--- a/dlls/snmpapi/tests/util.c
+++ b/dlls/snmpapi/tests/util.c
@@ -23,6 +23,26 @@
#include <windef.h>
#include <snmp.h>
+static HMODULE hSnmpapi = 0;
+static INT (WINAPI *pSnmpUtilAsnAnyCpy)(AsnAny*, AsnAny*);
+static VOID (WINAPI *pSnmpUtilAsnAnyFree)(AsnAny*);
+static INT (WINAPI *pSnmpUtilOctetsCmp)(AsnOctetString*, AsnOctetString*);
+static INT (WINAPI *pSnmpUtilOctetsCpy)(AsnOctetString*, AsnOctetString*);
+static VOID (WINAPI *pSnmpUtilOctetsFree)(AsnOctetString*);
+static INT (WINAPI *pSnmpUtilOctetsNCmp)(AsnOctetString*, AsnOctetString*, UINT);
+
+static void InitFunctionPtrs(void)
+{
+ hSnmpapi = GetModuleHandle("snmpapi.dll");
+
+ pSnmpUtilAsnAnyCpy = (void*)GetProcAddress(hSnmpapi, "SnmpUtilAsnAnyCpy");
+ pSnmpUtilAsnAnyFree = (void*)GetProcAddress(hSnmpapi, "SnmpUtilAsnAnyFree");
+ pSnmpUtilOctetsCmp = (void*)GetProcAddress(hSnmpapi, "SnmpUtilOctetsCmp");
+ pSnmpUtilOctetsCpy = (void*)GetProcAddress(hSnmpapi, "SnmpUtilOctetsCpy");
+ pSnmpUtilOctetsFree = (void*)GetProcAddress(hSnmpapi, "SnmpUtilOctetsFree");
+ pSnmpUtilOctetsNCmp = (void*)GetProcAddress(hSnmpapi, "SnmpUtilOctetsNCmp");
+}
+
static void test_SnmpUtilOidToA(void)
{
LPSTR ret;
@@ -108,24 +128,24 @@ static void test_SnmpUtilAsnAnyCpyFree(void)
static AsnAny dst, src = { ASN_INTEGER, { 1 } };
if (0) { /* these crash on XP */
- ret = SnmpUtilAsnAnyCpy(NULL, NULL);
+ ret = pSnmpUtilAsnAnyCpy(NULL, NULL);
ok(!ret, "SnmpUtilAsnAnyCpy succeeded\n");
- ret = SnmpUtilAsnAnyCpy(&dst, NULL);
+ ret = pSnmpUtilAsnAnyCpy(&dst, NULL);
ok(!ret, "SnmpUtilAsnAnyCpy succeeded\n");
- ret = SnmpUtilAsnAnyCpy(NULL, &src);
+ ret = pSnmpUtilAsnAnyCpy(NULL, &src);
ok(!ret, "SnmpUtilAsnAnyCpy succeeded\n");
}
- ret = SnmpUtilAsnAnyCpy(&dst, &src);
+ ret = pSnmpUtilAsnAnyCpy(&dst, &src);
ok(ret, "SnmpUtilAsnAnyCpy failed\n");
ok(!memcmp(&src, &dst, sizeof(AsnAny)), "SnmpUtilAsnAnyCpy failed\n");
if (0) { /* crashes on XP */
- SnmpUtilAsnAnyFree(NULL);
+ pSnmpUtilAsnAnyFree(NULL);
}
- SnmpUtilAsnAnyFree(&dst);
+ pSnmpUtilAsnAnyFree(&dst);
ok(dst.asnType == ASN_NULL, "SnmpUtilAsnAnyFree failed\n");
ok(dst.asnValue.number == 1, "SnmpUtilAsnAnyFree failed\n");
}
@@ -136,28 +156,28 @@ static void test_SnmpUtilOctetsCpyFree(void)
static BYTE stream[] = { '1', '2', '3', '4' };
static AsnOctetString dst, src = { stream, 4, TRUE };
- ret = SnmpUtilOctetsCpy(NULL, NULL);
+ ret = pSnmpUtilOctetsCpy(NULL, NULL);
ok(!ret, "SnmpUtilOctetsCpy succeeded\n");
memset(&dst, 1, sizeof(AsnOctetString));
- ret = SnmpUtilOctetsCpy(&dst, NULL);
+ ret = pSnmpUtilOctetsCpy(&dst, NULL);
ok(ret, "SnmpUtilOctetsCpy failed\n");
ok(dst.length == 0, "SnmpUtilOctetsCpy failed\n");
ok(dst.stream == NULL, "SnmpUtilOctetsCpy failed\n");
ok(dst.dynamic == FALSE, "SnmpUtilOctetsCpy failed\n");
- ret = SnmpUtilOctetsCpy(NULL, &src);
+ ret = pSnmpUtilOctetsCpy(NULL, &src);
ok(!ret, "SnmpUtilOctetsCpy succeeded\n");
memset(&dst, 0, sizeof(AsnOctetString));
- ret = SnmpUtilOctetsCpy(&dst, &src);
+ ret = pSnmpUtilOctetsCpy(&dst, &src);
ok(ret, "SnmpUtilOctetsCpy failed\n");
ok(src.length == dst.length, "SnmpUtilOctetsCpy failed\n");
ok(!memcmp(src.stream, dst.stream, dst.length), "SnmpUtilOctetsCpy failed\n");
ok(dst.dynamic == TRUE, "SnmpUtilOctetsCpy failed\n");
- SnmpUtilOctetsFree(NULL);
- SnmpUtilOctetsFree(&dst);
+ pSnmpUtilOctetsFree(NULL);
+ pSnmpUtilOctetsFree(&dst);
ok(dst.stream == NULL, "SnmpUtilOctetsFree failed\n");
ok(dst.length == 0, "SnmpUtilOctetsFree failed\n");
ok(dst.dynamic == FALSE, "SnmpUtilOctetsFree failed\n");
@@ -201,34 +221,34 @@ static void test_SnmpUtilOctetsNCmp(void)
static AsnOctetString octets1 = { stream1, 4, FALSE };
static AsnOctetString octets2 = { stream2, 4, FALSE };
- ret = SnmpUtilOctetsNCmp(NULL, NULL, 0);
+ ret = pSnmpUtilOctetsNCmp(NULL, NULL, 0);
ok(!ret, "SnmpUtilOctetsNCmp succeeded\n");
- ret = SnmpUtilOctetsNCmp(NULL, NULL, 1);
+ ret = pSnmpUtilOctetsNCmp(NULL, NULL, 1);
ok(!ret, "SnmpUtilOctetsNCmp succeeded\n");
- ret = SnmpUtilOctetsNCmp(&octets1, NULL, 0);
+ ret = pSnmpUtilOctetsNCmp(&octets1, NULL, 0);
ok(!ret, "SnmpUtilOctetsNCmp succeeded\n");
- ret = SnmpUtilOctetsNCmp(&octets1, NULL, 1);
+ ret = pSnmpUtilOctetsNCmp(&octets1, NULL, 1);
ok(!ret, "SnmpUtilOctetsNCmp succeeded\n");
- ret = SnmpUtilOctetsNCmp(NULL, &octets2, 0);
+ ret = pSnmpUtilOctetsNCmp(NULL, &octets2, 0);
ok(!ret, "SnmpUtilOctetsNCmp succeeded\n");
- ret = SnmpUtilOctetsNCmp(NULL, &octets2, 1);
+ ret = pSnmpUtilOctetsNCmp(NULL, &octets2, 1);
ok(!ret, "SnmpUtilOctetsNCmp succeeded\n");
- ret = SnmpUtilOctetsNCmp(&octets1, &octets1, 0);
+ ret = pSnmpUtilOctetsNCmp(&octets1, &octets1, 0);
ok(!ret, "SnmpUtilOctetsNCmp failed\n");
- ret = SnmpUtilOctetsNCmp(&octets1, &octets1, 4);
+ ret = pSnmpUtilOctetsNCmp(&octets1, &octets1, 4);
ok(!ret, "SnmpUtilOctetsNCmp failed\n");
- ret = SnmpUtilOctetsNCmp(&octets1, &octets2, 4);
+ ret = pSnmpUtilOctetsNCmp(&octets1, &octets2, 4);
ok(ret == -4, "SnmpUtilOctetsNCmp failed\n");
- ret = SnmpUtilOctetsNCmp(&octets2, &octets1, 4);
+ ret = pSnmpUtilOctetsNCmp(&octets2, &octets1, 4);
ok(ret == 4, "SnmpUtilOctetsNCmp failed\n");
}
@@ -241,20 +261,20 @@ static void test_SnmpUtilOctetsCmp(void)
static AsnOctetString octets2 = { stream2, 4, FALSE };
if (0) { /* these crash on XP */
- ret = SnmpUtilOctetsCmp(NULL, NULL);
+ ret = pSnmpUtilOctetsCmp(NULL, NULL);
ok(!ret, "SnmpUtilOctetsCmp succeeded\n");
- ret = SnmpUtilOctetsCmp(&octets1, NULL);
+ ret = pSnmpUtilOctetsCmp(&octets1, NULL);
ok(!ret, "SnmpUtilOctetsCmp succeeded\n");
- ret = SnmpUtilOctetsCmp(NULL, &octets2);
+ ret = pSnmpUtilOctetsCmp(NULL, &octets2);
ok(!ret, "SnmpUtilOctetsCmp succeeded\n");
}
- ret = SnmpUtilOctetsCmp(&octets2, &octets1);
+ ret = pSnmpUtilOctetsCmp(&octets2, &octets1);
ok(ret == 1, "SnmpUtilOctetsCmp failed\n");
- ret = SnmpUtilOctetsCmp(&octets1, &octets2);
+ ret = pSnmpUtilOctetsCmp(&octets1, &octets2);
ok(ret == -1, "SnmpUtilOctetsCmp failed\n");
}
@@ -426,12 +446,32 @@ static void test_SnmpUtilVarBindListCpyFree(void)
START_TEST(util)
{
+ InitFunctionPtrs();
+
test_SnmpUtilOidToA();
- test_SnmpUtilAsnAnyCpyFree();
- test_SnmpUtilOctetsCpyFree();
+
+ if (!pSnmpUtilAsnAnyCpy || !pSnmpUtilAsnAnyFree)
+ skip("SnmpUtilAsnAnyCpy and/or SnmpUtilAsnAnyFree not available\n");
+ else
+ test_SnmpUtilAsnAnyCpyFree();
+
+ if (!pSnmpUtilOctetsCpy || !pSnmpUtilOctetsFree)
+ skip("SnmpUtilOctetsCpy and/or SnmpUtilOctetsFree not available\n");
+ else
+ test_SnmpUtilOctetsCpyFree();
+
test_SnmpUtilOidCpyFree();
- test_SnmpUtilOctetsNCmp();
- test_SnmpUtilOctetsCmp();
+
+ if (!pSnmpUtilOctetsNCmp)
+ skip("SnmpUtilOctetsNCmp not available\n");
+ else
+ test_SnmpUtilOctetsNCmp();
+
+ if (!pSnmpUtilOctetsCmp)
+ skip("SnmpUtilOctetsCmp not available\n");
+ else
+ test_SnmpUtilOctetsCmp();
+
test_SnmpUtilOidCmp();
test_SnmpUtilOidNCmp();
test_SnmpUtilOidAppend();
More information about the wine-cvs
mailing list