I have no idea how MenuRouterTest currently passes on the testbots. I can not get the test to pass locally I get the following failures:
Test summary
------------
Menu router 218 passes, 6 fails, 6 exceptions, and 41 debug messages
Status Group Filename Line Function
--------------------------------------------------------------------------------
Exception Notice MenuRouterTest.ph 376 Drupal\system\Tests\Menu\MenuRouter
Undefined index:
menu-test/hidden/menu/manage/%Drupal\system\Tests\Menu\MenuRouterTest->testMenuHidden()
Drupal\simpletest\TestBase->run()
simpletest_script_run_one_test('19',
'Drupal\system\Tests\Menu\MenuRouterTest')
Fail Other MenuRouterTest.ph 377 Drupal\system\Tests\Menu\MenuRouter
depth is equal to 4.
Fail Other MenuRouterTest.ph 378 Drupal\system\Tests\Menu\MenuRouter
plid is equal to 111.
Exception Notice MenuRouterTest.ph 380 Drupal\system\Tests\Menu\MenuRouter
Undefined index:
menu-test/hidden/menu/manage/%Drupal\system\Tests\Menu\MenuRouterTest->testMenuHidden()
Drupal\simpletest\TestBase->run()
simpletest_script_run_one_test('19',
'Drupal\system\Tests\Menu\MenuRouterTest')
Exception Notice MenuRouterTest.ph 384 Drupal\system\Tests\Menu\MenuRouter
Undefined index:
menu-test/hidden/menu/manage/%/listDrupal\system\Tests\Menu\MenuRouterTest->testMenuHidden()
Drupal\simpletest\TestBase->run()
simpletest_script_run_one_test('19',
'Drupal\system\Tests\Menu\MenuRouterTest')
Fail Other MenuRouterTest.ph 385 Drupal\system\Tests\Menu\MenuRouter
depth is equal to 1.
Pass Other MenuRouterTest.ph 386 Drupal\system\Tests\Menu\MenuRouter
plid is equal to .
Exception Notice MenuRouterTest.ph 388 Drupal\system\Tests\Menu\MenuRouter
Undefined index:
menu-test/hidden/menu/manage/%/addDrupal\system\Tests\Menu\MenuRouterTest->testMenuHidden()
Drupal\simpletest\TestBase->run()
simpletest_script_run_one_test('19',
'Drupal\system\Tests\Menu\MenuRouterTest')
Fail Other MenuRouterTest.ph 389 Drupal\system\Tests\Menu\MenuRouter
depth is equal to 1.
Pass Other MenuRouterTest.ph 390 Drupal\system\Tests\Menu\MenuRouter
plid is equal to .
Exception Notice MenuRouterTest.ph 392 Drupal\system\Tests\Menu\MenuRouter
Undefined index:
menu-test/hidden/menu/manage/%/editDrupal\system\Tests\Menu\MenuRouterTest->testMenuHidden()
Drupal\simpletest\TestBase->run()
simpletest_script_run_one_test('19',
'Drupal\system\Tests\Menu\MenuRouterTest')
Fail Other MenuRouterTest.ph 393 Drupal\system\Tests\Menu\MenuRouter
depth is equal to 1.
Pass Other MenuRouterTest.ph 394 Drupal\system\Tests\Menu\MenuRouter
plid is equal to .
Exception Notice MenuRouterTest.ph 396 Drupal\system\Tests\Menu\MenuRouter
Undefined index:
menu-test/hidden/menu/manage/%/deleteDrupal\system\Tests\Menu\MenuRouterTest->testMenuHidden()
Drupal\simpletest\TestBase->run()
simpletest_script_run_one_test('19',
'Drupal\system\Tests\Menu\MenuRouterTest')
This is due to there being no menu_load function as the menu module is not enabled. When we build the router table in http://api.drupal.org/api/drupal/core%21includes%21menu.inc/function/_me... if the path contains
%something
we look for a function something_load()
if we find it we replace the %something
with %
. This is not happening and hence the tests fail.
Basically since the menu_test module declares paths with %menu in them and then the router test looks for paths like 'menu-test/hidden/menu/manage/%'
there is an unmet dependency on the menu module.