3 // This file is loaded on all systems running tests. To override settings on
4 // your local system, please create "civicrm.settings.local.php" and put
7 //--- you shouldn't have to modify anything under this line, but might want to put the compiled templates CIVICRM_TEMPLATE_COMPILEDIR in a different folder than our default location ----------
9 if ( ! defined( 'CIVICRM_DSN' ) && ! empty( $GLOBALS['mysql_user'] ) ) {
10 $dbName = ! empty( $GLOBALS['mysql_db'] ) ?
$GLOBALS['mysql_db'] : 'civicrm_tests_dev';
11 define( 'CIVICRM_DSN' , "mysql://{$GLOBALS['mysql_user']}:{$GLOBALS['mysql_pass']}@{$GLOBALS['mysql_host']}/{$dbName}?new_link=true" );
15 if (!defined("CIVICRM_DSN")) {
16 $dsn= getenv("CIVICRM_TEST_DSN");
18 define("CIVICRM_DSN",$dsn);
20 echo "\nFATAL: no DB connection configured (CIVICRM_DSN). \nYou can either create/edit " . __DIR__
. "/civicrm.settings.local.php\n";
21 if (strtoupper(substr(PHP_OS
, 0, 3)) !== 'WIN') {
22 echo "OR set it in your shell:\n \$export CIVICRM_TEST_DSN=mysql://db_username:db_password@localhost/civicrm_tests_dev \n";
24 echo "OR set it in your shell:\n SETX CIVICRM_TEST_DSN mysql://db_username:db_password@localhost/civicrm_tests_dev \n
25 (you will need to open a new command shell before it takes effect)";
28 If you haven't done so already, you need to create (once) a database dedicated to the unit tests:
30 create database civicrm_tests_dev;
31 grant ALL on civicrm_tests_dev.* to db_username@localhost identified by 'db_password';
32 grant SUPER on *.* to db_username@localhost identified by 'db_password';\n";
38 require_once "DB.php";
39 $dsninfo = DB
::parseDSN(CIVICRM_DSN
);
41 $GLOBALS['mysql_host'] = $dsninfo['hostspec'];
42 $GLOBALS['mysql_user'] = $dsninfo['username'];
43 $GLOBALS['mysql_pass'] = $dsninfo['password'];
44 $GLOBALS['mysql_db'] = $dsninfo['database'];
48 * Content Management System (CMS) Host:
50 * CiviCRM can be hosted in either Drupal, Joomla or WordPress.
52 define('CIVICRM_UF', 'UnitTests');
56 if (empty($civicrm_root)) {
57 $civicrm_root = dirname (dirname (dirname (dirname( __FILE__
) )));
59 #$civicrm_root = '/var/www/drupal7.dev.civicrm.org/public/sites/devel.drupal7.tests.dev.civicrm.org/modules/civicrm';
61 // set this to a temporary directory. it defaults to /tmp/civi on linux
62 //define( 'CIVICRM_TEMPLATE_COMPILEDIR', 'the/absolute/path/' );
64 if (!defined("CIVICRM_TEMPLATE_COMPILEDIR")) {
65 if (strtoupper(substr(PHP_OS
, 0, 3)) === 'WIN') {
66 define( 'CIVICRM_TEMPLATE_COMPILEDIR', getenv ('TMP') . DIRECTORY_SEPARATOR
. 'civi' . DIRECTORY_SEPARATOR
);
68 define( 'CIVICRM_TEMPLATE_COMPILEDIR', '/tmp/civi/' );
72 define( 'CIVICRM_SITE_KEY', 'phpunittestfakekey' );
77 * This section defines absolute and relative URLs to access the host CMS (Drupal or Joomla) resources.
79 * IMPORTANT: Trailing slashes should be used on all URL settings.
82 * EXAMPLE - Drupal Installations:
83 * If your site's home url is http://www.example.com/drupal/
84 * these variables would be set as below. Modify as needed for your install.
86 * CIVICRM_UF_BASEURL - home URL for your site:
87 * define( 'CIVICRM_UF_BASEURL' , 'http://www.example.com/drupal/' );
89 * EXAMPLE - Joomla Installations:
90 * If your site's home url is http://www.example.com/joomla/
92 * CIVICRM_UF_BASEURL - home URL for your site:
93 * Administration site:
94 * define( 'CIVICRM_UF_BASEURL' , 'http://www.example.com/joomla/administrator/' );
96 * define( 'CIVICRM_UF_BASEURL' , 'http://www.example.com/joomla/' );
99 if (!defined('CIVICRM_UF_BASEURL')) {
100 define( 'CIVICRM_UF_BASEURL' , 'http://FIX ME' );
104 * Configure MySQL to throw more errors when encountering unusual SQL expressions.
106 * If undefined, the value is determined automatically. For CiviCRM tarballs, it defaults
107 * to FALSE; for SVN checkouts, it defaults to TRUE.
109 define('CIVICRM_MYSQL_STRICT', TRUE);
113 * Do not change anything below this line. Keep as is
117 $include_path = '.' . PATH_SEPARATOR
.
118 $civicrm_root . PATH_SEPARATOR
.
119 $civicrm_root . DIRECTORY_SEPARATOR
. 'packages' . PATH_SEPARATOR
.
121 set_include_path( $include_path );
123 if ( function_exists( 'variable_get' ) && variable_get('clean_url', '0') != '0' ) {
124 define( 'CIVICRM_CLEANURL', 1 );
126 define( 'CIVICRM_CLEANURL', 0 );
129 // force PHP to auto-detect Mac line endings
130 ini_set('auto_detect_line_endings', '1');
132 // make sure the memory_limit is at least 64 MB
133 $memLimitString = trim(ini_get('memory_limit'));
134 $memLimitUnit = strtolower(substr($memLimitString, -1));
135 $memLimit = (int) $memLimitString;
136 switch ($memLimitUnit) {
137 case 'g': $memLimit *= 1024;
138 case 'm': $memLimit *= 1024;
139 case 'k': $memLimit *= 1024;
141 if ($memLimit >= 0 and $memLimit < 67108864) {
142 ini_set('memory_limit', '64M');
145 require_once 'CRM/Core/ClassLoader.php';
146 CRM_Core_ClassLoader
::singleton()->register();