function DrupalWebTestCase::preloadRegistry

Preload the registry from the testing site.

This method is called by DrupalWebTestCase::setUp(), and preloads the registry from the testing site to cut down on the time it takes to set up a clean environment for the current test run.

1 call to DrupalWebTestCase::preloadRegistry()
DrupalWebTestCase::setUp in modules/simpletest/drupal_web_test_case.php
Sets up a Drupal site for running functional and integration tests.

File

modules/simpletest/drupal_web_test_case.php, line 1865

Class

DrupalWebTestCase
Test case for typical Drupal tests.

Code

protected function preloadRegistry() {
    // Use two separate queries, each with their own connections: copy the
    // {registry} and {registry_file} tables over from the parent installation
    // to the child installation.
    $original_connection = Database::getConnection('default', 'simpletest_original_default');
    $test_connection = Database::getConnection();
    foreach (array(
        'registry',
        'registry_file',
    ) as $table) {
        // Find the records from the parent database.
        $source_query = $original_connection->select($table, array(), array(
            'fetch' => PDO::FETCH_ASSOC,
        ))
            ->fields($table);
        $dest_query = $test_connection->insert($table);
        $first = TRUE;
        foreach ($source_query->execute() as $row) {
            if ($first) {
                $dest_query->fields(array_keys($row));
                $first = FALSE;
            }
            // Insert the records into the child database.
            $dest_query->values($row);
        }
        $dest_query->execute();
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.