Index: includes/install.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/install.inc,v retrieving revision 1.89 diff -u -r1.89 install.inc --- includes/install.inc 9 May 2009 18:35:01 -0000 1.89 +++ includes/install.inc 11 May 2009 06:36:08 -0000 @@ -610,6 +610,7 @@ // Uninstall the module. module_load_install($module); module_invoke($module, 'uninstall'); + watchdog('system', '%module module uninstalled.', array('%module' => $module), WATCHDOG_INFO); // Now remove the menu links for all paths declared by this module. if (!empty($paths)) { Index: includes/module.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/module.inc,v retrieving revision 1.140 diff -u -r1.140 module.inc --- includes/module.inc 11 Apr 2009 17:58:17 -0000 1.140 +++ includes/module.inc 11 May 2009 06:36:08 -0000 @@ -258,6 +258,7 @@ ->execute(); drupal_load('module', $module); $invoke_modules[] = $module; + watchdog('system', '%module module enabled.', array('%module' => $module), WATCHDOG_INFO); } } @@ -309,6 +310,7 @@ ->condition('name', $module) ->execute(); $invoke_modules[] = $module; + watchdog('system', '%module module disabled.', array('%module' => $module), WATCHDOG_INFO); } } Index: modules/system/system.test =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.test,v retrieving revision 1.41 diff -u -r1.41 system.test --- modules/system/system.test 6 May 2009 10:37:28 -0000 1.41 +++ modules/system/system.test 11 May 2009 06:36:09 -0000 @@ -52,6 +52,21 @@ $this->assertEqual(module_exists($module), $enabled, t($message, array('@module' => $module))); } } + + /** + * Assert there was a log entry is generated for module status change. + * + * @param $status + * New status of the module. + */ + function assertModuleLogMessage($status) { + $count = db_select('watchdog', 'w') + ->condition('message', "%module module $status.", '=') + ->countQuery() + ->execute() + ->fetchField(); + $this->assertTrue($count > 0, t('watchdog table contains @count rows regarding module status changing to @status', array('@count' => $count, '@status' => $status))); + } } /** @@ -87,6 +102,7 @@ $this->assertText(t('hook_modules_enabled fired for aggregator'), t('hook_modules_enabled fired.')); $this->assertModules(array('aggregator'), TRUE); $this->assertTableCount('aggregator', TRUE); + $this->assertModuleLogMessage('enabled'); // Disable aggregator, check tables, uninstall aggregator, check tables. $edit = array(); @@ -98,6 +114,7 @@ $this->assertText(t('hook_modules_disabled fired for aggregator'), t('hook_modules_disabled fired.')); $this->assertModules(array('aggregator'), FALSE); $this->assertTableCount('aggregator', TRUE); + $this->assertModuleLogMessage('disabled'); // Uninstall the module. $edit = array(); @@ -111,6 +128,7 @@ $this->assertText(t('hook_modules_uninstalled fired for aggregator'), t('hook_modules_uninstalled fired.')); $this->assertModules(array('aggregator'), FALSE); $this->assertTableCount('aggregator', FALSE); + $this->assertModuleLogMessage('uninstalled'); } }