• Michael Grunder's avatar
    Win32 tests and timeout fix (#776) · cc9d0329
    Michael Grunder authored
    Unit tests in Windows and a Windows timeout fix
    
    This commit gets our unit tests compiling and running on Windows as well as removes a duplicated `timeval` -> `DWORD` conversion logic in sockcompat.c 
    
    There are minor differences in behavior between Linux and Windows to note:
    
    1.  In Windows, opening a non-existent hangs forever in WSAPoll whereas
        it correctly returns with a "Connection refused" error on Linux.
        For that reason, I simply skip this test in Windows.
    
        It may be related to this known issue:
        https://daniel.haxx.se/blog/2012/10/10/wsapoll-is-broken/
    
    2.  Timeouts are handled slightly differently in Windows and Linux.  
        In Linux, we intentionally set REDIS_ERR_IO for connection
        timeouts whereas in Windows we set REDIS_ERR_TIMEOUT.  It may be
        prudent to fix this discrepancy although there are almost certainly
        users relying on the current behavior.
    cc9d0329
test.c 36.8 KB