From 5aeb63eb4510b3f9734d26aa896848d5b9a5a888 Mon Sep 17 00:00:00 2001 From: Paul Vriens Date: Wed, 8 Aug 2007 17:58:29 +0200 Subject: [PATCH] snmpapi/tests: Run tests again on win98 and NT4. --- dlls/snmpapi/tests/util.c | 102 ++++++++++++++++++++++++++------------ 1 file changed, 71 insertions(+), 31 deletions(-) diff --git a/dlls/snmpapi/tests/util.c b/dlls/snmpapi/tests/util.c index 160ec190bdf..d3504ff3688 100644 --- a/dlls/snmpapi/tests/util.c +++ b/dlls/snmpapi/tests/util.c @@ -23,6 +23,26 @@ #include #include +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();