diff --git a/appveyor.yml b/appveyor.yml index 8d905103..886d1d51 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -22,5 +22,5 @@ build_script: test_script: - for %%f in ("build\VStudio\build\%CONFIGURATION%\winfsp-*.msi") do start /wait msiexec /i %%f /qn INSTALLLEVEL=1000 -- build\VStudio\build\%CONFIGURATION%\winfsp-tests-x64.exe -lock* -- build\VStudio\build\%CONFIGURATION%\winfsp-tests-x86.exe -lock* +- build\VStudio\build\%CONFIGURATION%\winfsp-tests-x64.exe +- build\VStudio\build\%CONFIGURATION%\winfsp-tests-x86.exe diff --git a/tst/winfsp-tests/lock-test.c b/tst/winfsp-tests/lock-test.c index 1ab97300..ce8a5b1b 100644 --- a/tst/winfsp-tests/lock-test.c +++ b/tst/winfsp-tests/lock-test.c @@ -276,14 +276,20 @@ static void lock_overlapped_dotest(ULONG Flags, PWSTR VolPrefix, PWSTR Prefix, U Success = LockFileEx(Handle, LOCKFILE_EXCLUSIVE_LOCK | LOCKFILE_FAIL_IMMEDIATELY, 0, BytesPerSector, 0, &Overlapped); ASSERT(Success || ERROR_IO_PENDING == GetLastError() || ERROR_LOCK_VIOLATION == GetLastError()); - Success = GetOverlappedResult(Handle, &Overlapped, &BytesTransferred, TRUE); - ASSERT(!Success && ERROR_LOCK_VIOLATION == GetLastError()); + if (ERROR_LOCK_VIOLATION != GetLastError()) + { + Success = GetOverlappedResult(Handle, &Overlapped, &BytesTransferred, TRUE); + ASSERT(!Success && ERROR_LOCK_VIOLATION == GetLastError()); + } Overlapped.Offset = 0; Success = WriteFile(Handle, Buffer[0], BytesPerSector, &BytesTransferred, &Overlapped); ASSERT(Success || ERROR_IO_PENDING == GetLastError() || ERROR_LOCK_VIOLATION == GetLastError()); - Success = GetOverlappedResult(Handle, &Overlapped, &BytesTransferred, TRUE); - ASSERT(!Success && ERROR_LOCK_VIOLATION == GetLastError()); + if (ERROR_LOCK_VIOLATION != GetLastError()) + { + Success = GetOverlappedResult(Handle, &Overlapped, &BytesTransferred, TRUE); + ASSERT(!Success && ERROR_LOCK_VIOLATION == GetLastError()); + } Overlapped.Offset = BytesPerSector / 2; Success = UnlockFileEx(Handle, 0, BytesPerSector, 0, &Overlapped);