Open Hour 2020-APR-02

January 23, 2021 - slangadmin

Agenda

  • 3000.1 status
  • PR Backlog Updates
  • Testing Clinic
  • Community Questions

Community Updates

Cassandra Faris

  • Virtual meetup every Wednesday starting April 15, times and topics vary to allow more people to participate. If you’re interested in speaking or have topic suggestions, contact Cassandra.
  • Twitch stream is active and streaming regularly. Follow saltstackinc on Twitch.

Salt Updates

3000.1 Release and Sodium

Megan Wilhite

PR Analysis & Backlog Status

Gareth Greenaway & Sage Robins

  • 494 outstanding items (down from ~900), ~200 can be automated.
  • PRs Assigned Dashboard has been created to help us prioritize

Testing Clinic

Gareth Greenaway & Wayne Werner

Terminology

  • Unit Test: Testing a specific chunk of code. Not necessary that it mocks out different bits & pieces of external code, but is possible. In the current code base, many unit tests do mock things out.
    • Drawbacks: May not be testing the code completely, danger of mocking too much, can freeze implementation if the test mocks too many things.
    • Benefits: Fast, everything is in memory, specific telling exactly what the problem is, The majority of our tests.
  • Functional Test: Testing anything that’s talking to a database, the disc, an underlying file system, or an actual command.
    • Drawbacks: Slower because disc and network access is slow, not absolutely complete.
    • Benefits: Exposes if something on the underlying system changed.
  • Integration Test: Use case – You have a Master and minion/set of minons or salt SSH – have full environment set up and so you’re doing the round trip communication.
    • They should have a very specific purpose.
    • Provides full confidence that we’re releasing bug-free.
  • When bugs are seen in the wild, we should write integration tests that capture that bug so we know we’re not breaking that flow. Eventually, enough integration tests will exist that we will have bug-free code.

Working Through Tests for the remainder of the meeting.

  • Get started by referencing PRs Port to Master Project Board, go to filter and search by label: “Needs Testcase”. These PRs are waiting on tests then can be ported to Master.
  • We write tests because it helps us shift the best, most bug-free Salt that we can.
  • Join Testing Working Group for more collaboration opportunities.
  • Video walkthrough of Tests: https://www.youtube.com/watch?v=FKrmf7-qrfA.