summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Andreev <narf@devilix.net>2021-12-20 14:47:39 +0100
committerAndrey Andreev <narf@devilix.net>2021-12-20 14:51:13 +0100
commit74384ca7f88913b87e982696bb5cb3eb5593c451 (patch)
tree3a17b60268a1869c6ee42468153a34020c2a11ac
parentd9218efec1d89e9d633b73f367bcc7b676400621 (diff)
Merge pull request #6074 from philsturgeon/ci3-php8
CodeIgniter 3.0 on PHP 8
-rw-r--r--composer.json8
-rw-r--r--system/core/Output.php10
-rw-r--r--system/database/DB_driver.php2
-rw-r--r--system/database/drivers/pdo/pdo_driver.php8
-rw-r--r--system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php7
-rw-r--r--tests/codeigniter/core/Loader_test.php39
-rw-r--r--tests/codeigniter/core/Security_test.php2
-rw-r--r--tests/codeigniter/core/compat/mbstring_test.php4
-rw-r--r--tests/codeigniter/helpers/array_helper_test.php4
-rw-r--r--tests/codeigniter/helpers/string_helper_test.php2
-rw-r--r--tests/codeigniter/libraries/Driver_test.php16
-rw-r--r--tests/codeigniter/libraries/Encryption_test.php4
-rw-r--r--tests/codeigniter/libraries/Table_test.php12
-rw-r--r--tests/mocks/database/config/mysql.php10
-rw-r--r--tests/mocks/database/config/mysqli.php10
-rw-r--r--tests/mocks/database/config/pdo/mysql.php14
-rw-r--r--tests/mocks/database/config/pdo/pgsql.php4
-rw-r--r--tests/mocks/database/config/pgsql.php4
-rw-r--r--tests/mocks/database/schema/skeleton.php10
-rw-r--r--tests/travis/mysql.phpunit.xml3
-rw-r--r--tests/travis/mysqli.phpunit.xml3
-rw-r--r--tests/travis/pdo/mysql.phpunit.xml3
-rw-r--r--tests/travis/pdo/pgsql.phpunit.xml3
-rw-r--r--tests/travis/pdo/sqlite.phpunit.xml3
-rw-r--r--tests/travis/pgsql.phpunit.xml3
-rw-r--r--tests/travis/sqlite.phpunit.xml36
26 files changed, 135 insertions, 89 deletions
diff --git a/composer.json b/composer.json
index 6b802d493..cf9ac486c 100644
--- a/composer.json
+++ b/composer.json
@@ -16,8 +16,14 @@
"suggest": {
"paragonie/random_compat": "Provides better randomness in PHP 5.x"
},
+ "scripts": {
+ "test:coverage": [
+ "@putenv XDEBUG_MODE=coverage",
+ "phpunit --color=always --coverage-text --configuration tests/travis/sqlite.phpunit.xml"
+ ]
+ },
"require-dev": {
"mikey179/vfsstream": "1.6.*",
- "phpunit/phpunit": "4.* || 5.* || 8.*"
+ "phpunit/phpunit": "4.* || 5.* || 9.*"
}
}
diff --git a/system/core/Output.php b/system/core/Output.php
index cef092600..93d85e798 100644
--- a/system/core/Output.php
+++ b/system/core/Output.php
@@ -299,10 +299,14 @@ class CI_Output {
*/
public function get_header($header)
{
- // Combine headers already sent with our batched headers
+ // We only need [x][0] from our multi-dimensional array
+ $header_lines = array_map(function ($headers)
+ {
+ return array_shift($headers);
+ }, $this->headers);
+
$headers = array_merge(
- // We only need [x][0] from our multi-dimensional array
- array_map('array_shift', $this->headers),
+ $header_lines,
headers_list()
);
diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php
index c7bca96d8..6e1d8d11e 100644
--- a/system/database/DB_driver.php
+++ b/system/database/DB_driver.php
@@ -887,7 +887,7 @@ abstract class CI_DB_driver {
{
return $this->_trans_status;
}
-
+
// --------------------------------------------------------------------
/**
diff --git a/system/database/drivers/pdo/pdo_driver.php b/system/database/drivers/pdo/pdo_driver.php
index d0a2bf959..b2178b684 100644
--- a/system/database/drivers/pdo/pdo_driver.php
+++ b/system/database/drivers/pdo/pdo_driver.php
@@ -131,6 +131,14 @@ class CI_DB_pdo_driver extends CI_DB {
$this->options[PDO::ATTR_PERSISTENT] = TRUE;
}
+ // From PHP8.0, default PDO::ATTR_ERRMODE is changed
+ // from PDO::ERRMODE_SILENT to PDO::ERRMODE_EXCEPTION
+ // as https://wiki.php.net/rfc/pdo_default_errmode
+ if ( ! isset($this->options[PDO::ATTR_ERRMODE]))
+ {
+ $this->options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_SILENT;
+ }
+
try
{
return new PDO($this->dsn, $this->username, $this->password, $this->options);
diff --git a/system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php b/system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php
index 187cb2d09..4c3a5aaea 100644
--- a/system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php
+++ b/system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php
@@ -54,6 +54,13 @@ class CI_DB_pdo_pgsql_forge extends CI_DB_pdo_forge {
protected $_drop_table_if = 'DROP TABLE IF EXISTS';
/**
+ * CREATE TABLE IF statement
+ *
+ * @var string
+ */
+ protected $_create_table_if = 'CREATE TABLE IF NOT EXISTS';
+
+ /**
* UNSIGNED support
*
* @var array
diff --git a/tests/codeigniter/core/Loader_test.php b/tests/codeigniter/core/Loader_test.php
index 8c5bb3021..6a7aa916a 100644
--- a/tests/codeigniter/core/Loader_test.php
+++ b/tests/codeigniter/core/Loader_test.php
@@ -36,7 +36,8 @@ class Loader_test extends CI_TestCase {
// Test loading as an array.
$this->assertInstanceOf('CI_Loader', $this->load->library(array($lib)));
$this->assertTrue(class_exists($class), $class.' does not exist');
- $this->assertAttributeInstanceOf($class, $lib, $this->ci_obj);
+ $this->assertObjectHasAttribute($lib, $this->ci_obj);
+ $this->assertInstanceOf($class, $this->ci_obj->$lib);
// Create library in VFS
$lib = array('unit_test_lib' => 'unit_test_lib');
@@ -87,14 +88,16 @@ class Loader_test extends CI_TestCase {
$this->assertInstanceOf('CI_Loader', $this->load->library($lib));
$this->assertTrue(class_exists($class), $class.' does not exist');
$this->assertTrue(class_exists($ext), $ext.' does not exist');
- $this->assertAttributeInstanceOf($class, $name, $this->ci_obj);
- $this->assertAttributeInstanceOf($ext, $name, $this->ci_obj);
+ $this->assertObjectHasAttribute($name, $this->ci_obj);
+ $this->assertInstanceOf($class, $this->ci_obj->$name);
+ $this->assertInstanceOf($ext, $this->ci_obj->$name);
// Test reloading with object name
$obj = 'exttest';
$this->assertInstanceOf('CI_Loader', $this->load->library($lib, NULL, $obj));
- $this->assertAttributeInstanceOf($class, $obj, $this->ci_obj);
- $this->assertAttributeInstanceOf($ext, $obj, $this->ci_obj);
+ $this->assertObjectHasAttribute($obj, $this->ci_obj);
+ $this->assertInstanceOf($class, $this->ci_obj->$obj);
+ $this->assertInstanceOf($ext, $this->ci_obj->$obj);
// Test reloading
unset($this->ci_obj->$name);
@@ -137,7 +140,8 @@ class Loader_test extends CI_TestCase {
$obj = 'testy';
$this->assertInstanceOf('CI_Loader', $this->load->library($lib, NULL, $obj));
$this->assertTrue(class_exists($class), $class.' does not exist');
- $this->assertAttributeInstanceOf($class, $obj, $this->ci_obj);
+ $this->assertObjectHasAttribute($obj, $this->ci_obj);
+ $this->assertInstanceOf($class, $this->ci_obj->$obj);
$this->assertEquals($cfg, $this->ci_obj->$obj->config);
// Test is_loaded
@@ -168,7 +172,8 @@ class Loader_test extends CI_TestCase {
// Was the model class instantiated.
$this->assertTrue(class_exists($class), $class.' does not exist');
- $this->assertAttributeInstanceOf($class, $lib, $this->ci_obj);
+ $this->assertObjectHasAttribute($lib, $this->ci_obj);
+ $this->assertInstanceOf($class, $this->ci_obj->$lib);
}
// --------------------------------------------------------------------
@@ -188,12 +193,14 @@ class Loader_test extends CI_TestCase {
// Test loading as an array.
$this->assertInstanceOf('CI_Loader', $this->load->driver(array($driver)));
$this->assertTrue(class_exists($class), $class.' does not exist');
- $this->assertAttributeInstanceOf($class, $driver, $this->ci_obj);
+ $this->assertObjectHasAttribute($driver, $this->ci_obj);
+ $this->assertInstanceOf($class, $this->ci_obj->$driver);
// Test loading as a library with a name
$obj = 'testdrive';
$this->assertInstanceOf('CI_Loader', $this->load->library($driver, NULL, $obj));
- $this->assertAttributeInstanceOf($class, $obj, $this->ci_obj);
+ $this->assertObjectHasAttribute($obj, $this->ci_obj);
+ $this->assertInstanceOf($class, $this->ci_obj->$obj);
// Test a string given to params
$this->assertInstanceOf('CI_Loader', $this->load->driver($driver, ' '));
@@ -242,8 +249,9 @@ class Loader_test extends CI_TestCase {
// Was the model class instantiated?
$this->assertTrue(class_exists($model));
$this->assertObjectHasAttribute($name, $this->ci_obj);
- $this->assertAttributeInstanceOf($base, $name, $this->ci_obj);
- $this->assertAttributeInstanceOf($model, $name, $this->ci_obj);
+ $this->assertObjectHasAttribute($name, $this->ci_obj);
+ $this->assertInstanceOf($base, $this->ci_obj->$name);
+ $this->assertInstanceOf($model, $this->ci_obj->$name);
// Test name conflict
$obj = 'conflict';
@@ -567,15 +575,18 @@ class Loader_test extends CI_TestCase {
// Verify library
$this->assertTrue(class_exists($lib_class), $lib_class.' does not exist');
- $this->assertAttributeInstanceOf($lib_class, $lib, $this->ci_obj);
+ $this->assertObjectHasAttribute($lib, $this->ci_obj);
+ $this->assertInstanceOf($lib_class, $this->ci_obj->$lib);
// Verify driver
$this->assertTrue(class_exists($drv_class), $drv_class.' does not exist');
- $this->assertAttributeInstanceOf($drv_class, $drv, $this->ci_obj);
+ $this->assertObjectHasAttribute($drv, $this->ci_obj);
+ $this->assertInstanceOf($drv_class, $this->ci_obj->$drv);
// Verify model
$this->assertTrue(class_exists($model), $model.' does not exist');
- $this->assertAttributeInstanceOf($model, $model, $this->ci_obj);
+ $this->assertObjectHasAttribute($model, $this->ci_obj);
+ $this->assertInstanceOf($model, $this->ci_obj->$model);
// Verify config calls
$this->assertEquals($cfg['config'], $this->ci_obj->config->loaded);
diff --git a/tests/codeigniter/core/Security_test.php b/tests/codeigniter/core/Security_test.php
index c3113adba..5f94e1501 100644
--- a/tests/codeigniter/core/Security_test.php
+++ b/tests/codeigniter/core/Security_test.php
@@ -252,7 +252,7 @@ class Security_test extends CI_TestCase {
// Perform hash
$this->security->xss_hash();
- $this->assertRegExp('#^[0-9a-f]{32}$#iS', $this->security->xss_hash);
+ $this->assertMatchesRegularExpression('#^[0-9a-f]{32}$#iS', $this->security->xss_hash);
}
// --------------------------------------------------------------------
diff --git a/tests/codeigniter/core/compat/mbstring_test.php b/tests/codeigniter/core/compat/mbstring_test.php
index 415222446..8b8629efc 100644
--- a/tests/codeigniter/core/compat/mbstring_test.php
+++ b/tests/codeigniter/core/compat/mbstring_test.php
@@ -27,7 +27,7 @@ class mbstring_test extends CI_TestCase {
// ------------------------------------------------------------------------
/**
- * @depends test_boostrap
+ * @depends test_bootstrap
*/
public function test_mb_strpos()
{
@@ -39,7 +39,7 @@ class mbstring_test extends CI_TestCase {
// ------------------------------------------------------------------------
/**
- * @depends test_boostrap
+ * @depends test_bootstrap
*/
public function test_mb_substr()
{
diff --git a/tests/codeigniter/helpers/array_helper_test.php b/tests/codeigniter/helpers/array_helper_test.php
index b2409c330..f4e344673 100644
--- a/tests/codeigniter/helpers/array_helper_test.php
+++ b/tests/codeigniter/helpers/array_helper_test.php
@@ -38,8 +38,8 @@ class Array_helper_test extends CI_TestCase {
public function test_elements()
{
- $this->assertInternalType('array', elements('test', $this->my_array));
- $this->assertInternalType('array', elements('foo', $this->my_array));
+ $this->assertEquals('array', gettype(elements('test', $this->my_array)));
+ $this->assertEquals('array', gettype(elements('foo', $this->my_array)));
}
}
diff --git a/tests/codeigniter/helpers/string_helper_test.php b/tests/codeigniter/helpers/string_helper_test.php
index 75701ec13..9bd1ea816 100644
--- a/tests/codeigniter/helpers/string_helper_test.php
+++ b/tests/codeigniter/helpers/string_helper_test.php
@@ -129,7 +129,7 @@ class String_helper_test extends CI_TestCase {
{
$this->assertEquals(16, strlen(random_string('alnum', 16)));
$this->assertEquals(32, strlen(random_string('unique', 16)));
- $this->assertInternalType('string', random_string('numeric', 16));
+ $this->assertEquals('string', gettype(random_string('numeric', 16)));
}
// --------------------------------------------------------------------
diff --git a/tests/codeigniter/libraries/Driver_test.php b/tests/codeigniter/libraries/Driver_test.php
index e4401e688..ea5cfa235 100644
--- a/tests/codeigniter/libraries/Driver_test.php
+++ b/tests/codeigniter/libraries/Driver_test.php
@@ -5,6 +5,8 @@
*/
class Driver_test extends CI_TestCase {
+ private $name;
+
/**
* Set up test framework
*/
@@ -50,8 +52,8 @@ class Driver_test extends CI_TestCase {
// Was driver loaded?
$this->assertObjectHasAttribute($driver, $this->lib);
- $this->assertAttributeInstanceOf($class, $driver, $this->lib);
- $this->assertAttributeInstanceOf('CI_Driver', $driver, $this->lib);
+ $this->assertInstanceOf($class, $this->lib->$driver);
+ $this->assertInstanceOf('CI_Driver', $this->lib->$driver);
// Was decorate called?
$this->assertObjectHasAttribute($prop, $this->lib->$driver);
@@ -85,8 +87,8 @@ class Driver_test extends CI_TestCase {
// Was driver loaded?
$this->assertObjectHasAttribute($driver, $this->lib);
- $this->assertAttributeInstanceOf($class, $driver, $this->lib);
- $this->assertAttributeInstanceOf('CI_Driver', $driver, $this->lib);
+ $this->assertInstanceOf($class, $this->lib->$driver);
+ $this->assertInstanceOf('CI_Driver', $this->lib->$driver);
// Do we get an error for a non-existent driver?
$this->setExpectedException('RuntimeException', 'CI Error: Unable to load the requested driver: CI_'.
@@ -119,9 +121,9 @@ class Driver_test extends CI_TestCase {
// Was driver loaded?
$this->assertObjectHasAttribute($driver, $this->lib);
- $this->assertAttributeInstanceOf($class, $driver, $this->lib);
- $this->assertAttributeInstanceOf($baseclass, $driver, $this->lib);
- $this->assertAttributeInstanceOf('CI_Driver', $driver, $this->lib);
+ $this->assertInstanceOf($class, $this->lib->$driver);
+ $this->assertInstanceOf($baseclass, $this->lib->$driver);
+ $this->assertInstanceOf('CI_Driver', $this->lib->$driver);
// Create driver extension without base
$driver = 'baseless';
diff --git a/tests/codeigniter/libraries/Encryption_test.php b/tests/codeigniter/libraries/Encryption_test.php
index 8e411d9fa..68bc3d804 100644
--- a/tests/codeigniter/libraries/Encryption_test.php
+++ b/tests/codeigniter/libraries/Encryption_test.php
@@ -151,7 +151,7 @@ class Encryption_test extends CI_TestCase {
'hmac_key' => str_repeat("\x0", 16)
);
- $this->assertInternalType('array', $this->encryption->__get_params($params));
+ $this->assertEquals('array', gettype($this->encryption->__get_params($params)));
$params['base64'] = TRUE;
$params['hmac_digest'] = 'sha512';
@@ -217,7 +217,7 @@ class Encryption_test extends CI_TestCase {
/**
* encrypt(), decrypt test with custom parameters
*
- * @depends test___get_params
+ * @depends test__get_params
*/
public function test_encrypt_decrypt_custom()
{
diff --git a/tests/codeigniter/libraries/Table_test.php b/tests/codeigniter/libraries/Table_test.php
index f505a43fc..6efae5d18 100644
--- a/tests/codeigniter/libraries/Table_test.php
+++ b/tests/codeigniter/libraries/Table_test.php
@@ -270,14 +270,14 @@ class Table_test extends CI_TestCase {
$table = $this->table->generate($data);
// Test the table header
- $this->assertContains('<th>Name</th>', $table);
- $this->assertContains('<th>Color</th>', $table);
- $this->assertContains('<th>Size</th>', $table);
+ $this->assertEquals(1, substr_count($table, '<th>Name</th>'));
+ $this->assertEquals(1, substr_count($table, '<th>Color</th>'));
+ $this->assertEquals(1, substr_count($table, '<th>Size</th>'));
// Test the first entry
- $this->assertContains('<td>Fred</td>', $table);
- $this->assertContains('<td>Blue</td>', $table);
- $this->assertContains('<td>Small</td>', $table);
+ $this->assertEquals(1, substr_count($table, '<td>Fred</td>'));
+ $this->assertEquals(1, substr_count($table, '<td>Blue</td>'));
+ $this->assertEquals(1, substr_count($table, '<td>Small</td>'));
}
}
diff --git a/tests/mocks/database/config/mysql.php b/tests/mocks/database/config/mysql.php
index a590b9f53..ca30cb9ca 100644
--- a/tests/mocks/database/config/mysql.php
+++ b/tests/mocks/database/config/mysql.php
@@ -5,9 +5,9 @@ return array(
// Typical Database configuration
'mysql' => array(
'dsn' => '',
- 'hostname' => 'localhost',
+ 'hostname' => '127.0.0.1',
'username' => 'travis',
- 'password' => '',
+ 'password' => 'travis',
'database' => 'ci_test',
'dbdriver' => 'mysql'
),
@@ -15,7 +15,7 @@ return array(
// Database configuration with failover
'mysql_failover' => array(
'dsn' => '',
- 'hostname' => 'localhost',
+ 'hostname' => '127.0.0.1',
'username' => 'not_travis',
'password' => 'wrong password',
'database' => 'not_ci_test',
@@ -23,9 +23,9 @@ return array(
'failover' => array(
array(
'dsn' => '',
- 'hostname' => 'localhost',
+ 'hostname' => '127.0.0.1',
'username' => 'travis',
- 'password' => '',
+ 'password' => 'travis',
'database' => 'ci_test',
'dbdriver' => 'mysql',
)
diff --git a/tests/mocks/database/config/mysqli.php b/tests/mocks/database/config/mysqli.php
index 5dd08abb2..fd8fec962 100644
--- a/tests/mocks/database/config/mysqli.php
+++ b/tests/mocks/database/config/mysqli.php
@@ -5,9 +5,9 @@ return array(
// Typical Database configuration
'mysqli' => array(
'dsn' => '',
- 'hostname' => 'localhost',
+ 'hostname' => '127.0.0.1',
'username' => 'travis',
- 'password' => '',
+ 'password' => 'travis',
'database' => 'ci_test',
'dbdriver' => 'mysqli'
),
@@ -15,7 +15,7 @@ return array(
// Database configuration with failover
'mysqli_failover' => array(
'dsn' => '',
- 'hostname' => 'localhost',
+ 'hostname' => '127.0.0.1',
'username' => 'not_travis',
'password' => 'wrong password',
'database' => 'not_ci_test',
@@ -23,9 +23,9 @@ return array(
'failover' => array(
array(
'dsn' => '',
- 'hostname' => 'localhost',
+ 'hostname' => '127.0.0.1',
'username' => 'travis',
- 'password' => '',
+ 'password' => 'travis',
'database' => 'ci_test',
'dbdriver' => 'mysqli',
)
diff --git a/tests/mocks/database/config/pdo/mysql.php b/tests/mocks/database/config/pdo/mysql.php
index 96608f787..89e9fb130 100644
--- a/tests/mocks/database/config/pdo/mysql.php
+++ b/tests/mocks/database/config/pdo/mysql.php
@@ -4,10 +4,10 @@ return array(
// Typical Database configuration
'pdo/mysql' => array(
- 'dsn' => 'mysql:host=localhost;dbname=ci_test',
- 'hostname' => 'localhost',
+ 'dsn' => 'mysql:host=127.0.0.1;dbname=ci_test',
+ 'hostname' => '127.0.0.1',
'username' => 'travis',
- 'password' => '',
+ 'password' => 'travis',
'database' => 'ci_test',
'dbdriver' => 'pdo',
'subdriver' => 'mysql'
@@ -16,7 +16,7 @@ return array(
// Database configuration with failover
'pdo/mysql_failover' => array(
'dsn' => '',
- 'hostname' => 'localhost',
+ 'hostname' => '127.0.0.1',
'username' => 'not_travis',
'password' => 'wrong password',
'database' => 'not_ci_test',
@@ -24,10 +24,10 @@ return array(
'subdriver' => 'mysql',
'failover' => array(
array(
- 'dsn' => 'mysql:host=localhost;dbname=ci_test',
- 'hostname' => 'localhost',
+ 'dsn' => 'mysql:host=127.0.0.1;dbname=ci_test',
+ 'hostname' => '127.0.0.1',
'username' => 'travis',
- 'password' => '',
+ 'password' => 'travis',
'database' => 'ci_test',
'dbdriver' => 'pdo',
'subdriver' => 'mysql'
diff --git a/tests/mocks/database/config/pdo/pgsql.php b/tests/mocks/database/config/pdo/pgsql.php
index e55e3ea77..846c70be9 100644
--- a/tests/mocks/database/config/pdo/pgsql.php
+++ b/tests/mocks/database/config/pdo/pgsql.php
@@ -7,7 +7,7 @@ return array(
'dsn' => 'pgsql:host=localhost;port=5432;dbname=ci_test;',
'hostname' => 'localhost',
'username' => 'postgres',
- 'password' => '',
+ 'password' => 'postgres',
'database' => 'ci_test',
'dbdriver' => 'pdo',
'subdriver' => 'pgsql'
@@ -27,7 +27,7 @@ return array(
'dsn' => 'pgsql:host=localhost;port=5432;dbname=ci_test;',
'hostname' => 'localhost',
'username' => 'postgres',
- 'password' => '',
+ 'password' => 'postgres',
'database' => 'ci_test',
'dbdriver' => 'pdo',
'subdriver' => 'pgsql'
diff --git a/tests/mocks/database/config/pgsql.php b/tests/mocks/database/config/pgsql.php
index 1444b0066..ce4583728 100644
--- a/tests/mocks/database/config/pgsql.php
+++ b/tests/mocks/database/config/pgsql.php
@@ -7,7 +7,7 @@ return array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'postgres',
- 'password' => '',
+ 'password' => 'postgres',
'database' => 'ci_test',
'dbdriver' => 'postgre'
),
@@ -25,7 +25,7 @@ return array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'postgres',
- 'password' => '',
+ 'password' => 'postgres',
'database' => 'ci_test',
'dbdriver' => 'postgre',
)
diff --git a/tests/mocks/database/schema/skeleton.php b/tests/mocks/database/schema/skeleton.php
index 888236ff3..e2b6e7d0e 100644
--- a/tests/mocks/database/schema/skeleton.php
+++ b/tests/mocks/database/schema/skeleton.php
@@ -76,7 +76,7 @@ class Mock_Database_Schema_Skeleton {
)
));
self::$forge->add_key('id', TRUE);
- self::$forge->create_table('user', TRUE);
+ self::$forge->create_table('user', TRUE) OR show_error('Unable to create the `user` table');
// Job Table
self::$forge->add_field(array(
@@ -93,7 +93,7 @@ class Mock_Database_Schema_Skeleton {
)
));
self::$forge->add_key('id', TRUE);
- self::$forge->create_table('job', TRUE);
+ self::$forge->create_table('job', TRUE) OR show_error('Unable to create the `job` table');
// Misc Table
self::$forge->add_field(array(
@@ -110,7 +110,7 @@ class Mock_Database_Schema_Skeleton {
)
));
self::$forge->add_key('id', TRUE);
- self::$forge->create_table('misc', TRUE);
+ self::$forge->create_table('misc', TRUE) OR show_error('Unable to create the `misc` table');
}
/**
@@ -143,11 +143,11 @@ class Mock_Database_Schema_Skeleton {
foreach ($data as $table => $dummy_data)
{
- self::$db->truncate($table);
+ self::$db->truncate($table) OR show_error("Unable to truncate `{$table}` table");
foreach ($dummy_data as $single_dummy_data)
{
- self::$db->insert($table, $single_dummy_data);
+ self::$db->insert($table, $single_dummy_data) OR show_error("Unable to insert data into `{$table}` table");
}
}
}
diff --git a/tests/travis/mysql.phpunit.xml b/tests/travis/mysql.phpunit.xml
index 06d4a011b..15063fd5a 100644
--- a/tests/travis/mysql.phpunit.xml
+++ b/tests/travis/mysql.phpunit.xml
@@ -8,7 +8,8 @@
stopOnError="false"
stopOnFailure="false"
stopOnIncomplete="false"
- stopOnSkipped="false">
+ stopOnSkipped="false"
+ beStrictAboutTestsThatDoNotTestAnything="false">
<php>
<const name="DB_DRIVER" value="mysql"/>
</php>
diff --git a/tests/travis/mysqli.phpunit.xml b/tests/travis/mysqli.phpunit.xml
index 1364f8bfa..c77aaa303 100644
--- a/tests/travis/mysqli.phpunit.xml
+++ b/tests/travis/mysqli.phpunit.xml
@@ -8,7 +8,8 @@
stopOnError="false"
stopOnFailure="false"
stopOnIncomplete="false"
- stopOnSkipped="false">
+ stopOnSkipped="false"
+ beStrictAboutTestsThatDoNotTestAnything="false">
<php>
<const name="DB_DRIVER" value="mysqli"/>
</php>
diff --git a/tests/travis/pdo/mysql.phpunit.xml b/tests/travis/pdo/mysql.phpunit.xml
index 7121edc45..1a9030ddf 100644
--- a/tests/travis/pdo/mysql.phpunit.xml
+++ b/tests/travis/pdo/mysql.phpunit.xml
@@ -8,7 +8,8 @@
stopOnError="false"
stopOnFailure="false"
stopOnIncomplete="false"
- stopOnSkipped="false">
+ stopOnSkipped="false"
+ beStrictAboutTestsThatDoNotTestAnything="false">
<php>
<const name="DB_DRIVER" value="pdo/mysql"/>
</php>
diff --git a/tests/travis/pdo/pgsql.phpunit.xml b/tests/travis/pdo/pgsql.phpunit.xml
index df3ff986e..22261ee7d 100644
--- a/tests/travis/pdo/pgsql.phpunit.xml
+++ b/tests/travis/pdo/pgsql.phpunit.xml
@@ -8,7 +8,8 @@
stopOnError="false"
stopOnFailure="false"
stopOnIncomplete="false"
- stopOnSkipped="false">
+ stopOnSkipped="false"
+ beStrictAboutTestsThatDoNotTestAnything="false">
<php>
<const name="DB_DRIVER" value="pdo/pgsql"/>
</php>
diff --git a/tests/travis/pdo/sqlite.phpunit.xml b/tests/travis/pdo/sqlite.phpunit.xml
index 7d867f6d1..4b0ca2fe7 100644
--- a/tests/travis/pdo/sqlite.phpunit.xml
+++ b/tests/travis/pdo/sqlite.phpunit.xml
@@ -8,7 +8,8 @@
stopOnError="false"
stopOnFailure="false"
stopOnIncomplete="false"
- stopOnSkipped="false">
+ stopOnSkipped="false"
+ beStrictAboutTestsThatDoNotTestAnything="false">
<php>
<const name="DB_DRIVER" value="pdo/sqlite"/>
</php>
diff --git a/tests/travis/pgsql.phpunit.xml b/tests/travis/pgsql.phpunit.xml
index bfddbf6b5..8d7979a0f 100644
--- a/tests/travis/pgsql.phpunit.xml
+++ b/tests/travis/pgsql.phpunit.xml
@@ -8,7 +8,8 @@
stopOnError="false"
stopOnFailure="false"
stopOnIncomplete="false"
- stopOnSkipped="false">
+ stopOnSkipped="false"
+ beStrictAboutTestsThatDoNotTestAnything="false">
<php>
<const name="DB_DRIVER" value="pgsql"/>
</php>
diff --git a/tests/travis/sqlite.phpunit.xml b/tests/travis/sqlite.phpunit.xml
index 75c946aee..4eaafc19f 100644
--- a/tests/travis/sqlite.phpunit.xml
+++ b/tests/travis/sqlite.phpunit.xml
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit
+<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
bootstrap="../Bootstrap.php"
colors="true"
convertNoticesToExceptions="true"
@@ -8,18 +7,21 @@
stopOnError="false"
stopOnFailure="false"
stopOnIncomplete="false"
- stopOnSkipped="false">
- <php>
- <const name="DB_DRIVER" value="sqlite"/>
- </php>
- <testsuites>
- <testsuite name="CodeIgniter Core Test Suite">
- <directory suffix="test.php">../codeigniter</directory>
- </testsuite>
- </testsuites>
- <filter>
- <whitelist addUncoveredFilesFromWhitelist="false">
- <directory suffix=".php">../../system</directory>
- </whitelist>
- </filter>
-</phpunit> \ No newline at end of file
+ stopOnSkipped="false"
+ beStrictAboutTestsThatDoNotTestAnything="false"
+ xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"
+>
+ <coverage includeUncoveredFiles="false">
+ <include>
+ <directory suffix=".php">../../system</directory>
+ </include>
+ </coverage>
+ <php>
+ <const name="DB_DRIVER" value="sqlite"/>
+ </php>
+ <testsuites>
+ <testsuite name="CodeIgniter Core Test Suite">
+ <directory suffix="test.php">../codeigniter</directory>
+ </testsuite>
+ </testsuites>
+</phpunit>