cabinet: Make the fdi tests pass on Vista.
This commit is contained in:
parent
6d59ddf67b
commit
0edae1c9ea
|
@ -92,10 +92,6 @@ static void test_FDICreate(void)
|
||||||
HFDI hfdi;
|
HFDI hfdi;
|
||||||
ERF erf;
|
ERF erf;
|
||||||
|
|
||||||
erf.erfOper = 0xcafefeed;
|
|
||||||
erf.erfType = 0xdeadbabe;
|
|
||||||
erf.fError = 0xdecaface;
|
|
||||||
|
|
||||||
/* native crashes if pfnalloc is NULL */
|
/* native crashes if pfnalloc is NULL */
|
||||||
|
|
||||||
/* FDICreate does not crash with a NULL pfnfree,
|
/* FDICreate does not crash with a NULL pfnfree,
|
||||||
|
@ -104,6 +100,9 @@ static void test_FDICreate(void)
|
||||||
if (0)
|
if (0)
|
||||||
{
|
{
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
|
erf.erfOper = 0xcafefeed;
|
||||||
|
erf.erfType = 0xdeadbabe;
|
||||||
|
erf.fError = 0xdecaface;
|
||||||
hfdi = FDICreate(fdi_alloc, NULL, fdi_open, fdi_read,
|
hfdi = FDICreate(fdi_alloc, NULL, fdi_open, fdi_read,
|
||||||
fdi_write, fdi_close, fdi_seek,
|
fdi_write, fdi_close, fdi_seek,
|
||||||
cpuUNKNOWN, &erf);
|
cpuUNKNOWN, &erf);
|
||||||
|
@ -118,99 +117,121 @@ static void test_FDICreate(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
|
erf.erfOper = 0xcafefeed;
|
||||||
|
erf.erfType = 0xdeadbabe;
|
||||||
|
erf.fError = 0xdecaface;
|
||||||
hfdi = FDICreate(fdi_alloc, fdi_free, NULL, fdi_read,
|
hfdi = FDICreate(fdi_alloc, fdi_free, NULL, fdi_read,
|
||||||
fdi_write, fdi_close, fdi_seek,
|
fdi_write, fdi_close, fdi_seek,
|
||||||
cpuUNKNOWN, &erf);
|
cpuUNKNOWN, &erf);
|
||||||
ok(hfdi != NULL, "Expected non-NULL context\n");
|
ok(hfdi != NULL, "Expected non-NULL context\n");
|
||||||
ok(GetLastError() == 0xdeadbeef,
|
ok(GetLastError() == 0xdeadbeef,
|
||||||
"Expected 0xdeadbeef, got %d\n", GetLastError());
|
"Expected 0xdeadbeef, got %d\n", GetLastError());
|
||||||
ok(erf.erfOper == 0xcafefeed, "Expected 0xcafefeed, got %d\n", erf.erfOper);
|
ok((erf.erfOper == 0xcafefeed || erf.erfOper == 0 /* Vista */), "Expected 0xcafefeed or 0, got %d\n", erf.erfOper);
|
||||||
ok(erf.erfType == 0xdeadbabe, "Expected 0xdeadbabe, got %d\n", erf.erfType);
|
ok((erf.erfType == 0xdeadbabe || erf.erfType == 0 /* Vista */), "Expected 0xdeadbabe or 0, got %d\n", erf.erfType);
|
||||||
ok(erf.fError == 0xdecaface, "Expected 0xdecaface, got %d\n", erf.fError);
|
ok((erf.fError == 0xdecaface || erf.fError == 0 /* Vista */), "Expected 0xdecaface or 0, got %d\n", erf.fError);
|
||||||
|
|
||||||
FDIDestroy(hfdi);
|
FDIDestroy(hfdi);
|
||||||
|
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
|
erf.erfOper = 0xcafefeed;
|
||||||
|
erf.erfType = 0xdeadbabe;
|
||||||
|
erf.fError = 0xdecaface;
|
||||||
hfdi = FDICreate(fdi_alloc, fdi_free, fdi_open, NULL,
|
hfdi = FDICreate(fdi_alloc, fdi_free, fdi_open, NULL,
|
||||||
fdi_write, fdi_close, fdi_seek,
|
fdi_write, fdi_close, fdi_seek,
|
||||||
cpuUNKNOWN, &erf);
|
cpuUNKNOWN, &erf);
|
||||||
ok(hfdi != NULL, "Expected non-NULL context\n");
|
ok(hfdi != NULL, "Expected non-NULL context\n");
|
||||||
ok(GetLastError() == 0xdeadbeef,
|
ok(GetLastError() == 0xdeadbeef,
|
||||||
"Expected 0xdeadbeef, got %d\n", GetLastError());
|
"Expected 0xdeadbeef, got %d\n", GetLastError());
|
||||||
ok(erf.erfOper == 0xcafefeed, "Expected 0xcafefeed, got %d\n", erf.erfOper);
|
ok((erf.erfOper == 0xcafefeed || erf.erfOper == 0 /* Vista */), "Expected 0xcafefeed or 0, got %d\n", erf.erfOper);
|
||||||
ok(erf.erfType == 0xdeadbabe, "Expected 0xdeadbabe, got %d\n", erf.erfType);
|
ok((erf.erfType == 0xdeadbabe || erf.erfType == 0 /* Vista */), "Expected 0xdeadbabe or 0, got %d\n", erf.erfType);
|
||||||
ok(erf.fError == 0xdecaface, "Expected 0xdecaface, got %d\n", erf.fError);
|
ok((erf.fError == 0xdecaface || erf.fError == 0 /* Vista */), "Expected 0xdecaface or 0, got %d\n", erf.fError);
|
||||||
|
|
||||||
FDIDestroy(hfdi);
|
FDIDestroy(hfdi);
|
||||||
|
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
|
erf.erfOper = 0xcafefeed;
|
||||||
|
erf.erfType = 0xdeadbabe;
|
||||||
|
erf.fError = 0xdecaface;
|
||||||
hfdi = FDICreate(fdi_alloc, fdi_free, fdi_open, fdi_read,
|
hfdi = FDICreate(fdi_alloc, fdi_free, fdi_open, fdi_read,
|
||||||
NULL, fdi_close, fdi_seek,
|
NULL, fdi_close, fdi_seek,
|
||||||
cpuUNKNOWN, &erf);
|
cpuUNKNOWN, &erf);
|
||||||
ok(hfdi != NULL, "Expected non-NULL context\n");
|
ok(hfdi != NULL, "Expected non-NULL context\n");
|
||||||
ok(GetLastError() == 0xdeadbeef,
|
ok(GetLastError() == 0xdeadbeef,
|
||||||
"Expected 0xdeadbeef, got %d\n", GetLastError());
|
"Expected 0xdeadbeef, got %d\n", GetLastError());
|
||||||
ok(erf.erfOper == 0xcafefeed, "Expected 0xcafefeed, got %d\n", erf.erfOper);
|
ok((erf.erfOper == 0xcafefeed || erf.erfOper == 0 /* Vista */), "Expected 0xcafefeed or 0, got %d\n", erf.erfOper);
|
||||||
ok(erf.erfType == 0xdeadbabe, "Expected 0xdeadbabe, got %d\n", erf.erfType);
|
ok((erf.erfType == 0xdeadbabe || erf.erfType == 0 /* Vista */), "Expected 0xdeadbabe or 0, got %d\n", erf.erfType);
|
||||||
ok(erf.fError == 0xdecaface, "Expected 0xdecaface, got %d\n", erf.fError);
|
ok((erf.fError == 0xdecaface || erf.fError == 0 /* Vista */), "Expected 0xdecaface or 0, got %d\n", erf.fError);
|
||||||
|
|
||||||
FDIDestroy(hfdi);
|
FDIDestroy(hfdi);
|
||||||
|
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
|
erf.erfOper = 0xcafefeed;
|
||||||
|
erf.erfType = 0xdeadbabe;
|
||||||
|
erf.fError = 0xdecaface;
|
||||||
hfdi = FDICreate(fdi_alloc, fdi_free, fdi_open, fdi_read,
|
hfdi = FDICreate(fdi_alloc, fdi_free, fdi_open, fdi_read,
|
||||||
fdi_write, NULL, fdi_seek,
|
fdi_write, NULL, fdi_seek,
|
||||||
cpuUNKNOWN, &erf);
|
cpuUNKNOWN, &erf);
|
||||||
ok(hfdi != NULL, "Expected non-NULL context\n");
|
ok(hfdi != NULL, "Expected non-NULL context\n");
|
||||||
ok(GetLastError() == 0xdeadbeef,
|
ok(GetLastError() == 0xdeadbeef,
|
||||||
"Expected 0xdeadbeef, got %d\n", GetLastError());
|
"Expected 0xdeadbeef, got %d\n", GetLastError());
|
||||||
ok(erf.erfOper == 0xcafefeed, "Expected 0xcafefeed, got %d\n", erf.erfOper);
|
ok((erf.erfOper == 0xcafefeed || erf.erfOper == 0 /* Vista */), "Expected 0xcafefeed or 0, got %d\n", erf.erfOper);
|
||||||
ok(erf.erfType == 0xdeadbabe, "Expected 0xdeadbabe, got %d\n", erf.erfType);
|
ok((erf.erfType == 0xdeadbabe || erf.erfType == 0 /* Vista */), "Expected 0xdeadbabe or 0, got %d\n", erf.erfType);
|
||||||
ok(erf.fError == 0xdecaface, "Expected 0xdecaface, got %d\n", erf.fError);
|
ok((erf.fError == 0xdecaface || erf.fError == 0 /* Vista */), "Expected 0xdecaface or 0, got %d\n", erf.fError);
|
||||||
|
|
||||||
FDIDestroy(hfdi);
|
FDIDestroy(hfdi);
|
||||||
|
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
|
erf.erfOper = 0xcafefeed;
|
||||||
|
erf.erfType = 0xdeadbabe;
|
||||||
|
erf.fError = 0xdecaface;
|
||||||
hfdi = FDICreate(fdi_alloc, fdi_free, fdi_open, fdi_read,
|
hfdi = FDICreate(fdi_alloc, fdi_free, fdi_open, fdi_read,
|
||||||
fdi_write, fdi_close, NULL,
|
fdi_write, fdi_close, NULL,
|
||||||
cpuUNKNOWN, &erf);
|
cpuUNKNOWN, &erf);
|
||||||
ok(hfdi != NULL, "Expected non-NULL context\n");
|
ok(hfdi != NULL, "Expected non-NULL context\n");
|
||||||
ok(GetLastError() == 0xdeadbeef,
|
ok(GetLastError() == 0xdeadbeef,
|
||||||
"Expected 0xdeadbeef, got %d\n", GetLastError());
|
"Expected 0xdeadbeef, got %d\n", GetLastError());
|
||||||
ok(erf.erfOper == 0xcafefeed, "Expected 0xcafefeed, got %d\n", erf.erfOper);
|
ok((erf.erfOper == 0xcafefeed || erf.erfOper == 0 /* Vista */), "Expected 0xcafefeed or 0, got %d\n", erf.erfOper);
|
||||||
ok(erf.erfType == 0xdeadbabe, "Expected 0xdeadbabe, got %d\n", erf.erfType);
|
ok((erf.erfType == 0xdeadbabe || erf.erfType == 0 /* Vista */), "Expected 0xdeadbabe or 0, got %d\n", erf.erfType);
|
||||||
ok(erf.fError == 0xdecaface, "Expected 0xdecaface, got %d\n", erf.fError);
|
ok((erf.fError == 0xdecaface || erf.fError == 0 /* Vista */), "Expected 0xdecaface or 0, got %d\n", erf.fError);
|
||||||
|
|
||||||
FDIDestroy(hfdi);
|
FDIDestroy(hfdi);
|
||||||
|
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
|
erf.erfOper = 0xcafefeed;
|
||||||
|
erf.erfType = 0xdeadbabe;
|
||||||
|
erf.fError = 0xdecaface;
|
||||||
hfdi = FDICreate(fdi_alloc, fdi_free, fdi_open, fdi_read,
|
hfdi = FDICreate(fdi_alloc, fdi_free, fdi_open, fdi_read,
|
||||||
fdi_write, fdi_close, fdi_seek,
|
fdi_write, fdi_close, fdi_seek,
|
||||||
cpuUNKNOWN, NULL);
|
cpuUNKNOWN, NULL);
|
||||||
ok(hfdi != NULL, "Expected non-NULL context\n");
|
/* XP sets hfdi to a non-NULL value, but Vista sets it to NULL! */
|
||||||
ok(GetLastError() == 0xdeadbeef,
|
ok(GetLastError() == 0xdeadbeef,
|
||||||
"Expected 0xdeadbeef, got %d\n", GetLastError());
|
"Expected 0xdeadbeef, got %d\n", GetLastError());
|
||||||
ok(erf.erfOper == 0xcafefeed, "Expected 0xcafefeed, got %d\n", erf.erfOper);
|
/* NULL is passed to FDICreate instead of &erf, so don't retest the erf member values. */
|
||||||
ok(erf.erfType == 0xdeadbabe, "Expected 0xdeadbabe, got %d\n", erf.erfType);
|
|
||||||
ok(erf.fError == 0xdecaface, "Expected 0xdecaface, got %d\n", erf.fError);
|
|
||||||
|
|
||||||
FDIDestroy(hfdi);
|
FDIDestroy(hfdi);
|
||||||
|
|
||||||
/* bad cpu type */
|
/* bad cpu type */
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
|
erf.erfOper = 0xcafefeed;
|
||||||
|
erf.erfType = 0xdeadbabe;
|
||||||
|
erf.fError = 0xdecaface;
|
||||||
hfdi = FDICreate(fdi_alloc, fdi_free, fdi_open, fdi_read,
|
hfdi = FDICreate(fdi_alloc, fdi_free, fdi_open, fdi_read,
|
||||||
fdi_write, fdi_close, fdi_seek,
|
fdi_write, fdi_close, fdi_seek,
|
||||||
0xcafebabe, &erf);
|
0xcafebabe, &erf);
|
||||||
ok(hfdi != NULL, "Expected non-NULL context\n");
|
ok(hfdi != NULL, "Expected non-NULL context\n");
|
||||||
ok(GetLastError() == 0xdeadbeef,
|
ok(GetLastError() == 0xdeadbeef,
|
||||||
"Expected 0xdeadbeef, got %d\n", GetLastError());
|
"Expected 0xdeadbeef, got %d\n", GetLastError());
|
||||||
ok(erf.erfOper == 0xcafefeed, "Expected 0xcafefeed, got %d\n", erf.erfOper);
|
ok((erf.erfOper == 0xcafefeed || erf.erfOper == 0 /* Vista */), "Expected 0xcafefeed or 0, got %d\n", erf.erfOper);
|
||||||
ok(erf.erfType == 0xdeadbabe, "Expected 0xdeadbabe, got %d\n", erf.erfType);
|
ok((erf.erfType == 0xdeadbabe || erf.erfType == 0 /* Vista */), "Expected 0xdeadbabe or 0, got %d\n", erf.erfType);
|
||||||
ok(erf.fError == 0xdecaface, "Expected 0xdecaface, got %d\n", erf.fError);
|
ok((erf.fError == 0xdecaface || erf.fError == 0 /* Vista */), "Expected 0xdecaface or 0, got %d\n", erf.fError);
|
||||||
|
|
||||||
FDIDestroy(hfdi);
|
FDIDestroy(hfdi);
|
||||||
|
|
||||||
/* pfnalloc fails */
|
/* pfnalloc fails */
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
|
erf.erfOper = 0xcafefeed;
|
||||||
|
erf.erfType = 0xdeadbabe;
|
||||||
|
erf.fError = 0xdecaface;
|
||||||
hfdi = FDICreate(fdi_alloc_bad, fdi_free, fdi_open, fdi_read,
|
hfdi = FDICreate(fdi_alloc_bad, fdi_free, fdi_open, fdi_read,
|
||||||
fdi_write, fdi_close, fdi_seek,
|
fdi_write, fdi_close, fdi_seek,
|
||||||
cpuUNKNOWN, &erf);
|
cpuUNKNOWN, &erf);
|
||||||
|
|
Loading…
Reference in New Issue