object = new Innodb('innodb');
}
/**
* Tears down the fixture, for example, closes a network connection.
* This method is called after a test is executed.
*/
protected function tearDown(): void
{
parent::tearDown();
unset($this->object);
}
/**
* Test for getVariables
*/
public function testGetVariables(): void
{
$this->assertEquals(
[
'innodb_data_home_dir' => [
'title' => __('Data home directory'),
'desc' => __('The common part of the directory path for all InnoDB data files.'),
],
'innodb_data_file_path' => [
'title' => __('Data files'),
],
'innodb_autoextend_increment' => [
'title' => __('Autoextend increment'),
'desc' => __(
'The increment size for extending the size of an autoextending tablespace when it becomes full.'
),
'type' => 2,
],
'innodb_buffer_pool_size' => [
'title' => __('Buffer pool size'),
'desc' => __('The size of the memory buffer InnoDB uses to cache data and indexes of its tables.'),
'type' => 1,
],
'innodb_additional_mem_pool_size' => [
'title' => 'innodb_additional_mem_pool_size',
'type' => 1,
],
'innodb_buffer_pool_awe_mem_mb' => ['type' => 1],
'innodb_checksums' => [],
'innodb_commit_concurrency' => [],
'innodb_concurrency_tickets' => ['type' => 2],
'innodb_doublewrite' => [],
'innodb_fast_shutdown' => [],
'innodb_file_io_threads' => ['type' => 2],
'innodb_file_per_table' => [],
'innodb_flush_log_at_trx_commit' => [],
'innodb_flush_method' => [],
'innodb_force_recovery' => [],
'innodb_lock_wait_timeout' => ['type' => 2],
'innodb_locks_unsafe_for_binlog' => [],
'innodb_log_arch_dir' => [],
'innodb_log_archive' => [],
'innodb_log_buffer_size' => ['type' => 1],
'innodb_log_file_size' => ['type' => 1],
'innodb_log_files_in_group' => ['type' => 2],
'innodb_log_group_home_dir' => [],
'innodb_max_dirty_pages_pct' => ['type' => 2],
'innodb_max_purge_lag' => [],
'innodb_mirrored_log_groups' => ['type' => 2],
'innodb_open_files' => ['type' => 2],
'innodb_support_xa' => [],
'innodb_sync_spin_loops' => ['type' => 2],
'innodb_table_locks' => ['type' => 3],
'innodb_thread_concurrency' => ['type' => 2],
'innodb_thread_sleep_delay' => ['type' => 2],
],
$this->object->getVariables()
);
}
/**
* Test for getVariablesLikePattern
*/
public function testGetVariablesLikePattern(): void
{
$this->assertEquals(
'innodb\\_%',
$this->object->getVariablesLikePattern()
);
}
/**
* Test for getInfoPages
*/
public function testGetInfoPages(): void
{
$this->assertEquals(
[],
$this->object->getInfoPages()
);
$this->object->support = 2;
$this->assertEquals(
[
'Bufferpool' => 'Buffer Pool',
'Status' => 'InnoDB Status',
],
$this->object->getInfoPages()
);
}
/**
* Test for getPageBufferpool
*/
public function testGetPageBufferpool(): void
{
$this->assertEquals(
'
' . "\n" .
' ' . "\n" .
' Buffer Pool Usage' . "\n" .
' ' . "\n" .
' ' . "\n" .
' ' . "\n" .
' ' . "\n" .
' Total: 4,096 pages / 65,536 KiB' . "\n" .
' | ' . "\n" .
'
' . "\n" .
' ' . "\n" .
' ' . "\n" .
' ' . "\n" .
' Free pages | ' . "\n" .
' 0 | ' . "\n" .
'
' . "\n" .
' ' . "\n" .
' Dirty pages | ' . "\n" .
' 0 | ' . "\n" .
'
' . "\n" .
' ' . "\n" .
' Pages containing data | ' . "\n" .
' 0' . "\n" .
' | ' . "\n" .
'
' . "\n" .
' ' . "\n" .
' Pages to be flushed | ' . "\n" .
' 0' . "\n" .
' | ' . "\n" .
'
' . "\n" .
' ' . "\n" .
' Busy pages | ' . "\n" .
' 0' . "\n" .
' | ' . "\n" .
'
' . "\n" .
'
' . "\n\n" .
'' . "\n" .
' ' . "\n" .
' Buffer Pool Activity' . "\n" .
' ' . "\n" .
' ' . "\n" .
' ' . "\n" .
' Read requests | ' . "\n" .
' 64' . "\n" .
' | ' . "\n" .
'
' . "\n" .
' ' . "\n" .
' Write requests | ' . "\n" .
' 64' . "\n" .
' | ' . "\n" .
'
' . "\n" .
' ' . "\n" .
' Read misses | ' . "\n" .
' 32' . "\n" .
' | ' . "\n" .
'
' . "\n" .
' ' . "\n" .
' Write waits | ' . "\n" .
' 0' . "\n" .
' | ' . "\n" .
'
' . "\n" .
' ' . "\n" .
' Read misses in % | ' . "\n" .
' 50 %' . "\n" .
' | ' . "\n" .
'
' . "\n" .
' ' . "\n" .
' Write waits in % | ' . "\n" .
' 0 %' . "\n" .
' | ' . "\n" .
'
' . "\n" .
' ' . "\n" .
'
' . "\n",
$this->object->getPageBufferpool()
);
}
/**
* Test for getPageStatus
*/
public function testGetPageStatus(): void
{
$this->assertEquals(
'' . "\n\n" . '
' . "\n",
$this->object->getPageStatus()
);
}
/**
* Test for getPage
*/
public function testGetPage(): void
{
$this->assertEquals(
'',
$this->object->getPage('Status')
);
$this->object->support = 2;
$this->assertEquals(
'' . "\n\n" . '
' . "\n",
$this->object->getPage('Status')
);
}
/**
* Test for getMysqlHelpPage
*/
public function testGetMysqlHelpPage(): void
{
$this->assertEquals(
'innodb-storage-engine',
$this->object->getMysqlHelpPage()
);
}
/**
* Test for getInnodbPluginVersion
*/
public function testGetInnodbPluginVersion(): void
{
$this->assertEquals(
'1.1.8',
$this->object->getInnodbPluginVersion()
);
}
/**
* Test for supportsFilePerTable
*/
public function testSupportsFilePerTable(): void
{
$this->assertFalse(
$this->object->supportsFilePerTable()
);
}
/**
* Test for getInnodbFileFormat
*/
public function testGetInnodbFileFormat(): void
{
$this->assertEquals(
'Antelope',
$this->object->getInnodbFileFormat()
);
}
}