Wine-Devel
By thread
wine-devel@list.winehq.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
June 2018
- 68 participants
- 1149 messages
Re: [PATCH] msi: Add package minor/major upgrade tests
by Hans Leidekker
Signed-off-by: Hans Leidekker <hans(a)codeweavers.com>
June 15, 2018
Re: [PATCH v5 5/8] kernel32: Connect GetSystemFirmwareTable to NtQuerySystemInformation
by Marvin
Hi,
While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
https://testbot.winehq.org/JobDetails.pl?Key=39156
Your paranoid android.
=== w2003std (32 bit version) ===
version.c:724: Test failed: Expected length 4294967280, got 449
version.c:728: Test failed: Expected length 4294967280, got 449
version.c:731: Test failed: Offset 0: Expected 3a, got 00
version.c:731: Test failed: Offset 1: Expected 00, got 02
version.c:731: Test failed: Offset 2: Expected 03, got 08
version.c:731: Test failed: Offset 3: Expected 00, got 28
version.c:731: Test failed: Offset 4: Expected 00, got b9
version.c:731: Test failed: Offset 6: Expected 0f, got 00
version.c:731: Test failed: Offset 9: Expected 02, got 18
version.c:731: Test failed: Offset 10: Expected 08, got 00
version.c:731: Test failed: Offset 11: Expected 28, got 00
version.c:731: Test failed: Offset 12: Expected b9, got 01
version.c:731: Test failed: Offset 13: Expected 01, got 02
version.c:731: Test failed: Offset 15: Expected 00, got e8
version.c:731: Test failed: Offset 16: Expected 00, got 03
version.c:731: Test failed: Offset 17: Expected 18, got 00
version.c:731: Test failed: Offset 18: Expected 00, got 08
version.c:731: Test failed: Offset 20: Expected 01, got 00
version.c:731: Test failed: Offset 21: Expected 02, got 00
version.c:731: Test failed: Offset 23: Expected e8, got 00
version.c:731: Test failed: Offset 24: Expected 03, got 00
version.c:731: Test failed: Offset 26: Expected 08, got 00
version.c:731: Test failed: Offset 27: Expected 00, got 04
version.c:731: Test failed: Offset 30: Expected 00, got ff
version.c:731: Test failed: Offset 31: Expected 00, got ff
version.c:731: Test failed: Offset 32: Expected 00, got 53
version.c:731: Test failed: Offset 33: Expected 00, got 65
version.c:731: Test failed: Offset 34: Expected 00, got 61
version.c:731: Test failed: Offset 35: Expected 04, got 42
version.c:731: Test failed: Offset 36: Expected 00, got 49
version.c:731: Test failed: Offset 37: Expected 00, got 4f
version.c:731: Test failed: Offset 38: Expected ff, got 53
version.c:731: Test failed: Offset 39: Expected ff, got 00
version.c:731: Test failed: Offset 40: Expected 53, got 31
version.c:731: Test failed: Offset 41: Expected 65, got 2e
version.c:731: Test failed: Offset 42: Expected 61, got 31
version.c:731: Test failed: Offset 43: Expected 42, got 30
version.c:731: Test failed: Offset 44: Expected 49, got 2e
version.c:731: Test failed: Offset 45: Expected 4f, got 32
version.c:731: Test failed: Offset 46: Expected 53, got 2d
version.c:731: Test failed: Offset 47: Expected 00, got 31
version.c:731: Test failed: Offset 48: Expected 31, got 00
version.c:731: Test failed: Offset 49: Expected 2e, got 30
version.c:731: Test failed: Offset 50: Expected 31, got 34
version.c:731: Test failed: Offset 51: Expected 30, got 2f
version.c:731: Test failed: Offset 52: Expected 2e, got 30
version.c:731: Test failed: Offset 53: Expected 32, got 31
version.c:731: Test failed: Offset 54: Expected 2d, got 2f
version.c:731: Test failed: Offset 55: Expected 31, got 32
version.c:731: Test failed: Offset 56: Expected 00, got 30
version.c:731: Test failed: Offset 57: Expected 30, got 31
version.c:731: Test failed: Offset 59: Expected 2f, got 00
version.c:731: Test failed: Offset 60: Expected 30, got 00
version.c:731: Test failed: Offset 61: Expected 31, got 01
version.c:731: Test failed: Offset 62: Expected 2f, got 1b
version.c:731: Test failed: Offset 63: Expected 32, got 00
version.c:731: Test failed: Offset 64: Expected 30, got 01
version.c:731: Test failed: Offset 65: Expected 31, got 01
version.c:731: Test failed: Offset 66: Expected 34, got 02
version.c:731: Test failed: Offset 67: Expected 00, got 03
version.c:731: Test failed: Offset 69: Expected 01, got b7
version.c:731: Test failed: Offset 70: Expected 1b, got ff
version.c:731: Test failed: Offset 71: Expected 00, got 4f
version.c:731: Test failed: Offset 72: Expected 01, got 2a
version.c:731: Test failed: Offset 73: Expected 01, got c5
version.c:731: Test failed: Offset 74: Expected 02, got 53
version.c:731: Test failed: Offset 75: Expected 03, got 46
version.c:731: Test failed: Offset 76: Expected 00, got 9e
version.c:731: Test failed: Offset 77: Expected b7, got 8f
version.c:731: Test failed: Offset 78: Expected ff, got db
version.c:731: Test failed: Offset 79: Expected 4f, got 72
version.c:731: Test failed: Offset 80: Expected 2a, got e5
version.c:731: Test failed: Offset 81: Expected c5, got aa
version.c:731: Test failed: Offset 82: Expected 53, got 9a
version.c:731: Test failed: Offset 83: Expected 46, got b9
version.c:731: Test failed: Offset 84: Expected 9e, got de
version.c:731: Test failed: Offset 85: Expected 8f, got 06
version.c:731: Test failed: Offset 86: Expected db, got 00
version.c:731: Test failed: Offset 87: Expected 72, got 00
version.c:731: Test failed: Offset 88: Expected e5, got 51
version.c:731: Test failed: Offset 89: Expected aa, got 45
version.c:731: Test failed: Offset 90: Expected 9a, got 4d
version.c:731: Test failed: Offset 91: Expected b9, got 55
version.c:731: Test failed: Offset 92: Expected de, got 00
version.c:731: Test failed: Offset 93: Expected 06, got 53
version.c:731: Test failed: Offset 94: Expected 00, got 74
version.c:731: Test failed: Offset 95: Expected 00, got 61
version.c:731: Test failed: Offset 96: Expected 51, got 6e
version.c:731: Test failed: Offset 97: Expected 45, got 64
version.c:731: Test failed: Offset 98: Expected 4d, got 61
version.c:731: Test failed: Offset 99: Expected 55, got 72
version.c:731: Test failed: Offset 100: Expected 00, got 64
version.c:731: Test failed: Offset 101: Expected 53, got 20
version.c:731: Test failed: Offset 102: Expected 74, got 50
version.c:731: Test failed: Offset 103: Expected 61, got 43
version.c:731: Test failed: Offset 104: Expected 6e, got 20
version.c:731: Test failed: Offset 105: Expected 64, got 28
version.c:731: Test failed: Offset 106: Expected 61, got 69
version.c:731: Test failed: Offset 107: Expected 72, got 34
version.c:731: Test failed: Offset 108: Expected 64, got 34
version.c:731: Test failed: Offset 109: Expected 20, got 30
version.c:731: Test failed: Offset 110: Expected 50, got 46
version.c:731: Test failed: Offset 111: Expected 43, got 58
version.c:731: Test failed: Offset 113: Expected 28, got 2b
version.c:731: Test failed: Offset 114: Expected 69, got 20
version.c:731: Test failed: Offset 115: Expected 34, got 50
version.c:731: Test failed: Offset 116: Expected 34, got 49
version.c:731: Test failed: Offset 117: Expected 30, got 49
version.c:731: Test failed: Offset 118: Expected 46, got 58
version.c:731: Test failed: Offset 119: Expected 58, got 2c
version.c:731: Test failed: Offset 121: Expected 2b, got 31
version.c:731: Test failed: Offset 122: Expected 20, got 39
version.c:731: Test failed: Offset 123: Expected 50, got 39
version.c:731: Test failed: Offset 124: Expected 49, got 36
version.c:731: Test failed: Offset 125: Expected 49, got 29
version.c:731: Test failed: Offset 126: Expected 58, got 00
version.c:731: Test failed: Offset 127: Expected 2c, got 70
version.c:731: Test failed: Offset 128: Expected 20, got 63
version.c:731: Test failed: Offset 129: Expected 31, got 2d
version.c:731: Test failed: Offset 130: Expected 39, got 69
version.c:731: Test failed: Offset 131: Expected 39, got 34
version.c:731: Test failed: Offset 132: Expected 36, got 34
version.c:731: Test failed: Offset 133: Expected 29, got 30
version.c:731: Test failed: Offset 134: Expected 00, got 66
version.c:731: Test failed: Offset 135: Expected 70, got 78
version.c:731: Test failed: Offset 136: Expected 63, got 2d
version.c:731: Test failed: Offset 137: Expected 2d, got 32
version.c:731: Test failed: Offset 138: Expected 69, got 2e
version.c:731: Test failed: Offset 139: Expected 34, got 31
version.c:731: Test failed: Offset 140: Expected 34, got 00
version.c:731: Test failed: Offset 141: Expected 30, got 00
version.c:731: Test failed: Offset 142: Expected 66, got 03
version.c:731: Test failed: Offset 143: Expected 78, got 15
version.c:731: Test failed: Offset 144: Expected 2d, got 00
version.c:731: Test failed: Offset 145: Expected 32, got 03
version.c:731: Test failed: Offset 146: Expected 2e, got 01
version.c:731: Test failed: Offset 147: Expected 31, got 01
version.c:731: Test failed: Offset 148: Expected 00, got 02
version.c:731: Test failed: Offset 150: Expected 03, got 00
version.c:731: Test failed: Offset 151: Expected 15, got 03
version.c:731: Test failed: Offset 152: Expected 00, got 03
version.c:731: Test failed: Offset 154: Expected 01, got 02
version.c:731: Test failed: Offset 155: Expected 01, got 00
version.c:731: Test failed: Offset 156: Expected 02, got 00
version.c:731: Test failed: Offset 159: Expected 03, got 00
version.c:731: Test failed: Offset 160: Expected 03, got 00
version.c:731: Test failed: Offset 161: Expected 03, got 00
version.c:731: Test failed: Offset 162: Expected 02, got 00
version.c:731: Test failed: Offset 163: Expected 00, got 51
version.c:731: Test failed: Offset 164: Expected 00, got 45
version.c:731: Test failed: Offset 165: Expected 00, got 4d
version.c:731: Test failed: Offset 166: Expected 00, got 55
version.c:731: Test failed: Offset 168: Expected 00, got 70
version.c:731: Test failed: Offset 169: Expected 00, got 63
version.c:731: Test failed: Offset 170: Expected 00, got 2d
version.c:731: Test failed: Offset 171: Expected 51, got 69
version.c:731: Test failed: Offset 172: Expected 45, got 34
version.c:731: Test failed: Offset 173: Expected 4d, got 34
version.c:731: Test failed: Offset 174: Expected 55, got 30
version.c:731: Test failed: Offset 175: Expected 00, got 66
version.c:731: Test failed: Offset 176: Expected 70, got 78
version.c:731: Test failed: Offset 177: Expected 63, got 2d
version.c:731: Test failed: Offset 178: Expected 2d, got 32
version.c:731: Test failed: Offset 179: Expected 69, got 2e
version.c:731: Test failed: Offset 180: Expected 34, got 31
version.c:731: Test failed: Offset 181: Expected 34, got 00
version.c:731: Test failed: Offset 182: Expected 30, got 00
version.c:731: Test failed: Offset 183: Expected 66, got 04
version.c:731: Test failed: Offset 184: Expected 78, got 2a
version.c:731: Test failed: Offset 185: Expected 2d, got 00
version.c:731: Test failed: Offset 186: Expected 32, got 04
version.c:731: Test failed: Offset 187: Expected 2e, got 01
version.c:731: Test failed: Offset 188: Expected 31, got 03
version.c:731: Test failed: Offset 189: Expected 00, got 01
version.c:731: Test failed: Offset 190: Expected 00, got 02
version.c:731: Test failed: Offset 191: Expected 04, got 61
version.c:731: Test failed: Offset 192: Expected 2a, got 0f
version.c:731: Test failed: Offset 194: Expected 04, got 00
version.c:731: Test failed: Offset 195: Expected 01, got fd
version.c:731: Test failed: Offset 196: Expected 03, got fb
version.c:731: Test failed: Offset 197: Expected 01, got 8b
version.c:731: Test failed: Offset 198: Expected 02, got 07
version.c:731: Test failed: Offset 199: Expected 61, got 03
version.c:731: Test failed: Offset 200: Expected 0f, got 00
version.c:731: Test failed: Offset 203: Expected fd, got d0
version.c:731: Test failed: Offset 204: Expected fb, got 07
version.c:731: Test failed: Offset 205: Expected 8b, got d0
version.c:731: Test failed: Offset 207: Expected 03, got 41
version.c:731: Test failed: Offset 208: Expected 00, got 01
version.c:731: Test failed: Offset 209: Expected 00, got ff
version.c:731: Test failed: Offset 210: Expected 00, got ff
version.c:731: Test failed: Offset 211: Expected d0, got ff
version.c:731: Test failed: Offset 212: Expected 07, got ff
version.c:731: Test failed: Offset 213: Expected d0, got ff
version.c:731: Test failed: Offset 214: Expected 07, got ff
version.c:731: Test failed: Offset 215: Expected 41, got 00
version.c:731: Test failed: Offset 216: Expected 01, got 00
version.c:731: Test failed: Offset 217: Expected ff, got 00
version.c:731: Test failed: Offset 218: Expected ff, got 01
version.c:731: Test failed: Offset 219: Expected ff, got 01
version.c:731: Test failed: Offset 220: Expected ff, got 01
version.c:731: Test failed: Offset 221: Expected ff, got 02
version.c:731: Test failed: Offset 222: Expected ff, got 00
version.c:731: Test failed: Offset 223: Expected 00, got 01
version.c:731: Test failed: Offset 225: Expected 00, got 43
version.c:731: Test failed: Offset 226: Expected 01, got 50
version.c:731: Test failed: Offset 227: Expected 01, got 55
version.c:731: Test failed: Offset 228: Expected 01, got 20
version.c:731: Test failed: Offset 229: Expected 02, got 30
version.c:731: Test failed: Offset 231: Expected 01, got 51
version.c:731: Test failed: Offset 232: Expected 00, got 45
version.c:731: Test failed: Offset 233: Expected 43, got 4d
version.c:731: Test failed: Offset 234: Expected 50, got 55
version.c:731: Test failed: Offset 235: Expected 55, got 00
version.c:731: Test failed: Offset 236: Expected 20, got 70
version.c:731: Test failed: Offset 237: Expected 30, got 63
version.c:731: Test failed: Offset 238: Expected 00, got 2d
version.c:731: Test failed: Offset 239: Expected 51, got 69
version.c:731: Test failed: Offset 240: Expected 45, got 34
version.c:731: Test failed: Offset 241: Expected 4d, got 34
version.c:731: Test failed: Offset 242: Expected 55, got 30
version.c:731: Test failed: Offset 243: Expected 00, got 66
version.c:731: Test failed: Offset 244: Expected 70, got 78
version.c:731: Test failed: Offset 245: Expected 63, got 2d
version.c:731: Test failed: Offset 246: Expected 2d, got 32
version.c:731: Test failed: Offset 247: Expected 69, got 2e
version.c:731: Test failed: Offset 248: Expected 34, got 31
version.c:731: Test failed: Offset 249: Expected 34, got 00
version.c:731: Test failed: Offset 250: Expected 30, got 00
version.c:731: Test failed: Offset 251: Expected 66, got 04
version.c:731: Test failed: Offset 252: Expected 78, got 2a
version.c:731: Test failed: Offset 253: Expected 2d, got 01
version.c:731: Test failed: Offset 254: Expected 32, got 04
version.c:731: Test failed: Offset 255: Expected 2e, got 01
version.c:731: Test failed: Offset 256: Expected 31, got 03
version.c:731: Test failed: Offset 257: Expected 00, got 01
version.c:731: Test failed: Offset 258: Expected 00, got 02
version.c:731: Test failed: Offset 259: Expected 04, got 61
version.c:731: Test failed: Offset 260: Expected 2a, got 0f
version.c:731: Test failed: Offset 261: Expected 01, got 00
version.c:731: Test failed: Offset 262: Expected 04, got 00
version.c:731: Test failed: Offset 263: Expected 01, got fd
version.c:731: Test failed: Offset 264: Expected 03, got fb
version.c:731: Test failed: Offset 265: Expected 01, got 8b
version.c:731: Test failed: Offset 266: Expected 02, got 07
version.c:731: Test failed: Offset 267: Expected 61, got 03
version.c:731: Test failed: Offset 268: Expected 0f, got 00
version.c:731: Test failed: Offset 271: Expected fd, got d0
version.c:731: Test failed: Offset 272: Expected fb, got 07
version.c:731: Test failed: Offset 273: Expected 8b, got d0
version.c:731: Test failed: Offset 275: Expected 03, got 41
version.c:731: Test failed: Offset 276: Expected 00, got 01
version.c:731: Test failed: Offset 277: Expected 00, got ff
version.c:731: Test failed: Offset 278: Expected 00, got ff
version.c:731: Test failed: Offset 279: Expected d0, got ff
version.c:731: Test failed: Offset 280: Expected 07, got ff
version.c:731: Test failed: Offset 281: Expected d0, got ff
version.c:731: Test failed: Offset 282: Expected 07, got ff
version.c:731: Test failed: Offset 283: Expected 41, got 00
version.c:731: Test failed: Offset 284: Expected 01, got 00
version.c:731: Test failed: Offset 285: Expected ff, got 00
version.c:731: Test failed: Offset 286: Expected ff, got 01
version.c:731: Test failed: Offset 287: Expected ff, got 01
version.c:731: Test failed: Offset 288: Expected ff, got 01
version.c:731: Test failed: Offset 289: Expected ff, got 02
version.c:731: Test failed: Offset 290: Expected ff, got 00
version.c:731: Test failed: Offset 291: Expected 00, got 01
version.c:731: Test failed: Offset 293: Expected 00, got 43
version.c:731: Test failed: Offset 294: Expected 01, got 50
version.c:731: Test failed: Offset 295: Expected 01, got 55
version.c:731: Test failed: Offset 296: Expected 01, got 20
version.c:731: Test failed: Offset 297: Expected 02, got 31
version.c:731: Test failed: Offset 299: Expected 01, got 51
version.c:731: Test failed: Offset 300: Expected 00, got 45
version.c:731: Test failed: Offset 301: Expected 43, got 4d
version.c:731: Test failed: Offset 302: Expected 50, got 55
version.c:731: Test failed: Offset 303: Expected 55, got 00
version.c:731: Test failed: Offset 304: Expected 20, got 70
version.c:731: Test failed: Offset 305: Expected 31, got 63
version.c:731: Test failed: Offset 306: Expected 00, got 2d
version.c:731: Test failed: Offset 307: Expected 51, got 69
version.c:731: Test failed: Offset 308: Expected 45, got 34
version.c:731: Test failed: Offset 309: Expected 4d, got 34
version.c:731: Test failed: Offset 310: Expected 55, got 30
version.c:731: Test failed: Offset 311: Expected 00, got 66
version.c:731: Test failed: Offset 312: Expected 70, got 78
version.c:731: Test failed: Offset 313: Expected 63, got 2d
version.c:731: Test failed: Offset 314: Expected 2d, got 32
version.c:731: Test failed: Offset 315: Expected 69, got 2e
version.c:731: Test failed: Offset 316: Expected 34, got 31
version.c:731: Test failed: Offset 317: Expected 34, got 00
version.c:731: Test failed: Offset 318: Expected 30, got 00
version.c:731: Test failed: Offset 319: Expected 66, got 10
version.c:731: Test failed: Offset 320: Expected 78, got 17
version.c:731: Test failed: Offset 321: Expected 2d, got 00
version.c:731: Test failed: Offset 322: Expected 32, got 10
version.c:731: Test failed: Offset 323: Expected 2e, got 01
version.c:731: Test failed: Offset 324: Expected 31, got 03
version.c:731: Test failed: Offset 325: Expected 00, got 06
version.c:731: Test failed: Offset 327: Expected 10, got 00
version.c:731: Test failed: Offset 328: Expected 17, got 10
version.c:731: Test failed: Offset 330: Expected 10, got fe
version.c:731: Test failed: Offset 331: Expected 01, got ff
version.c:731: Test failed: Offset 332: Expected 03, got 01
version.c:731: Test failed: Offset 333: Expected 06, got 00
version.c:731: Test failed: Offset 336: Expected 10, got 00
version.c:731: Test failed: Offset 338: Expected fe, got 00
version.c:731: Test failed: Offset 339: Expected ff, got 00
version.c:731: Test failed: Offset 340: Expected 01, got 00
version.c:731: Test failed: Offset 344: Expected 00, got 11
version.c:731: Test failed: Offset 345: Expected 00, got 28
version.c:731: Test failed: Offset 347: Expected 00, got 11
version.c:731: Test failed: Offset 349: Expected 00, got 10
version.c:731: Test failed: Offset 350: Expected 00, got fe
version.c:731: Test failed: Offset 351: Expected 00, got ff
version.c:731: Test failed: Offset 352: Expected 11, got ff
version.c:731: Test failed: Offset 353: Expected 28, got ff
version.c:731: Test failed: Offset 354: Expected 00, got ff
version.c:731: Test failed: Offset 355: Expected 11, got ff
version.c:731: Test failed: Offset 357: Expected 10, got 04
version.c:731: Test failed: Offset 358: Expected fe, got 09
version.c:731: Test failed: Offset 359: Expected ff, got 00
version.c:731: Test failed: Offset 360: Expected ff, got 01
version.c:731: Test failed: Offset 361: Expected ff, got 00
version.c:731: Test failed: Offset 362: Expected ff, got 07
version.c:731: Test failed: Offset 363: Expected ff, got 02
version.c:731: Test failed: Offset 365: Expected 04, got 00
version.c:731: Test failed: Offset 366: Expected 09, got 00
version.c:731: Test failed: Offset 367: Expected 00, got 02
version.c:731: Test failed: Offset 368: Expected 01, got 00
version.c:731: Test failed: Offset 370: Expected 07, got 00
version.c:731: Test failed: Offset 371: Expected 02, got 00
version.c:731: Test failed: Offset 375: Expected 02, got 00
version.c:731: Test failed: Offset 384: Expected 00, got 44
version.c:731: Test failed: Offset 385: Expected 00, got 49
version.c:731: Test failed: Offset 386: Expected 00, got 4d
version.c:731: Test failed: Offset 387: Expected 00, got 4d
version.c:731: Test failed: Offset 388: Expected 00, got 20
version.c:731: Test failed: Offset 389: Expected 00, got 30
version.c:731: Test failed: Offset 391: Expected 00, got 51
version.c:731: Test failed: Offset 392: Expected 44, got 45
version.c:731: Test failed: Offset 393: Expected 49, got 4d
version.c:731: Test failed: Offset 394: Expected 4d, got 55
version.c:731: Test failed: Offset 395: Expected 4d, got 00
version.c:731: Test failed: Offset 396: Expected 20, got 00
version.c:731: Test failed: Offset 397: Expected 30, got 13
version.c:731: Test failed: Offset 398: Expected 00, got 1f
version.c:731: Test failed: Offset 399: Expected 51, got 00
version.c:731: Test failed: Offset 400: Expected 45, got 13
version.c:731: Test failed: Offset 401: Expected 4d, got 00
version.c:731: Test failed: Offset 402: Expected 55, got 00
version.c:731: Test failed: Offset 405: Expected 13, got ff
version.c:731: Test failed: Offset 406: Expected 1f, got ff
version.c:731: Test failed: Offset 407: Expected 00, got 0f
version.c:731: Test failed: Offset 408: Expected 13, got 00
version.c:731: Test failed: Offset 410: Expected 00, got 10
version.c:731: Test failed: Offset 411: Expected 00, got 01
version.c:731: Test failed: Offset 413: Expected ff, got 00
version.c:731: Test failed: Offset 414: Expected ff, got 00
version.c:731: Test failed: Offset 415: Expected 0f, got 00
version.c:731: Test failed: Offset 418: Expected 10, got 00
version.c:731: Test failed: Offset 419: Expected 01, got 00
version.c:731: Test failed: Offset 430: Expected 00, got 20
version.c:731: Test failed: Offset 431: Expected 00, got 0b
version.c:731: Test failed: Offset 433: Expected 00, got 20
version.c:731: Test failed: Offset 438: Expected 20, got 00
version.c:731: Test failed: Offset 439: Expected 0b, got 00
version.c:731: Test failed: Offset 441: Expected 20, got 00
version.c:731: Test failed: Offset 443: Expected 00, got 7f
version.c:731: Test failed: Offset 444: Expected 00, got 04
version.c:731: Test failed: Offset 446: Expected 00, got 7f
June 15, 2018
Re: [PATCH v5 4/8] ntdll: Return BIOS info from NtQuerySystemInformation on Linux
by Marvin
Hi,
While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
https://testbot.winehq.org/JobDetails.pl?Key=39155
Your paranoid android.
=== wxppro (32 bit info) ===
info.c:849: Test failed: Expected STATUS_INFO_LENGTH_MISMATCH, got c0000003
info.c:850: Test failed: Expected length 16, got 0
info.c:853: Test failed: Expected STATUS_NOT_IMPLEMENTED, got c0000003
info.c:861: Test failed: Expected STATUS_BUFFER_TOO_SMALL, got c0000003
info.c:862: Test failed: Expected length >= 16, got 0
info.c:869: Test failed: Expected STATUS_SUCCESS, got c0000003
=== w2003std (32 bit info) ===
info.c:850: Test failed: Expected length 16, got 0
info.c:853: Test failed: Expected STATUS_NOT_IMPLEMENTED, got c0000004
info.c:861: Test failed: Expected STATUS_BUFFER_TOO_SMALL, got c0000004
info.c:862: Test failed: Expected length >= 16, got 0
info.c:869: Test failed: Expected STATUS_SUCCESS, got c0000004
=== wvistau64 (32 bit info) ===
info.c:1838: Test failed: Expected STATUS_SUCCESS, got c0000022
0890:info: unhandled exception c0000005 at 002C0000
=== wvistau64_zh_CN (32 bit info) ===
info.c:1838: Test failed: Expected STATUS_SUCCESS, got c0000022
0bb8:info: unhandled exception c0000005 at 003E0000
=== wvistau64_fr (32 bit info) ===
info.c:1838: Test failed: Expected STATUS_SUCCESS, got c0000022
06a8:info: unhandled exception c0000005 at 002C0000
=== wvistau64_he (32 bit info) ===
info.c:1838: Test failed: Expected STATUS_SUCCESS, got c0000022
0bd8:info: unhandled exception c0000005 at 003D0000
=== w2008s64 (32 bit info) ===
info.c:1838: Test failed: Expected STATUS_SUCCESS, got c0000022
086c:info: unhandled exception c0000005 at 003D0000
=== w7u (32 bit info) ===
info.c:1838: Test failed: Expected STATUS_SUCCESS, got c0000022
=== w7pro64 (32 bit info) ===
info.c:1838: Test failed: Expected STATUS_SUCCESS, got c0000022
0ab8:info: unhandled exception c0000005 at 00340000
=== w8 (32 bit info) ===
info.c:1838: Test failed: Expected STATUS_SUCCESS, got c0000022
0f30:info: unhandled exception c0000005 at 003E0000
=== w864 (32 bit info) ===
info.c:1838: Test failed: Expected STATUS_SUCCESS, got c0000022
0a18:info: unhandled exception c0000005 at 00350000
=== w1064 (32 bit info) ===
info.c:1838: Test failed: Expected STATUS_SUCCESS, got c0000022
0b54:info: unhandled exception c0000005 at 00390000
June 15, 2018
Re: [PATCH v5 3/8] kernel32/tests: Add GetSystemFirmwareTable tests
by Marvin
Hi,
While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
https://testbot.winehq.org/JobDetails.pl?Key=39154
Your paranoid android.
=== w2003std (32 bit version) ===
version.c:725: Test failed: Expected length 4294967280, got 449
version.c:730: Test failed: Expected length 4294967280, got 449
version.c:733: Test failed: Offset 0: Expected 3a, got 00
version.c:733: Test failed: Offset 1: Expected 00, got 02
version.c:733: Test failed: Offset 2: Expected 03, got 08
version.c:733: Test failed: Offset 3: Expected 00, got 28
version.c:733: Test failed: Offset 4: Expected e5, got b9
version.c:733: Test failed: Offset 6: Expected 0f, got 00
version.c:733: Test failed: Offset 9: Expected 02, got 18
version.c:733: Test failed: Offset 10: Expected 08, got 00
version.c:733: Test failed: Offset 11: Expected 28, got 00
version.c:733: Test failed: Offset 12: Expected b9, got 01
version.c:733: Test failed: Offset 13: Expected 01, got 02
version.c:733: Test failed: Offset 15: Expected 00, got e8
version.c:733: Test failed: Offset 16: Expected 00, got 03
version.c:733: Test failed: Offset 17: Expected 18, got 00
version.c:733: Test failed: Offset 18: Expected 00, got 08
version.c:733: Test failed: Offset 20: Expected 01, got 00
version.c:733: Test failed: Offset 21: Expected 02, got 00
version.c:733: Test failed: Offset 23: Expected e8, got 00
version.c:733: Test failed: Offset 24: Expected 03, got 00
version.c:733: Test failed: Offset 26: Expected 08, got 00
version.c:733: Test failed: Offset 27: Expected 00, got 04
version.c:733: Test failed: Offset 30: Expected 00, got ff
version.c:733: Test failed: Offset 31: Expected 00, got ff
version.c:733: Test failed: Offset 32: Expected 00, got 53
version.c:733: Test failed: Offset 33: Expected 00, got 65
version.c:733: Test failed: Offset 34: Expected 00, got 61
version.c:733: Test failed: Offset 35: Expected 04, got 42
version.c:733: Test failed: Offset 36: Expected 00, got 49
version.c:733: Test failed: Offset 37: Expected 00, got 4f
version.c:733: Test failed: Offset 38: Expected ff, got 53
version.c:733: Test failed: Offset 39: Expected ff, got 00
version.c:733: Test failed: Offset 40: Expected 53, got 31
version.c:733: Test failed: Offset 41: Expected 65, got 2e
version.c:733: Test failed: Offset 42: Expected 61, got 31
version.c:733: Test failed: Offset 43: Expected 42, got 30
version.c:733: Test failed: Offset 44: Expected 49, got 2e
version.c:733: Test failed: Offset 45: Expected 4f, got 32
version.c:733: Test failed: Offset 46: Expected 53, got 2d
version.c:733: Test failed: Offset 47: Expected 00, got 31
version.c:733: Test failed: Offset 48: Expected 31, got 00
version.c:733: Test failed: Offset 49: Expected 2e, got 30
version.c:733: Test failed: Offset 50: Expected 31, got 34
version.c:733: Test failed: Offset 51: Expected 30, got 2f
version.c:733: Test failed: Offset 52: Expected 2e, got 30
version.c:733: Test failed: Offset 53: Expected 32, got 31
version.c:733: Test failed: Offset 54: Expected 2d, got 2f
version.c:733: Test failed: Offset 55: Expected 31, got 32
version.c:733: Test failed: Offset 56: Expected 00, got 30
version.c:733: Test failed: Offset 57: Expected 30, got 31
version.c:733: Test failed: Offset 59: Expected 2f, got 00
version.c:733: Test failed: Offset 60: Expected 30, got 00
version.c:733: Test failed: Offset 61: Expected 31, got 01
version.c:733: Test failed: Offset 62: Expected 2f, got 1b
version.c:733: Test failed: Offset 63: Expected 32, got 00
version.c:733: Test failed: Offset 64: Expected 30, got 01
version.c:733: Test failed: Offset 65: Expected 31, got 01
version.c:733: Test failed: Offset 66: Expected 34, got 02
version.c:733: Test failed: Offset 67: Expected 00, got 03
version.c:733: Test failed: Offset 69: Expected 01, got b7
version.c:733: Test failed: Offset 70: Expected 1b, got ff
version.c:733: Test failed: Offset 71: Expected 00, got 4f
version.c:733: Test failed: Offset 72: Expected 01, got 2a
version.c:733: Test failed: Offset 73: Expected 01, got c5
version.c:733: Test failed: Offset 74: Expected 02, got 53
version.c:733: Test failed: Offset 75: Expected 03, got 46
version.c:733: Test failed: Offset 76: Expected 00, got 9e
version.c:733: Test failed: Offset 77: Expected b7, got 8f
version.c:733: Test failed: Offset 78: Expected ff, got db
version.c:733: Test failed: Offset 79: Expected 4f, got 72
version.c:733: Test failed: Offset 80: Expected 2a, got e5
version.c:733: Test failed: Offset 81: Expected c5, got aa
version.c:733: Test failed: Offset 82: Expected 53, got 9a
version.c:733: Test failed: Offset 83: Expected 46, got b9
version.c:733: Test failed: Offset 84: Expected 9e, got de
version.c:733: Test failed: Offset 85: Expected 8f, got 06
version.c:733: Test failed: Offset 86: Expected db, got 00
version.c:733: Test failed: Offset 87: Expected 72, got 00
version.c:733: Test failed: Offset 88: Expected e5, got 51
version.c:733: Test failed: Offset 89: Expected aa, got 45
version.c:733: Test failed: Offset 90: Expected 9a, got 4d
version.c:733: Test failed: Offset 91: Expected b9, got 55
version.c:733: Test failed: Offset 92: Expected de, got 00
version.c:733: Test failed: Offset 93: Expected 06, got 53
version.c:733: Test failed: Offset 94: Expected 00, got 74
version.c:733: Test failed: Offset 95: Expected 00, got 61
version.c:733: Test failed: Offset 96: Expected 51, got 6e
version.c:733: Test failed: Offset 97: Expected 45, got 64
version.c:733: Test failed: Offset 98: Expected 4d, got 61
version.c:733: Test failed: Offset 99: Expected 55, got 72
version.c:733: Test failed: Offset 100: Expected 00, got 64
version.c:733: Test failed: Offset 101: Expected 53, got 20
version.c:733: Test failed: Offset 102: Expected 74, got 50
version.c:733: Test failed: Offset 103: Expected 61, got 43
version.c:733: Test failed: Offset 104: Expected 6e, got 20
version.c:733: Test failed: Offset 105: Expected 64, got 28
version.c:733: Test failed: Offset 106: Expected 61, got 69
version.c:733: Test failed: Offset 107: Expected 72, got 34
version.c:733: Test failed: Offset 108: Expected 64, got 34
version.c:733: Test failed: Offset 109: Expected 20, got 30
version.c:733: Test failed: Offset 110: Expected 50, got 46
version.c:733: Test failed: Offset 111: Expected 43, got 58
version.c:733: Test failed: Offset 113: Expected 28, got 2b
version.c:733: Test failed: Offset 114: Expected 69, got 20
version.c:733: Test failed: Offset 115: Expected 34, got 50
version.c:733: Test failed: Offset 116: Expected 34, got 49
version.c:733: Test failed: Offset 117: Expected 30, got 49
version.c:733: Test failed: Offset 118: Expected 46, got 58
version.c:733: Test failed: Offset 119: Expected 58, got 2c
version.c:733: Test failed: Offset 121: Expected 2b, got 31
version.c:733: Test failed: Offset 122: Expected 20, got 39
version.c:733: Test failed: Offset 123: Expected 50, got 39
version.c:733: Test failed: Offset 124: Expected 49, got 36
version.c:733: Test failed: Offset 125: Expected 49, got 29
version.c:733: Test failed: Offset 126: Expected 58, got 00
version.c:733: Test failed: Offset 127: Expected 2c, got 70
version.c:733: Test failed: Offset 128: Expected 20, got 63
version.c:733: Test failed: Offset 129: Expected 31, got 2d
version.c:733: Test failed: Offset 130: Expected 39, got 69
version.c:733: Test failed: Offset 131: Expected 39, got 34
version.c:733: Test failed: Offset 132: Expected 36, got 34
version.c:733: Test failed: Offset 133: Expected 29, got 30
version.c:733: Test failed: Offset 134: Expected 00, got 66
version.c:733: Test failed: Offset 135: Expected 70, got 78
version.c:733: Test failed: Offset 136: Expected 63, got 2d
version.c:733: Test failed: Offset 137: Expected 2d, got 32
version.c:733: Test failed: Offset 138: Expected 69, got 2e
version.c:733: Test failed: Offset 139: Expected 34, got 31
version.c:733: Test failed: Offset 140: Expected 34, got 00
version.c:733: Test failed: Offset 141: Expected 30, got 00
version.c:733: Test failed: Offset 142: Expected 66, got 03
version.c:733: Test failed: Offset 143: Expected 78, got 15
version.c:733: Test failed: Offset 144: Expected 2d, got 00
version.c:733: Test failed: Offset 145: Expected 32, got 03
version.c:733: Test failed: Offset 146: Expected 2e, got 01
version.c:733: Test failed: Offset 147: Expected 31, got 01
version.c:733: Test failed: Offset 148: Expected 00, got 02
version.c:733: Test failed: Offset 150: Expected 03, got 00
version.c:733: Test failed: Offset 151: Expected 15, got 03
version.c:733: Test failed: Offset 152: Expected 00, got 03
version.c:733: Test failed: Offset 154: Expected 01, got 02
version.c:733: Test failed: Offset 155: Expected 01, got 00
version.c:733: Test failed: Offset 156: Expected 02, got 00
version.c:733: Test failed: Offset 159: Expected 03, got 00
version.c:733: Test failed: Offset 160: Expected 03, got 00
version.c:733: Test failed: Offset 161: Expected 03, got 00
version.c:733: Test failed: Offset 162: Expected 02, got 00
version.c:733: Test failed: Offset 163: Expected 00, got 51
version.c:733: Test failed: Offset 164: Expected 00, got 45
version.c:733: Test failed: Offset 165: Expected 00, got 4d
version.c:733: Test failed: Offset 166: Expected 00, got 55
version.c:733: Test failed: Offset 168: Expected 00, got 70
version.c:733: Test failed: Offset 169: Expected 00, got 63
version.c:733: Test failed: Offset 170: Expected 00, got 2d
version.c:733: Test failed: Offset 171: Expected 51, got 69
version.c:733: Test failed: Offset 172: Expected 45, got 34
version.c:733: Test failed: Offset 173: Expected 4d, got 34
version.c:733: Test failed: Offset 174: Expected 55, got 30
version.c:733: Test failed: Offset 175: Expected 00, got 66
version.c:733: Test failed: Offset 176: Expected 70, got 78
version.c:733: Test failed: Offset 177: Expected 63, got 2d
version.c:733: Test failed: Offset 178: Expected 2d, got 32
version.c:733: Test failed: Offset 179: Expected 69, got 2e
version.c:733: Test failed: Offset 180: Expected 34, got 31
version.c:733: Test failed: Offset 181: Expected 34, got 00
version.c:733: Test failed: Offset 182: Expected 30, got 00
version.c:733: Test failed: Offset 183: Expected 66, got 04
version.c:733: Test failed: Offset 184: Expected 78, got 2a
version.c:733: Test failed: Offset 185: Expected 2d, got 00
version.c:733: Test failed: Offset 186: Expected 32, got 04
version.c:733: Test failed: Offset 187: Expected 2e, got 01
version.c:733: Test failed: Offset 188: Expected 31, got 03
version.c:733: Test failed: Offset 189: Expected 00, got 01
version.c:733: Test failed: Offset 190: Expected 00, got 02
version.c:733: Test failed: Offset 191: Expected 04, got 61
version.c:733: Test failed: Offset 192: Expected 2a, got 0f
version.c:733: Test failed: Offset 194: Expected 04, got 00
version.c:733: Test failed: Offset 195: Expected 01, got fd
version.c:733: Test failed: Offset 196: Expected 03, got fb
version.c:733: Test failed: Offset 197: Expected 01, got 8b
version.c:733: Test failed: Offset 198: Expected 02, got 07
version.c:733: Test failed: Offset 199: Expected 61, got 03
version.c:733: Test failed: Offset 200: Expected 0f, got 00
version.c:733: Test failed: Offset 203: Expected fd, got d0
version.c:733: Test failed: Offset 204: Expected fb, got 07
version.c:733: Test failed: Offset 205: Expected 8b, got d0
version.c:733: Test failed: Offset 207: Expected 03, got 41
version.c:733: Test failed: Offset 208: Expected 00, got 01
version.c:733: Test failed: Offset 209: Expected 00, got ff
version.c:733: Test failed: Offset 210: Expected 00, got ff
version.c:733: Test failed: Offset 211: Expected d0, got ff
version.c:733: Test failed: Offset 212: Expected 07, got ff
version.c:733: Test failed: Offset 213: Expected d0, got ff
version.c:733: Test failed: Offset 214: Expected 07, got ff
version.c:733: Test failed: Offset 215: Expected 41, got 00
version.c:733: Test failed: Offset 216: Expected 01, got 00
version.c:733: Test failed: Offset 217: Expected ff, got 00
version.c:733: Test failed: Offset 218: Expected ff, got 01
version.c:733: Test failed: Offset 219: Expected ff, got 01
version.c:733: Test failed: Offset 220: Expected ff, got 01
version.c:733: Test failed: Offset 221: Expected ff, got 02
version.c:733: Test failed: Offset 222: Expected ff, got 00
version.c:733: Test failed: Offset 223: Expected 00, got 01
version.c:733: Test failed: Offset 225: Expected 00, got 43
version.c:733: Test failed: Offset 226: Expected 01, got 50
version.c:733: Test failed: Offset 227: Expected 01, got 55
version.c:733: Test failed: Offset 228: Expected 01, got 20
version.c:733: Test failed: Offset 229: Expected 02, got 30
version.c:733: Test failed: Offset 231: Expected 01, got 51
version.c:733: Test failed: Offset 232: Expected 00, got 45
version.c:733: Test failed: Offset 233: Expected 43, got 4d
version.c:733: Test failed: Offset 234: Expected 50, got 55
version.c:733: Test failed: Offset 235: Expected 55, got 00
version.c:733: Test failed: Offset 236: Expected 20, got 70
version.c:733: Test failed: Offset 237: Expected 30, got 63
version.c:733: Test failed: Offset 238: Expected 00, got 2d
version.c:733: Test failed: Offset 239: Expected 51, got 69
version.c:733: Test failed: Offset 240: Expected 45, got 34
version.c:733: Test failed: Offset 241: Expected 4d, got 34
version.c:733: Test failed: Offset 242: Expected 55, got 30
version.c:733: Test failed: Offset 243: Expected 00, got 66
version.c:733: Test failed: Offset 244: Expected 70, got 78
version.c:733: Test failed: Offset 245: Expected 63, got 2d
version.c:733: Test failed: Offset 246: Expected 2d, got 32
version.c:733: Test failed: Offset 247: Expected 69, got 2e
version.c:733: Test failed: Offset 248: Expected 34, got 31
version.c:733: Test failed: Offset 249: Expected 34, got 00
version.c:733: Test failed: Offset 250: Expected 30, got 00
version.c:733: Test failed: Offset 251: Expected 66, got 04
version.c:733: Test failed: Offset 252: Expected 78, got 2a
version.c:733: Test failed: Offset 253: Expected 2d, got 01
version.c:733: Test failed: Offset 254: Expected 32, got 04
version.c:733: Test failed: Offset 255: Expected 2e, got 01
version.c:733: Test failed: Offset 256: Expected 31, got 03
version.c:733: Test failed: Offset 257: Expected 00, got 01
version.c:733: Test failed: Offset 258: Expected 00, got 02
version.c:733: Test failed: Offset 259: Expected 04, got 61
version.c:733: Test failed: Offset 260: Expected 2a, got 0f
version.c:733: Test failed: Offset 261: Expected 01, got 00
version.c:733: Test failed: Offset 262: Expected 04, got 00
version.c:733: Test failed: Offset 263: Expected 01, got fd
version.c:733: Test failed: Offset 264: Expected 03, got fb
version.c:733: Test failed: Offset 265: Expected 01, got 8b
version.c:733: Test failed: Offset 266: Expected 02, got 07
version.c:733: Test failed: Offset 267: Expected 61, got 03
version.c:733: Test failed: Offset 268: Expected 0f, got 00
version.c:733: Test failed: Offset 271: Expected fd, got d0
version.c:733: Test failed: Offset 272: Expected fb, got 07
version.c:733: Test failed: Offset 273: Expected 8b, got d0
version.c:733: Test failed: Offset 275: Expected 03, got 41
version.c:733: Test failed: Offset 276: Expected 00, got 01
version.c:733: Test failed: Offset 277: Expected 00, got ff
version.c:733: Test failed: Offset 278: Expected 00, got ff
version.c:733: Test failed: Offset 279: Expected d0, got ff
version.c:733: Test failed: Offset 280: Expected 07, got ff
version.c:733: Test failed: Offset 281: Expected d0, got ff
version.c:733: Test failed: Offset 282: Expected 07, got ff
version.c:733: Test failed: Offset 283: Expected 41, got 00
version.c:733: Test failed: Offset 284: Expected 01, got 00
version.c:733: Test failed: Offset 285: Expected ff, got 00
version.c:733: Test failed: Offset 286: Expected ff, got 01
version.c:733: Test failed: Offset 287: Expected ff, got 01
version.c:733: Test failed: Offset 288: Expected ff, got 01
version.c:733: Test failed: Offset 289: Expected ff, got 02
version.c:733: Test failed: Offset 290: Expected ff, got 00
version.c:733: Test failed: Offset 291: Expected 00, got 01
version.c:733: Test failed: Offset 293: Expected 00, got 43
version.c:733: Test failed: Offset 294: Expected 01, got 50
version.c:733: Test failed: Offset 295: Expected 01, got 55
version.c:733: Test failed: Offset 296: Expected 01, got 20
version.c:733: Test failed: Offset 297: Expected 02, got 31
version.c:733: Test failed: Offset 299: Expected 01, got 51
version.c:733: Test failed: Offset 300: Expected 00, got 45
version.c:733: Test failed: Offset 301: Expected 43, got 4d
version.c:733: Test failed: Offset 302: Expected 50, got 55
version.c:733: Test failed: Offset 303: Expected 55, got 00
version.c:733: Test failed: Offset 304: Expected 20, got 70
version.c:733: Test failed: Offset 305: Expected 31, got 63
version.c:733: Test failed: Offset 306: Expected 00, got 2d
version.c:733: Test failed: Offset 307: Expected 51, got 69
version.c:733: Test failed: Offset 308: Expected 45, got 34
version.c:733: Test failed: Offset 309: Expected 4d, got 34
version.c:733: Test failed: Offset 310: Expected 55, got 30
version.c:733: Test failed: Offset 311: Expected 00, got 66
version.c:733: Test failed: Offset 312: Expected 70, got 78
version.c:733: Test failed: Offset 313: Expected 63, got 2d
version.c:733: Test failed: Offset 314: Expected 2d, got 32
version.c:733: Test failed: Offset 315: Expected 69, got 2e
version.c:733: Test failed: Offset 316: Expected 34, got 31
version.c:733: Test failed: Offset 317: Expected 34, got 00
version.c:733: Test failed: Offset 318: Expected 30, got 00
version.c:733: Test failed: Offset 319: Expected 66, got 10
version.c:733: Test failed: Offset 320: Expected 78, got 17
version.c:733: Test failed: Offset 321: Expected 2d, got 00
version.c:733: Test failed: Offset 322: Expected 32, got 10
version.c:733: Test failed: Offset 323: Expected 2e, got 01
version.c:733: Test failed: Offset 324: Expected 31, got 03
version.c:733: Test failed: Offset 325: Expected 00, got 06
version.c:733: Test failed: Offset 327: Expected 10, got 00
version.c:733: Test failed: Offset 328: Expected 17, got 10
version.c:733: Test failed: Offset 330: Expected 10, got fe
version.c:733: Test failed: Offset 331: Expected 01, got ff
version.c:733: Test failed: Offset 332: Expected 03, got 01
version.c:733: Test failed: Offset 333: Expected 06, got 00
version.c:733: Test failed: Offset 336: Expected 10, got 00
version.c:733: Test failed: Offset 338: Expected fe, got 00
version.c:733: Test failed: Offset 339: Expected ff, got 00
version.c:733: Test failed: Offset 340: Expected 01, got 00
version.c:733: Test failed: Offset 344: Expected 00, got 11
version.c:733: Test failed: Offset 345: Expected 00, got 28
version.c:733: Test failed: Offset 347: Expected 00, got 11
version.c:733: Test failed: Offset 349: Expected 00, got 10
version.c:733: Test failed: Offset 350: Expected 00, got fe
version.c:733: Test failed: Offset 351: Expected 00, got ff
version.c:733: Test failed: Offset 352: Expected 11, got ff
version.c:733: Test failed: Offset 353: Expected 28, got ff
version.c:733: Test failed: Offset 354: Expected 00, got ff
version.c:733: Test failed: Offset 355: Expected 11, got ff
version.c:733: Test failed: Offset 357: Expected 10, got 04
version.c:733: Test failed: Offset 358: Expected fe, got 09
version.c:733: Test failed: Offset 359: Expected ff, got 00
version.c:733: Test failed: Offset 360: Expected ff, got 01
version.c:733: Test failed: Offset 361: Expected ff, got 00
version.c:733: Test failed: Offset 362: Expected ff, got 07
version.c:733: Test failed: Offset 363: Expected ff, got 02
version.c:733: Test failed: Offset 365: Expected 04, got 00
version.c:733: Test failed: Offset 366: Expected 09, got 00
version.c:733: Test failed: Offset 367: Expected 00, got 02
version.c:733: Test failed: Offset 368: Expected 01, got 00
version.c:733: Test failed: Offset 370: Expected 07, got 00
version.c:733: Test failed: Offset 371: Expected 02, got 00
version.c:733: Test failed: Offset 375: Expected 02, got 00
version.c:733: Test failed: Offset 384: Expected 00, got 44
version.c:733: Test failed: Offset 385: Expected 00, got 49
version.c:733: Test failed: Offset 386: Expected 00, got 4d
version.c:733: Test failed: Offset 387: Expected 00, got 4d
version.c:733: Test failed: Offset 388: Expected 00, got 20
version.c:733: Test failed: Offset 389: Expected 00, got 30
version.c:733: Test failed: Offset 391: Expected 00, got 51
version.c:733: Test failed: Offset 392: Expected 44, got 45
version.c:733: Test failed: Offset 393: Expected 49, got 4d
version.c:733: Test failed: Offset 394: Expected 4d, got 55
version.c:733: Test failed: Offset 395: Expected 4d, got 00
version.c:733: Test failed: Offset 396: Expected 20, got 00
version.c:733: Test failed: Offset 397: Expected 30, got 13
version.c:733: Test failed: Offset 398: Expected 00, got 1f
version.c:733: Test failed: Offset 399: Expected 51, got 00
version.c:733: Test failed: Offset 400: Expected 45, got 13
version.c:733: Test failed: Offset 401: Expected 4d, got 00
version.c:733: Test failed: Offset 402: Expected 55, got 00
version.c:733: Test failed: Offset 405: Expected 13, got ff
version.c:733: Test failed: Offset 406: Expected 1f, got ff
version.c:733: Test failed: Offset 407: Expected 00, got 0f
version.c:733: Test failed: Offset 408: Expected 13, got 00
version.c:733: Test failed: Offset 410: Expected 00, got 10
version.c:733: Test failed: Offset 411: Expected 00, got 01
version.c:733: Test failed: Offset 413: Expected ff, got 00
version.c:733: Test failed: Offset 414: Expected ff, got 00
version.c:733: Test failed: Offset 415: Expected 0f, got 00
version.c:733: Test failed: Offset 418: Expected 10, got 00
version.c:733: Test failed: Offset 419: Expected 01, got 00
version.c:733: Test failed: Offset 430: Expected 00, got 20
version.c:733: Test failed: Offset 431: Expected 00, got 0b
version.c:733: Test failed: Offset 433: Expected 00, got 20
version.c:733: Test failed: Offset 438: Expected 20, got 00
version.c:733: Test failed: Offset 439: Expected 0b, got 00
version.c:733: Test failed: Offset 441: Expected 20, got 00
version.c:733: Test failed: Offset 443: Expected 00, got 7f
version.c:733: Test failed: Offset 444: Expected 00, got 04
version.c:733: Test failed: Offset 446: Expected 00, got 7f
June 15, 2018
Re: [PATCH v5 2/8] ntdll/tests: Add SystemFirmwareTableInformation tests
by Marvin
Hi,
While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
https://testbot.winehq.org/JobDetails.pl?Key=39153
Your paranoid android.
=== wxppro (32 bit info) ===
info.c:844: Test failed: Expected STATUS_INFO_LENGTH_MISMATCH, got c0000003
info.c:846: Test failed: Expected length 16, got 0
info.c:850: Test failed: Expected STATUS_NOT_IMPLEMENTED, got c0000003
info.c:858: Test failed: Expected STATUS_BUFFER_TOO_SMALL, got c0000003
info.c:860: Test failed: Expected length >= 16, got 0
info.c:867: Test failed: Expected STATUS_SUCCESS, got c0000003
=== w2003std (32 bit info) ===
info.c:846: Test failed: Expected length 16, got 0
info.c:850: Test failed: Expected STATUS_NOT_IMPLEMENTED, got c0000004
info.c:858: Test failed: Expected STATUS_BUFFER_TOO_SMALL, got c0000004
info.c:860: Test failed: Expected length >= 16, got 0
info.c:867: Test failed: Expected STATUS_SUCCESS, got c0000004
=== wvistau64 (32 bit info) ===
info.c:1836: Test failed: Expected STATUS_SUCCESS, got c0000022
0b9c:info: unhandled exception c0000005 at 003D0000
=== wvistau64_zh_CN (32 bit info) ===
info.c:1836: Test failed: Expected STATUS_SUCCESS, got c0000022
0bd0:info: unhandled exception c0000005 at 00360000
=== wvistau64_fr (32 bit info) ===
info.c:1836: Test failed: Expected STATUS_SUCCESS, got c0000022
072c:info: unhandled exception c0000005 at 003E0000
=== wvistau64_he (32 bit info) ===
info.c:1836: Test failed: Expected STATUS_SUCCESS, got c0000022
0be0:info: unhandled exception c0000005 at 003D0000
=== w2008s64 (32 bit info) ===
info.c:1836: Test failed: Expected STATUS_SUCCESS, got c0000022
0874:info: unhandled exception c0000005 at 002C0000
=== w7u (32 bit info) ===
info.c:1836: Test failed: Expected STATUS_SUCCESS, got c0000022
=== w7pro64 (32 bit info) ===
info.c:1836: Test failed: Expected STATUS_SUCCESS, got c0000022
0bf8:info: unhandled exception c0000005 at 003C0000
=== w8 (32 bit info) ===
info.c:1836: Test failed: Expected STATUS_SUCCESS, got c0000022
0fdc:info: unhandled exception c0000005 at 003E0000
=== w864 (32 bit info) ===
info.c:1836: Test failed: Expected STATUS_SUCCESS, got c0000022
0d10:info: unhandled exception c0000005 at 00360000
=== w1064 (32 bit info) ===
info.c:1836: Test failed: Expected STATUS_SUCCESS, got c0000022
064c:info: unhandled exception c0000005 at 002D0000
June 15, 2018
[PATCH v5 8/8] ntdll: Return chassis info from NtQuerySystemInformation on Linux
by Alex Henrie
Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com>
---
dlls/ntdll/nt.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index e79059b224..7380b236b1 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -108,6 +108,17 @@ struct smbios_board {
BYTE serial;
};
+struct smbios_chassis {
+ BYTE type;
+ BYTE length;
+ WORD handle;
+ BYTE vendor;
+ BYTE shape;
+ BYTE version;
+ BYTE serial;
+ BYTE asset_tag;
+};
+
#include "poppack.h"
/* Firmware table providers */
@@ -1945,12 +1956,15 @@ static inline NTSTATUS get_firmware_info(SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti
size_t system_vendor_size, system_product_size, system_version_size, system_serial_size;
char *board_vendor, *board_product, *board_version, *board_serial;
size_t board_vendor_size, board_product_size, board_version_size, board_serial_size;
+ char *chassis_vendor, *chassis_version, *chassis_serial, *chassis_asset_tag;
+ size_t chassis_vendor_size, chassis_version_size, chassis_serial_size, chassis_asset_tag_size;
char *buffer = (char*)sfti->TableBuffer;
BYTE string_count;
struct smbios_prologue *prologue;
struct smbios_bios *bios;
struct smbios_system *system;
struct smbios_board *board;
+ struct smbios_chassis *chassis;
bios_vendor = get_smbios_string("/sys/class/dmi/id/bios_vendor", &bios_vendor_size);
bios_version = get_smbios_string("/sys/class/dmi/id/bios_version", &bios_version_size);
@@ -1963,6 +1977,10 @@ static inline NTSTATUS get_firmware_info(SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti
board_product = get_smbios_string("/sys/class/dmi/id/board_name", &board_product_size);
board_version = get_smbios_string("/sys/class/dmi/id/board_version", &board_version_size);
board_serial = get_smbios_string("/sys/class/dmi/id/board_serial", &board_serial_size);
+ chassis_vendor = get_smbios_string("/sys/class/dmi/id/chassis_vendor", &chassis_vendor_size);
+ chassis_version = get_smbios_string("/sys/class/dmi/id/chassis_version", &chassis_version_size);
+ chassis_serial = get_smbios_string("/sys/class/dmi/id/chassis_serial", &chassis_serial_size);
+ chassis_asset_tag = get_smbios_string("/sys/class/dmi/id/chassis_tag", &chassis_asset_tag_size);
*required_len = FIELD_OFFSET(SYSTEM_FIRMWARE_TABLE_INFORMATION, TableBuffer);
@@ -1980,6 +1998,10 @@ static inline NTSTATUS get_firmware_info(SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti
*required_len += max(board_vendor_size + board_product_size + board_version_size +
board_serial_size + 1, 2);
+ *required_len += sizeof(struct smbios_chassis);
+ *required_len += max(chassis_vendor_size + chassis_version_size + chassis_serial_size +
+ chassis_asset_tag_size + 1, 2);
+
if (available_len < *required_len)
{
return STATUS_BUFFER_TOO_SMALL;
@@ -2048,6 +2070,33 @@ static inline NTSTATUS get_firmware_info(SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti
buffer += 2;
}
+ string_count = 0;
+ chassis = (struct smbios_chassis*)buffer;
+ chassis->type = 3;
+ chassis->length = sizeof(struct smbios_chassis);
+ chassis->handle = 0;
+ chassis->vendor = chassis_vendor ? ++string_count : 0;
+ chassis->shape = 0x2; /* unknown */
+ chassis->version = chassis_version ? ++string_count : 0;
+ chassis->serial = chassis_serial ? ++string_count : 0;
+ chassis->asset_tag = chassis_asset_tag ? ++string_count : 0;
+ buffer += sizeof(struct smbios_chassis);
+
+ if (string_count)
+ {
+ copy_smbios_string(&buffer, chassis_vendor, chassis_vendor_size);
+ copy_smbios_string(&buffer, chassis_version, chassis_version_size);
+ copy_smbios_string(&buffer, chassis_serial, chassis_serial_size);
+ copy_smbios_string(&buffer, chassis_asset_tag, chassis_asset_tag_size);
+ memset(buffer, 0, 1);
+ buffer++;
+ }
+ else
+ {
+ memset(buffer, 0, 2);
+ buffer += 2;
+ }
+
string_count = 0;
board = (struct smbios_board*)buffer;
board->type = 2;
@@ -2083,6 +2132,10 @@ static inline NTSTATUS get_firmware_info(SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti
free(board_product);
free(board_version);
free(board_serial);
+ free(chassis_vendor);
+ free(chassis_version);
+ free(chassis_serial);
+ free(chassis_asset_tag);
return STATUS_SUCCESS;
}
--
2.17.1
June 15, 2018
[PATCH v5 7/8] ntdll: Return board info from NtQuerySystemInformation on Linux
by Alex Henrie
Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com>
---
dlls/ntdll/nt.c | 52 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index 560cb747bf..e79059b224 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -98,6 +98,16 @@ struct smbios_system {
BYTE serial;
};
+struct smbios_board {
+ BYTE type;
+ BYTE length;
+ WORD handle;
+ BYTE vendor;
+ BYTE product;
+ BYTE version;
+ BYTE serial;
+};
+
#include "poppack.h"
/* Firmware table providers */
@@ -1933,11 +1943,14 @@ static inline NTSTATUS get_firmware_info(SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti
size_t bios_vendor_size, bios_version_size, bios_date_size;
char *system_vendor, *system_product, *system_version, *system_serial;
size_t system_vendor_size, system_product_size, system_version_size, system_serial_size;
+ char *board_vendor, *board_product, *board_version, *board_serial;
+ size_t board_vendor_size, board_product_size, board_version_size, board_serial_size;
char *buffer = (char*)sfti->TableBuffer;
BYTE string_count;
struct smbios_prologue *prologue;
struct smbios_bios *bios;
struct smbios_system *system;
+ struct smbios_board *board;
bios_vendor = get_smbios_string("/sys/class/dmi/id/bios_vendor", &bios_vendor_size);
bios_version = get_smbios_string("/sys/class/dmi/id/bios_version", &bios_version_size);
@@ -1946,6 +1959,10 @@ static inline NTSTATUS get_firmware_info(SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti
system_product = get_smbios_string("/sys/class/dmi/id/product", &system_product_size);
system_version = get_smbios_string("/sys/class/dmi/id/product_version", &system_version_size);
system_serial = get_smbios_string("/sys/class/dmi/id/product_serial", &system_serial_size);
+ board_vendor = get_smbios_string("/sys/class/dmi/id/board_vendor", &board_vendor_size);
+ board_product = get_smbios_string("/sys/class/dmi/id/board_name", &board_product_size);
+ board_version = get_smbios_string("/sys/class/dmi/id/board_version", &board_version_size);
+ board_serial = get_smbios_string("/sys/class/dmi/id/board_serial", &board_serial_size);
*required_len = FIELD_OFFSET(SYSTEM_FIRMWARE_TABLE_INFORMATION, TableBuffer);
@@ -1955,9 +1972,14 @@ static inline NTSTATUS get_firmware_info(SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti
*required_len += max(bios_vendor_size + bios_version_size + bios_date_size + 1, 2);
*required_len += sizeof(struct smbios_system);
+
*required_len += max(system_vendor_size + system_product_size + system_version_size +
system_serial_size + 1, 2);
+ *required_len += sizeof(struct smbios_board);
+ *required_len += max(board_vendor_size + board_product_size + board_version_size +
+ board_serial_size + 1, 2);
+
if (available_len < *required_len)
{
return STATUS_BUFFER_TOO_SMALL;
@@ -2018,6 +2040,32 @@ static inline NTSTATUS get_firmware_info(SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti
copy_smbios_string(&buffer, system_version, system_version_size);
copy_smbios_string(&buffer, system_serial, system_serial_size);
memset(buffer, 0, 1);
+ buffer++;
+ }
+ else
+ {
+ memset(buffer, 0, 2);
+ buffer += 2;
+ }
+
+ string_count = 0;
+ board = (struct smbios_board*)buffer;
+ board->type = 2;
+ board->length = sizeof(struct smbios_board);
+ board->handle = 0;
+ board->vendor = board_vendor ? ++string_count : 0;
+ board->product = board_product ? ++string_count : 0;
+ board->version = board_version ? ++string_count : 0;
+ board->serial = board_serial ? ++string_count : 0;
+ buffer += sizeof(struct smbios_board);
+
+ if (string_count)
+ {
+ copy_smbios_string(&buffer, board_vendor, board_vendor_size);
+ copy_smbios_string(&buffer, board_product, board_product_size);
+ copy_smbios_string(&buffer, board_version, board_version_size);
+ copy_smbios_string(&buffer, board_serial, board_serial_size);
+ memset(buffer, 0, 1);
}
else
{
@@ -2031,6 +2079,10 @@ static inline NTSTATUS get_firmware_info(SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti
free(system_product);
free(system_version);
free(system_serial);
+ free(board_vendor);
+ free(board_product);
+ free(board_version);
+ free(board_serial);
return STATUS_SUCCESS;
}
--
2.17.1
June 15, 2018
[PATCH v5 6/8] ntdll: Return system info from NtQuerySystemInformation on Linux
by Alex Henrie
Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com>
---
dlls/ntdll/nt.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index 658970b051..560cb747bf 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -88,6 +88,16 @@ struct smbios_bios {
UINT64 characteristics;
};
+struct smbios_system {
+ BYTE type;
+ BYTE length;
+ WORD handle;
+ BYTE vendor;
+ BYTE product;
+ BYTE version;
+ BYTE serial;
+};
+
#include "poppack.h"
/* Firmware table providers */
@@ -1921,14 +1931,21 @@ static inline NTSTATUS get_firmware_info(SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti
{
char *bios_vendor, *bios_version, *bios_date;
size_t bios_vendor_size, bios_version_size, bios_date_size;
+ char *system_vendor, *system_product, *system_version, *system_serial;
+ size_t system_vendor_size, system_product_size, system_version_size, system_serial_size;
char *buffer = (char*)sfti->TableBuffer;
BYTE string_count;
struct smbios_prologue *prologue;
struct smbios_bios *bios;
+ struct smbios_system *system;
bios_vendor = get_smbios_string("/sys/class/dmi/id/bios_vendor", &bios_vendor_size);
bios_version = get_smbios_string("/sys/class/dmi/id/bios_version", &bios_version_size);
bios_date = get_smbios_string("/sys/class/dmi/id/bios_date", &bios_date_size);
+ system_vendor = get_smbios_string("/sys/class/dmi/id/sys_vendor", &system_vendor_size);
+ system_product = get_smbios_string("/sys/class/dmi/id/product", &system_product_size);
+ system_version = get_smbios_string("/sys/class/dmi/id/product_version", &system_version_size);
+ system_serial = get_smbios_string("/sys/class/dmi/id/product_serial", &system_serial_size);
*required_len = FIELD_OFFSET(SYSTEM_FIRMWARE_TABLE_INFORMATION, TableBuffer);
@@ -1937,6 +1954,10 @@ static inline NTSTATUS get_firmware_info(SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti
*required_len += sizeof(struct smbios_bios);
*required_len += max(bios_vendor_size + bios_version_size + bios_date_size + 1, 2);
+ *required_len += sizeof(struct smbios_system);
+ *required_len += max(system_vendor_size + system_product_size + system_version_size +
+ system_serial_size + 1, 2);
+
if (available_len < *required_len)
{
return STATUS_BUFFER_TOO_SMALL;
@@ -1971,6 +1992,32 @@ static inline NTSTATUS get_firmware_info(SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti
copy_smbios_string(&buffer, bios_version, bios_version_size);
copy_smbios_string(&buffer, bios_date, bios_date_size);
memset(buffer, 0, 1);
+ buffer++;
+ }
+ else
+ {
+ memset(buffer, 0, 2);
+ buffer += 2;
+ }
+
+ string_count = 0;
+ system = (struct smbios_system*)buffer;
+ system->type = 1;
+ system->length = sizeof(struct smbios_system);
+ system->handle = 0;
+ system->vendor = system_vendor ? ++string_count : 0;
+ system->product = system_product ? ++string_count : 0;
+ system->version = system_version ? ++string_count : 0;
+ system->serial = system_serial ? ++string_count : 0;
+ buffer += sizeof(struct smbios_system);
+
+ if (string_count)
+ {
+ copy_smbios_string(&buffer, system_vendor, system_vendor_size);
+ copy_smbios_string(&buffer, system_product, system_product_size);
+ copy_smbios_string(&buffer, system_version, system_version_size);
+ copy_smbios_string(&buffer, system_serial, system_serial_size);
+ memset(buffer, 0, 1);
}
else
{
@@ -1980,6 +2027,10 @@ static inline NTSTATUS get_firmware_info(SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti
free(bios_vendor);
free(bios_version);
free(bios_date);
+ free(system_vendor);
+ free(system_product);
+ free(system_version);
+ free(system_serial);
return STATUS_SUCCESS;
}
--
2.17.1
June 15, 2018
[PATCH v5 5/8] kernel32: Connect GetSystemFirmwareTable to NtQuerySystemInformation
by Alex Henrie
Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com>
---
dlls/kernel32/cpu.c | 29 +++++++++++++++++++++++++++++
dlls/kernel32/process.c | 10 ----------
dlls/kernel32/tests/version.c | 2 --
3 files changed, 29 insertions(+), 12 deletions(-)
diff --git a/dlls/kernel32/cpu.c b/dlls/kernel32/cpu.c
index ec1fd0f90d..8397fbe729 100644
--- a/dlls/kernel32/cpu.c
+++ b/dlls/kernel32/cpu.c
@@ -336,3 +336,32 @@ DWORD64 WINAPI GetEnabledXStateFeatures(void)
FIXME("\n");
return 0;
}
+
+/***********************************************************************
+ * GetSystemFirmwareTable (KERNEL32.@)
+ */
+UINT WINAPI GetSystemFirmwareTable(DWORD provider, DWORD id, void *buffer, DWORD size)
+{
+ ULONG buffer_size = FIELD_OFFSET(SYSTEM_FIRMWARE_TABLE_INFORMATION, TableBuffer) + size;
+ SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti = HeapAlloc(GetProcessHeap(), 0, buffer_size);
+ NTSTATUS status;
+
+ if (!sfti)
+ {
+ SetLastError(ERROR_OUTOFMEMORY);
+ return 0;
+ }
+
+ sfti->ProviderSignature = provider;
+ sfti->Action = SystemFirmwareTable_Get;
+ sfti->TableID = id;
+
+ status = NtQuerySystemInformation(SystemFirmwareTableInformation, sfti, buffer_size, &buffer_size);
+ buffer_size -= FIELD_OFFSET(SYSTEM_FIRMWARE_TABLE_INFORMATION, TableBuffer);
+ if (buffer_size <= size)
+ memcpy(buffer, sfti->TableBuffer, buffer_size);
+
+ if (status) SetLastError(RtlNtStatusToDosError(status));
+ HeapFree(GetProcessHeap(), 0, sfti);
+ return buffer_size;
+}
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index ff56e9a692..6adf08d257 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -4126,16 +4126,6 @@ HRESULT WINAPI UnregisterApplicationRestart(void)
return S_OK;
}
-/***********************************************************************
- * GetSystemFirmwareTable (KERNEL32.@)
- */
-UINT WINAPI GetSystemFirmwareTable(DWORD provider, DWORD id, PVOID buffer, DWORD size)
-{
- FIXME("(%d %d %p %d):stub\n", provider, id, buffer, size);
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
struct proc_thread_attr
{
DWORD_PTR attr;
diff --git a/dlls/kernel32/tests/version.c b/dlls/kernel32/tests/version.c
index 6ca45f0b2e..90d63c2794 100644
--- a/dlls/kernel32/tests/version.c
+++ b/dlls/kernel32/tests/version.c
@@ -721,12 +721,10 @@ void test_GetSystemFirmwareTable(void)
expected_len -= 16;
len = GetSystemFirmwareTable(RSMB, 0, smbios_table, 0);
-todo_wine
ok(len == expected_len, "Expected length %u, got %u\n", expected_len, len);
smbios_table = HeapAlloc(GetProcessHeap(), 0, len);
len = GetSystemFirmwareTable(RSMB, 0, smbios_table, len);
-todo_wine
ok(len == expected_len, "Expected length %u, got %u\n", expected_len, len);
for (i = 0; i < len; i++)
{
--
2.17.1
June 15, 2018
[PATCH v5 4/8] ntdll: Return BIOS info from NtQuerySystemInformation on Linux
by Alex Henrie
Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com>
---
dlls/ntdll/nt.c | 174 ++++++++++++++++++++++++++++++++++++++++
dlls/ntdll/tests/info.c | 14 ++--
2 files changed, 182 insertions(+), 6 deletions(-)
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index dc0ce04f42..658970b051 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -66,6 +66,35 @@
WINE_DEFAULT_DEBUG_CHANNEL(ntdll);
+#include "pshpack1.h"
+
+struct smbios_prologue {
+ BYTE calling_method;
+ BYTE major_version;
+ BYTE minor_version;
+ BYTE revision;
+ DWORD length;
+};
+
+struct smbios_bios {
+ BYTE type;
+ BYTE length;
+ WORD handle;
+ BYTE vendor;
+ BYTE version;
+ WORD start;
+ BYTE date;
+ BYTE size;
+ UINT64 characteristics;
+};
+
+#include "poppack.h"
+
+/* Firmware table providers */
+#define ACPI 0x41435049
+#define FIRM 0x4649524D
+#define RSMB 0x52534D42
+
/*
* Token
*/
@@ -1850,6 +1879,129 @@ static NTSTATUS create_logical_proc_info(SYSTEM_LOGICAL_PROCESSOR_INFORMATION **
}
#endif
+static inline void copy_smbios_string(char **buffer, char *string, size_t string_size)
+{
+ if (!string) return;
+ strcpy(*buffer, string);
+ *buffer += string_size;
+}
+
+#ifdef linux
+
+static char* get_smbios_string(const char *path, size_t *string_size)
+{
+ FILE *file = fopen(path, "r");
+ char *ret = NULL;
+ *string_size = 0;
+ if (file)
+ {
+ *string_size = getline(&ret, string_size, file) + 1;
+ fclose(file);
+ if (*string_size >= 2 && ret[*string_size - 2] == '\n')
+ {
+ ret[*string_size - 2] = 0;
+ (*string_size)--;
+ }
+ if (*string_size == 1)
+ {
+ free(ret);
+ ret = NULL;
+ *string_size = 0;
+ }
+ }
+ return ret;
+}
+
+static inline NTSTATUS get_firmware_info(SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti,
+ ULONG available_len, ULONG *required_len)
+{
+ switch (sfti->ProviderSignature)
+ {
+ case RSMB:
+ {
+ char *bios_vendor, *bios_version, *bios_date;
+ size_t bios_vendor_size, bios_version_size, bios_date_size;
+ char *buffer = (char*)sfti->TableBuffer;
+ BYTE string_count;
+ struct smbios_prologue *prologue;
+ struct smbios_bios *bios;
+
+ bios_vendor = get_smbios_string("/sys/class/dmi/id/bios_vendor", &bios_vendor_size);
+ bios_version = get_smbios_string("/sys/class/dmi/id/bios_version", &bios_version_size);
+ bios_date = get_smbios_string("/sys/class/dmi/id/bios_date", &bios_date_size);
+
+ *required_len = FIELD_OFFSET(SYSTEM_FIRMWARE_TABLE_INFORMATION, TableBuffer);
+
+ *required_len += sizeof(struct smbios_prologue);
+
+ *required_len += sizeof(struct smbios_bios);
+ *required_len += max(bios_vendor_size + bios_version_size + bios_date_size + 1, 2);
+
+ if (available_len < *required_len)
+ {
+ return STATUS_BUFFER_TOO_SMALL;
+ }
+
+ sfti->TableBufferLength = *required_len - FIELD_OFFSET(SYSTEM_FIRMWARE_TABLE_INFORMATION, TableBuffer);
+
+ prologue = (struct smbios_prologue*)buffer;
+ prologue->calling_method = 0;
+ prologue->major_version = 2;
+ prologue->minor_version = 0;
+ prologue->revision = 0;
+ prologue->length = sfti->TableBufferLength - sizeof(struct smbios_prologue);
+ buffer += sizeof(struct smbios_prologue);
+
+ string_count = 0;
+ bios = (struct smbios_bios*)buffer;
+ bios->type = 0;
+ bios->length = sizeof(struct smbios_bios);
+ bios->handle = 0;
+ bios->vendor = bios_vendor ? ++string_count : 0;
+ bios->version = bios_version ? ++string_count : 0;
+ bios->start = 0;
+ bios->date = bios_date ? ++string_count : 0;
+ bios->size = 0;
+ bios->characteristics = 0x4; /* not supported */
+ buffer += sizeof(struct smbios_bios);
+
+ if (string_count)
+ {
+ copy_smbios_string(&buffer, bios_vendor, bios_vendor_size);
+ copy_smbios_string(&buffer, bios_version, bios_version_size);
+ copy_smbios_string(&buffer, bios_date, bios_date_size);
+ memset(buffer, 0, 1);
+ }
+ else
+ {
+ memset(buffer, 0, 2);
+ }
+
+ free(bios_vendor);
+ free(bios_version);
+ free(bios_date);
+
+ return STATUS_SUCCESS;
+ }
+ default:
+ {
+ return STATUS_NOT_IMPLEMENTED;
+ FIXME("info_class SYSTEM_FIRMWARE_TABLE_INFORMATION\n");
+ }
+ }
+}
+
+#else
+
+static inline NTSTATUS get_firmware_info(SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti,
+ ULONG available_len, ULONG *required_len)
+{
+ return STATUS_NOT_IMPLEMENTED;
+ FIXME("info_class SYSTEM_FIRMWARE_TABLE_INFORMATION\n");
+}
+
+#endif
+
/******************************************************************************
* NtQuerySystemInformation [NTDLL.@]
* ZwQuerySystemInformation [NTDLL.@]
@@ -2359,6 +2511,28 @@ NTSTATUS WINAPI NtQuerySystemInformation(
else ret = STATUS_INFO_LENGTH_MISMATCH;
}
break;
+ case SystemFirmwareTableInformation:
+ {
+ SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti = (SYSTEM_FIRMWARE_TABLE_INFORMATION*)SystemInformation;
+ len = FIELD_OFFSET(SYSTEM_FIRMWARE_TABLE_INFORMATION, TableBuffer);
+ if (Length < len)
+ {
+ ret = STATUS_INFO_LENGTH_MISMATCH;
+ break;
+ }
+
+ switch (sfti->Action)
+ {
+ case SystemFirmwareTable_Get:
+ ret = get_firmware_info(sfti, Length, &len);
+ break;
+ default:
+ len = 0;
+ ret = STATUS_NOT_IMPLEMENTED;
+ FIXME("info_class SYSTEM_FIRMWARE_TABLE_INFORMATION\n");
+ }
+ }
+ break;
default:
FIXME("(0x%08x,%p,0x%08x,%p) stub\n",
SystemInformationClass,SystemInformation,Length,ResultLength);
diff --git a/dlls/ntdll/tests/info.c b/dlls/ntdll/tests/info.c
index cdb91e1b73..b8feebd474 100644
--- a/dlls/ntdll/tests/info.c
+++ b/dlls/ntdll/tests/info.c
@@ -59,6 +59,12 @@ static DWORD one_before_last_pid = 0;
#define FIRM 0x4649524D
#define RSMB 0x52534D42
+#ifdef linux
+static const int firmware_todo = 0;
+#else
+static const int firmware_todo = 1;
+#endif
+
static BOOL InitFunctionPtrs(void)
{
/* All needed functions are NT based, so using GetModuleHandle is a good check */
@@ -840,13 +846,10 @@ static void test_query_firmware(void)
ok(!!sfti, "Failed to allocate memory\n");
status = pNtQuerySystemInformation(SystemFirmwareTableInformation, sfti, 15, &len1);
-todo_wine
ok(status == STATUS_INFO_LENGTH_MISMATCH, "Expected STATUS_INFO_LENGTH_MISMATCH, got %08x\n", status);
-todo_wine
ok(len1 == 16, "Expected length 16, got %u\n", len1);
status = pNtQuerySystemInformation(SystemFirmwareTableInformation, sfti, 16, &len1);
-todo_wine
ok(status == STATUS_NOT_IMPLEMENTED, "Expected STATUS_NOT_IMPLEMENTED, got %08x\n", status);
ok(len1 == 0, "Expected length 0, got %u\n", len1);
@@ -854,16 +857,15 @@ todo_wine
sfti->Action = SystemFirmwareTable_Get;
status = pNtQuerySystemInformation(SystemFirmwareTableInformation, sfti, 16, &len1);
-todo_wine
+todo_wine_if(firmware_todo)
ok(status == STATUS_BUFFER_TOO_SMALL, "Expected STATUS_BUFFER_TOO_SMALL, got %08x\n", status);
-todo_wine
ok(len1 >= 16, "Expected length >= 16, got %u\n", len1);
sfti = HeapReAlloc(GetProcessHeap(), 0, sfti, len1);
ok(!!sfti, "Failed to allocate memory\n");
status = pNtQuerySystemInformation(SystemFirmwareTableInformation, sfti, len1, &len2);
-todo_wine
+todo_wine_if(firmware_todo)
ok(status == STATUS_SUCCESS, "Expected STATUS_SUCCESS, got %08x\n", status);
ok(len2 == len1, "Expected length %u, got %u\n", len1, len2);
--
2.17.1
June 15, 2018