CASA Commit Tests

Status: INCOMPLETE DRAFT

Definition

Commit tests are automated tests used to verify small pieces of code work correctly before being integrated with other code.

Purpose

Requirements

  • CASA Commit tests shall meet all requirements for CASA Automated Tests.
  • CASA Developers shall control which tests are run as commit tests.

Reccomendations

  • Commit tests should run quickly.
    • Quickly is defined as what CASA developers find acceptable.
      • Note: An industry convention is to run unit tests as commit tests, and require all commit tests for a "subsystem" to run in less than 5 minutes on a mid-range developer computer. In this context casacore, code, and asap are subsystems.
      • Note: existing CASA tests implemented as described in UNIT TESTS OF CASA TASKS do not fit conventional definitions of unit tests. As implemented, these fit the conventional definitions of Acceptance tests.
  • CASA developers should update their copy of the subsystem they are working in and ensure it builds and passes commit tests in that subsystem before committing their changes.

Work Required

  • Add CMake support for identifying commit tests and adding them to the "make test" target.
  • Add project support for conventional definitions of unit tests.
  • Assist developers in identifying existing tests as commit tests.

Notes

  • casacore and asap developers already control which tests run from the "make test" target in their build systems.

-- ScottRankin - 2011-12-30
Topic revision: r7 - 2012-01-11, ScottRankin
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding NRAO Public Wiki? Send feedback