def test_extension(extension_name): result = None try: installer = Scripted_Installer() installer.set_instance(target_wiki) installer.install(extension_name) result = wiki_works.wiki_works(target_wiki) print "result=", result installer.uninstall(extension_name) except Exception, e: print e
def clear(): """When an extension fails to uninstall cleanly, uninstall the entire wiki, and copy the backup back in its place""" mwinstaller = Mediawiki_Installer() mwinstaller.uninstall(target_wiki) mwinstaller.duplicate(target_wiki2, target_wiki) def is_clean(): return check_isolation(["check_isolation", target_wiki]) if __name__ == "__main__": newenvironment() installer = Scripted_Installer() installer.set_instance(target_wiki) scripted_extensions = installer.get_installers() for extension_name in scripted_extensions: print extension_name, result = test_extension(extension_name) print result r = "Unknown" if result: r = "SCRIPTED_INSTALL_SEEMS_OK" else: r = "SCRIPTED_INSTALL_BREAKS" clean = is_clean() if clean: r += " UNINSTALL_CLEAN"