Uploaded image for project: 'C Driver'
  1. C Driver
  2. CDRIVER-2534

Add test overrides for connect and recv to allow configurable delays

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Gone away
    • Icon: Major - P3 Major - P3
    • 1.10.0
    • None
    • None
    • None

    Description

      The implementation of IPv6 (CDRIVER-1972) first tries connecting with IPv6, and if the connect call has not completed by 250ms the connection for IPv4 is started.

      When testing, we needed to simulate the behavior of a connect call not completing for some delay. The current solution is to have a the mock server bind to a port, and delay before calling listen. This prevents the client connect from completing, but does not refuse the connection on macOS. On Linux this doesn't work, and instead clients are refused immediately while the server is not listening.

      An alternative is to use LD_PRELOAD hooks to swap out connect() and recv() with functions that have configurable delays. See Initial DNS Seedlist Discovery tests for more info on using LD_PRELOAD

      Attachments

        Activity

          People

            kevin.albertson@mongodb.com Kevin Albertson
            kevin.albertson@mongodb.com Kevin Albertson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: