original_string: public static function install_site() {
          global $DB, $CFG;
  
          if (!self::is_test_site()) {
              phpunit_bootstrap_error(PHPUNIT_EXITCODE_CONFIGERROR, 'Can not install on non-test site!!');
          }
  
          if ($DB->get_tables()) {
              list($errorcode, $message) = self::testing_ready_problem();
              if ($errorcode) {
                  phpunit_bootstrap_error(PHPUNIT_EXITCODE_REINSTALL, 'Database tables already present, Moodle PHPUnit test environment can not be initialised');
              } else {
                  phpunit_bootstrap_error(0, 'Moodle PHPUnit test environment is already initialised');
              }
          }
  
          $options = array();
          $options['adminpass'] = 'admin';
          $options['shortname'] = 'phpunit';
          $options['fullname'] = 'PHPUnit test site';
  
          install_cli_database($options, false);
  
          // Set the admin email address.
          $DB->set_field('user', 'email', 'admin@example.com', array('username' => 'admin'));
  
          // Disable all logging for performance and sanity reasons.
          set_config('enabled_stores', '', 'tool_log');
  
          // We need to keep the installed dataroot filedir files.
          // So each time we reset the dataroot before running a test, the default files are still installed.
          self::save_original_data_files();
  
          // Store version hash in the database and in a file.
          self::store_versions_hash();
  
          // Store database data and structure.
          self::store_database_state();
      }
code: public static function install_site() {
          global $DB, $CFG;
  
          if (!self::is_test_site()) {
              phpunit_bootstrap_error(PHPUNIT_EXITCODE_CONFIGERROR, 'Can not install on non-test site!!');
          }
  
          if ($DB->get_tables()) {
              list($errorcode, $message) = self::testing_ready_problem();
              if ($errorcode) {
                  phpunit_bootstrap_error(PHPUNIT_EXITCODE_REINSTALL, 'Database tables already present, Moodle PHPUnit test environment can not be initialised');
              } else {
                  phpunit_bootstrap_error(0, 'Moodle PHPUnit test environment is already initialised');
              }
          }
  
          $options = array();
          $options['adminpass'] = 'admin';
          $options['shortname'] = 'phpunit';
          $options['fullname'] = 'PHPUnit test site';
  
          install_cli_database($options, false);
  
          // Set the admin email address.
          $DB->set_field('user', 'email', 'admin@example.com', array('username' => 'admin'));
  
          // Disable all logging for performance and sanity reasons.
          set_config('enabled_stores', '', 'tool_log');
  
          // We need to keep the installed dataroot filedir files.
          // So each time we reset the dataroot before running a test, the default files are still installed.
          self::save_original_data_files();
  
          // Store version hash in the database and in a file.
          self::store_versions_hash();
  
          // Store database data and structure.
          self::store_database_state();
      }
code_tokens: public static function install_site ( ) { global $ DB , $ CFG ; if ( ! self :: is_test_site ( ) ) { phpunit_bootstrap_error ( PHPUNIT_EXITCODE_CONFIGERROR , 'Can not install on non-test site!!' ) ; } if ( $ DB -> get_tables ( ) ) { list ( $ errorcode , $ message ) = self :: testing_ready_problem ( ) ; if ( $ errorcode ) { phpunit_bootstrap_error ( PHPUNIT_EXITCODE_REINSTALL , 'Database tables already present, Moodle PHPUnit test environment can not be initialised' ) ; } else { phpunit_bootstrap_error ( 0 , 'Moodle PHPUnit test environment is already initialised' ) ; } } $ options = array ( ) ; $ options [ 'adminpass' ] = 'admin' ; $ options [ 'shortname' ] = 'phpunit' ; $ options [ 'fullname' ] = 'PHPUnit test site' ; install_cli_database ( $ options , false ) ; // Set the admin email address. $ DB -> set_field ( 'user' , 'email' , 'admin@example.com' , array ( 'username' => 'admin' ) ) ; // Disable all logging for performance and sanity reasons. set_config ( 'enabled_stores' , '' , 'tool_log' ) ; // We need to keep the installed dataroot filedir files. // So each time we reset the dataroot before running a test, the default files are still installed. self :: save_original_data_files ( ) ; // Store version hash in the database and in a file. self :: store_versions_hash ( ) ; // Store database data and structure. self :: store_database_state ( ) ; }
docstring: Perform a fresh test site installation
  
  Note: To be used from CLI scripts only.
  
  @static
  @return void may terminate execution with exit code
docstring_tokens: Perform a fresh test site installation