diff --git a/doc/config.rst b/doc/config.rst index 54fa34fe5d..e97b6596ba 100644 --- a/doc/config.rst +++ b/doc/config.rst @@ -110,7 +110,7 @@ Basic settings column names match with words which are MySQL reserved. If you want to turn off this warning, you can set it to ``true`` and - warning will not longer be displayed + warning will no longer be displayed. .. config:option:: $cfg['TranslationWarningThreshold'] diff --git a/libraries/sysinfo.lib.php b/libraries/sysinfo.lib.php index a57af008cf..16f7298d5f 100644 --- a/libraries/sysinfo.lib.php +++ b/libraries/sysinfo.lib.php @@ -271,10 +271,19 @@ class PMA_SysInfoLinux extends PMA_SysInfo ); $mem = array_combine($matches[1], $matches[2]); + + $memTotal = isset($mem['MemTotal']) ? $mem['MemTotal'] : 0; + $memFree = isset($mem['MemFree']) ? $mem['MemFree'] : 0; + $cached = isset($mem['Cached']) ? $mem['Cached'] : 0; + $buffers = isset($mem['Buffers']) ? $mem['Buffers'] : 0; + $swapTotal = isset($mem['SwapTotal']) ? $mem['SwapTotal'] : 0; + $swapFree = isset($mem['SwapFree']) ? $mem['SwapFree'] : 0; + $swapCached = isset($mem['SwapCached']) ? $mem['SwapCached'] : 0; + $mem['MemUsed'] - = $mem['MemTotal'] - $mem['MemFree'] - $mem['Cached'] - $mem['Buffers']; + = $memTotal - $memFree - $cached - $buffers; $mem['SwapUsed'] - = $mem['SwapTotal'] - $mem['SwapFree'] - $mem['SwapCached']; + = $swapTotal - $swapFree - $swapCached; foreach ($mem as $idx => $value) { $mem[$idx] = intval($value); diff --git a/test/libraries/PMA_server_status_advisor_test.php b/test/libraries/PMA_server_status_advisor_test.php new file mode 100644 index 0000000000..04c494a322 --- /dev/null +++ b/test/libraries/PMA_server_status_advisor_test.php @@ -0,0 +1,187 @@ +getMockBuilder('PMA_DatabaseInterface') + ->disableOriginalConstructor() + ->getMock(); + + //this data is needed when PMA_ServerStatusData constructs + $server_status = array( + "Aborted_clients" => "0", + "Aborted_connects" => "0", + "Com_delete_multi" => "0", + "Com_create_function" => "0", + "Com_empty_query" => "0", + ); + + $server_variables= array( + "auto_increment_increment" => "1", + "auto_increment_offset" => "1", + "automatic_sp_privileges" => "ON", + "back_log" => "50", + "big_tables" => "OFF", + ); + + $fetchResult = array( + array( + "SHOW GLOBAL STATUS", + 0, + 1, + null, + 0, + $server_status + ), + array( + "SHOW GLOBAL VARIABLES", + 0, + 1, + null, + 0, + $server_variables + ), + array( + "SELECT concat('Com_', variable_name), variable_value " + . "FROM data_dictionary.GLOBAL_STATEMENTS", + 0, + 1, + null, + 0, + $server_status + ), + ); + + $dbi->expects($this->any())->method('fetchResult') + ->will($this->returnValueMap($fetchResult)); + + $GLOBALS['dbi'] = $dbi; + + $this->ServerStatusData = new PMA_ServerStatusData(); + } + + /** + * Test for PMA_getHTMLForAdvisor + * + * @return void + */ + public function testPMAGetHTMLForAdvisor() + { + //Call the test function + $html = PMA_getHTMLForAdvisor(); + + //validate 1: Advisor Instructions + $this->assertContains( + '', + $html + ); + $this->assertContains( + '
assertContains( + 'The Advisor system can provide recommendations', + $html + ); + $this->assertContains( + 'Do note however that this system provides recommendations', + $html + ); + + //Advisor datas, we just validate that the Advisor Array is right + //Advisor logic related with OS should be validate on class Advisor + $this->assertContains( + '