Uploaded image for project: 'Go Driver'
  1. Go Driver
  2. GODRIVER-2100

Audit and improve the existing test suite

    • Type: Icon: Epic Epic
    • Resolution: Done
    • Priority: Icon: Minor - P4 Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: Testing
    • Labels:
    • Not Needed

      Summary

      With the creation of a new testing policy, we should give some attention to our testing suite. This epic contains a number of testing QOL improvements and tasks.

      The following is a subset of the tasks in the epic and their potential improvements to the driver. Improving the testing suite will make development on the Go driver both faster and of higher quality.

      Improvement Impact
      Refactor mtest.T mtest code would be easier to use and less bloated
      Document testing practices Both Mongo developers and external contributors would have public resources to write good Go driver tests with consistent style
      Enable data-race detector Data races would be (in some cases) immediately discovered instead of creating difficult-to-debug issues down the line
      Improve how topologies are tested Opting out of topologies instead of in may provide significantly more test coverage with new tests
      Use testing.Short to skip longer tests A meaningful subset of the testing suite would be far easier to run locally

      Motivation

      Who is the affected end user?

      Developers contributing to the Go driver.

      How does this affect the end user?

      The testing suite has some inconsistencies and key areas for improvement. 

      Is this issue urgent?

      Evaluating the performance of our driver has come up recently and being more clear in/adherent to our testing policy is important.

      Is this ticket required by a downstream team?

      No.

      Is this ticket only for tests?

      Yes.

       

            Assignee:
            benji.rewis@mongodb.com Benji Rewis (Inactive)
            Reporter:
            benji.rewis@mongodb.com Benji Rewis (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: