Fix date-second issue with Tracker tests
This commit is contained in:
parent
3bb750ca2b
commit
4b7edee82b
@ -41,11 +41,11 @@ $GLOBALS['runkit_internal_override'] = ini_get('runkit.internal_override');
|
||||
|
||||
/**
|
||||
* Function to emulate headers() function by storing headers in GLOBAL array
|
||||
*
|
||||
*
|
||||
* @param string $string header string
|
||||
* @param boolean $replace .
|
||||
* @param integer $http_response_code .
|
||||
*
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function test_header($string, $replace = true, $http_response_code = 200)
|
||||
@ -59,7 +59,7 @@ function test_header($string, $replace = true, $http_response_code = 200)
|
||||
|
||||
/**
|
||||
* Function to emulate headers_hest.
|
||||
*
|
||||
*
|
||||
* @return boolean false
|
||||
*/
|
||||
function test_headers_sent()
|
||||
@ -67,6 +67,18 @@ function test_headers_sent()
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to emulate date() function
|
||||
*
|
||||
* @param string $date_format arg
|
||||
*
|
||||
* @return string dummy date
|
||||
*/
|
||||
function test_date($date_format)
|
||||
{
|
||||
return '0000-00-00 00:00:00';
|
||||
}
|
||||
|
||||
if (PMA_HAS_RUNKIT && $GLOBALS['runkit_internal_override']) {
|
||||
echo "Enabling headers testing...\n";
|
||||
runkit_function_rename('header', 'test_header_override');
|
||||
@ -106,4 +118,33 @@ function PMA_getTagArray($elementHTML, $arr = array())
|
||||
|
||||
return $arr;
|
||||
}
|
||||
|
||||
/**
|
||||
* Overrides date function
|
||||
*
|
||||
* @return boolean whether function was overridden or not
|
||||
*/
|
||||
function setupForTestsUsingDate()
|
||||
{
|
||||
if (PMA_HAS_RUNKIT && $GLOBALS['runkit_internal_override']) {
|
||||
runkit_function_rename('date', 'test_date_override');
|
||||
runkit_function_rename('test_date', 'date');
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Restores date function
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function tearDownForTestsUsingDate()
|
||||
{
|
||||
if (PMA_HAS_RUNKIT && $GLOBALS['runkit_internal_override']) {
|
||||
runkit_function_rename('date', 'test_date');
|
||||
runkit_function_rename('test_date_override', 'date');
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@ -269,6 +269,10 @@ class PMA_Tracker_Test extends PHPUnit_Framework_TestCase
|
||||
*/
|
||||
public function testGetLogComment()
|
||||
{
|
||||
if (!setupForTestsUsingDate()) {
|
||||
$this->markTestSkipped("Cannot override internal function date()");
|
||||
}
|
||||
|
||||
$date = date('Y-m-d H:i:s');
|
||||
$GLOBALS['cfg']['Server']['user'] = "pma_test_user";
|
||||
|
||||
@ -276,6 +280,8 @@ class PMA_Tracker_Test extends PHPUnit_Framework_TestCase
|
||||
"# log $date pma_test_user\n",
|
||||
PMA_Tracker::getLogComment()
|
||||
);
|
||||
|
||||
tearDownForTestsUsingDate();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -286,6 +292,10 @@ class PMA_Tracker_Test extends PHPUnit_Framework_TestCase
|
||||
*/
|
||||
public function testCreateVersion()
|
||||
{
|
||||
if (!setupForTestsUsingDate()) {
|
||||
$this->markTestSkipped("Cannot override internal function date()");
|
||||
}
|
||||
|
||||
$GLOBALS['cfg']['Server']['tracking_add_drop_table'] = true;
|
||||
$GLOBALS['cfg']['Server']['tracking_add_drop_view'] = true;
|
||||
$GLOBALS['cfg']['Server']['user'] = "pma_test_user";
|
||||
@ -406,6 +416,8 @@ class PMA_Tracker_Test extends PHPUnit_Framework_TestCase
|
||||
'executed',
|
||||
PMA_Tracker::createVersion('pma_test', 'pma_tbl', '1', '11', true)
|
||||
);
|
||||
|
||||
tearDownForTestsUsingDate();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -449,6 +461,10 @@ class PMA_Tracker_Test extends PHPUnit_Framework_TestCase
|
||||
*/
|
||||
public function testCreateDatabaseVersion()
|
||||
{
|
||||
if (!setupForTestsUsingDate()) {
|
||||
$this->markTestSkipped("Cannot override internal function date()");
|
||||
}
|
||||
|
||||
$GLOBALS['cfg']['Server']['tracking_add_drop_table'] = true;
|
||||
$GLOBALS['cfg']['Server']['tracking_add_drop_view'] = true;
|
||||
$GLOBALS['cfg']['Server']['user'] = "pma_test_user";
|
||||
@ -491,6 +507,8 @@ class PMA_Tracker_Test extends PHPUnit_Framework_TestCase
|
||||
'executed',
|
||||
PMA_Tracker::createDatabaseVersion('pma_test', '1', 'SHOW DATABASES')
|
||||
);
|
||||
|
||||
tearDownForTestsUsingDate();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -564,6 +582,10 @@ class PMA_Tracker_Test extends PHPUnit_Framework_TestCase
|
||||
*/
|
||||
public function testChangeTrackingData()
|
||||
{
|
||||
if (!setupForTestsUsingDate()) {
|
||||
$this->markTestSkipped("Cannot override internal function date()");
|
||||
}
|
||||
|
||||
$reflection = new \ReflectionProperty('PMA_Tracker', 'pma_table');
|
||||
$reflection->setAccessible(true);
|
||||
$reflection->setValue(null, 'pma_table_tracking');
|
||||
@ -597,10 +619,6 @@ class PMA_Tracker_Test extends PHPUnit_Framework_TestCase
|
||||
)
|
||||
);
|
||||
|
||||
/* FIXME: This breaks sometimes
|
||||
* (when the query is executed in different second than
|
||||
* date is read).
|
||||
*/
|
||||
$sql_query_2 = " UPDATE pma_table_tracking" .
|
||||
" SET `data_sql` = '# log $date user1test_statement1\n" .
|
||||
"# log $date user2test_statement2\n' " .
|
||||
@ -641,6 +659,8 @@ class PMA_Tracker_Test extends PHPUnit_Framework_TestCase
|
||||
$new_data
|
||||
)
|
||||
);
|
||||
|
||||
tearDownForTestsUsingDate();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
Reference in New Issue
Block a user