Juan Lang : inetmib1: Fix test failures on some systems.
Alexandre Julliard
julliard at winehq.org
Thu Jul 3 06:35:01 CDT 2008
Module: wine
Branch: master
Commit: 52fcae9909a480f66b5667d4652e89f652bc7643
URL: http://source.winehq.org/git/wine.git/?a=commit;h=52fcae9909a480f66b5667d4652e89f652bc7643
Author: Juan Lang <juan.lang at gmail.com>
Date: Wed Jul 2 08:15:20 2008 -0700
inetmib1: Fix test failures on some systems.
---
dlls/inetmib1/tests/main.c | 29 +++++++++++++++++------------
1 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/dlls/inetmib1/tests/main.c b/dlls/inetmib1/tests/main.c
index e2e63f2..6eead89 100644
--- a/dlls/inetmib1/tests/main.c
+++ b/dlls/inetmib1/tests/main.c
@@ -157,7 +157,7 @@ static void testQuery(void)
SnmpUtilOidCpy(&vars2[2].name, &vars[2].name);
list.list = vars2;
moreData = TRUE;
- entry = 1;
+ entry = 0;
do {
SetLastError(0xdeadbeef);
error = 0xdeadbeef;
@@ -182,28 +182,33 @@ static void testQuery(void)
moreData = FALSE;
if (moreData)
{
+ UINT lastID;
+
/* Check the OIDs. For these types of values (display strings and
- * integers) they increase by 1 for each element of the table.
+ * integers) they should increase by 1 for each element of the table
+ * according to RFC 1158. Windows sometimes has a weird value in the
+ * table, so allow any value as long as it's greater than the previous
+ * value on Windows.
*/
ok(vars2[0].name.idLength == vars[0].name.idLength + 1,
"expected length %d, got %d\n", vars[0].name.idLength + 1,
vars2[0].name.idLength);
- ok(vars2[0].name.ids[vars2[0].name.idLength - 1] == entry,
- "expected %d, got %d\n", entry,
- vars2[0].name.ids[vars2[0].name.idLength - 1]);
+ lastID = vars2[0].name.ids[vars2[0].name.idLength - 1];
+ ok(lastID == entry + 1 || broken(lastID > entry),
+ "expected %d, got %d\n", entry + 1, lastID);
ok(vars2[1].name.idLength == vars[1].name.idLength + 1,
"expected length %d, got %d\n", vars[1].name.idLength + 1,
vars2[1].name.idLength);
- ok(vars2[1].name.ids[vars2[1].name.idLength - 1] == entry,
- "expected %d, got %d\n", entry,
- vars2[1].name.ids[vars2[1].name.idLength - 1]);
+ lastID = vars2[1].name.ids[vars2[1].name.idLength - 1];
+ ok(lastID == entry + 1 || broken(lastID > entry),
+ "expected %d, got %d\n", entry + 1, lastID);
ok(vars2[2].name.idLength == vars[2].name.idLength + 1,
"expected length %d, got %d\n", vars[2].name.idLength + 1,
vars2[2].name.idLength);
- ok(vars2[2].name.ids[vars2[2].name.idLength - 1] == entry,
- "expected %d, got %d\n", entry,
- vars2[2].name.ids[vars2[2].name.idLength - 1]);
- ++entry;
+ lastID = vars2[2].name.ids[vars2[2].name.idLength - 1];
+ ok(lastID == entry + 1 || broken(lastID > entry),
+ "expected %d, got %d\n", entry + 1, lastID);
+ entry = lastID;
/* Check the types while we're at it */
ok(vars2[0].value.asnType == ASN_OCTETSTRING,
"expected ASN_OCTETSTRING, got %02x\n", vars2[0].value.asnType);
More information about the wine-cvs
mailing list