SimpleTest module needs to load each individual .test file in order to get information about the test. In Drupal each test includes a static getInfo() method to give the test a name, description, and group.

This means however that in Drupal PHP must actually parse the entire .test file to call the getInfo() methods, and that every .test file in the entire system must be parsed in order to display a list of tests. In Drupal 8 for instance, displaying the list of tests requires over 150MB of memory!

To solve this problem, information about tests have been moved to a separate [modulename] file which allows Backdrop to get a list of tests extremely quickly, with a very small memory footprint (exactly the same thing we do for modules).

In addition, the existing .info syntax (for files, not for files) was amended to support INI-style "sections".

Drupal 7 (in book.test file):

class BookTestCase extends DrupalWebTestCase {
  // ...
  public static function getInfo() {
    return array(
      'name' => 'Book functionality',
      'description' => 'Create a book, add pages, and test book interface.',
      'group' => 'Book',
  // ...

Backdrop (in

name = Book functionality
description = Create a book, add pages, and test book interface.
group = Book
file = book.test

name = Other functionality
description = Other description
group = Book
file = book.test

name = Yet more functionality
description = Yet another description
group = Book
file = tests/yet_another.test
Introduced in branch: 
Introduced in version: 
Module developers
Related Github Issues: