Module: wine Branch: master Commit: 52fcae9909a480f66b5667d4652e89f652bc7643 URL: http://source.winehq.org/git/wine.git/?a=commit;h=52fcae9909a480f66b5667d465...
Author: Juan Lang juan.lang@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);