Change record status: 
Project: 
Introduced in branch: 
10.1.x
Introduced in version: 
10.1.0
Description: 

Before D10.1, managing results of test runs in legacy {simpletest} tables was spread around different classes and functions. With the removal of the simpletest module, there was a clear cut but no refactoring of the leftover.

In order to prepare for final removal of simpletest-isms from the code base, in D10.1:

  • Test runners (only run-test.sh at the moment) run tests opening TestRun objects that have state and an execution log.
  • TestDatabase objects only care about setting up the SUT database, not the results logging.
  • Each TestRun object is associated with a TestRunResultsStorageInterface object, which responsibility is to store permanently the state and execution log of each test run. This interface is storage agnostic, implementations could use a database or anything else.
  • SimpletestTestRunResultsStorage is at the moment the only implementation of TestRunResultsStorageInterface, which uses the database and the legacy {simpletest} and {simpletest_test_id} tables for the purpose.

This change only impacts advanced testing uses where alternative test runner frameworks are needed.

Impacts: 
Module developers