Revision: 49126 Author: kim Date: 2009-04-01 17:30:42 +0000 (Wed, 01 Apr 2009)
Log Message: ----------- add utilities Added Paths: ----------- trunk/wikiation/util/ trunk/wikiation/util/allnaive.py trunk/wikiation/util/environment/ trunk/wikiation/util/environment/Metavid.sh trunk/wikiation/util/environment/Referata.sh trunk/wikiation/util/environment/Uniwiki.sh trunk/wikiation/util/environment/Wikipedia.sh trunk/wikiation/util/scripted_clean.py trunk/wikiation/util/wiki_works.py Added: trunk/wikiation/util/allnaive.py =================================================================== --- trunk/wikiation/util/allnaive.py (rev 0) +++ trunk/wikiation/util/allnaive.py 2009-04-01 17:30:42 UTC (rev 49126) @@ -0,0 +1,44 @@ +#!/usr/bin/env python +import sys +import os, os.path +sys.path.append("..") + + +import wiki_works +from installer.naive_installer import Naive_Installer +# settings + +target_wiki='test' +resultfile=file("naive_results","w") + + +def test_extension(extension_name): + result=None + try: + installer=Naive_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 + + return result + +if __name__=="__main__": + installer=Naive_Installer() + installer.set_instance(target_wiki) + naive_extensions=installer.get_installers() + for extension_name in naive_extensions: + print extension_name, + result=test_extension(extension_name) + print result + r="Unknown" + if result: + r="NAIVE_INSTALL_SEEMS_OK" + else: + r="NAIVE_INSTALL_BREAKS" + resultfile.write("* "+extension_name+" "+r+"\n") + resultfile.flush() + resultfile.close() Property changes on: trunk/wikiation/util/allnaive.py ___________________________________________________________________ Added: svn:executable + Added: trunk/wikiation/util/environment/Metavid.sh =================================================================== --- trunk/wikiation/util/environment/Metavid.sh (rev 0) +++ trunk/wikiation/util/environment/Metavid.sh 2009-04-01 17:30:42 UTC (rev 49126) @@ -0,0 +1,21 @@ +#!/bin/sh + +revision=48811 + + +./installer.py uninstall mediawiki:MetavidWiki + +./installer.py install mediawiki: revision 48941 as MetavidWiki + +./installer.py install extension:Configure in MetavidWiki + +./installer.py install extension:SemanticMediaWiki in MetavidWiki +./installer.py install extension:MetavidWiki in MetavidWiki + +./installer.py install extension:ParserFunctions in MetavidWiki +./installer.py install extension:ExternalData in MetavidWiki +#./installer.py install extension:Cite in MetavidWiki + +./installer.py install naive:ConfirmEdit in MetavidWiki +./installer.py install extension:OggHandler in MetavidWiki + Property changes on: trunk/wikiation/util/environment/Metavid.sh ___________________________________________________________________ Added: svn:executable + Added: trunk/wikiation/util/environment/Referata.sh =================================================================== --- trunk/wikiation/util/environment/Referata.sh (rev 0) +++ trunk/wikiation/util/environment/Referata.sh 2009-04-01 17:30:42 UTC (rev 49126) @@ -0,0 +1,30 @@ +#!/bin/sh + +./installer.py uninstall mediawiki:SMW_testsystem + +Tag=REL1_14_0 + +./installer.py install mediawiki:$Tag as SMW_testsystem + +./installer.py install extension:Configure in SMW_testsystem + +./installer.py install extension:SemanticMediaWiki in SMW_testsystem +./installer.py install extension:SemanticForms in SMW_testsystem +./installer.py install extension:SemanticDrilldown in SMW_testsystem +./installer.py install extension:SemanticCompoundQueries in SMW_testsystem +./installer.py install extension:SemanticGoogleMaps in SMW_testsystem +./installer.py install extension:SemanticResultFormats in SMW_testsystem + +./installer.py install extension:ExternalData in SMW_testsystem +./installer.py install extension:DataTransfer in SMW_testsystem +./installer.py install extension:ParserFunctions in SMW_testsystem +./installer.py install extension:Renameuser revision 37407 in SMW_testsystem +./installer.py install naive:ReplaceText in SMW_testsystem +./installer.py install naive:Cite revision 37577 in SMW_testsystem +./installer.py install extension:HeaderTabs in SMW_testsystem +./installer.py install naive:StringFunctions in SMW_testsystem +./installer.py install naive:ConfirmEdit in SMW_testsystem +./installer.py install extension:GoogleGeocoder in SMW_testsystem +./installer.py install naive:Widgets in SMW_testsystem + +./installer.py install naive:DeleteBatch tag $Tag in SMW_testsystem Property changes on: trunk/wikiation/util/environment/Referata.sh ___________________________________________________________________ Added: svn:executable + Added: trunk/wikiation/util/environment/Uniwiki.sh =================================================================== --- trunk/wikiation/util/environment/Uniwiki.sh (rev 0) +++ trunk/wikiation/util/environment/Uniwiki.sh 2009-04-01 17:30:42 UTC (rev 49126) @@ -0,0 +1,21 @@ +#!/bin/sh + +./installer.py uninstall mediawiki:UW_testsystem + +Tag=REL1_13_3 + +./installer.py install mediawiki:$Tag as UW_testsystem + +./installer.py install extension:Configure tag $Tag in UW_testsystem + +./installer.py install extension:CssHooks in UW_testsystem +./installer.py install extension:Javascript in UW_testsystem +./installer.py install extension:MooTools12core in UW_testsystem +./installer.py install extension:AutoCreateCategoryPages in UW_testsystem +./installer.py install extension:GenericEditPage in UW_testsystem +./installer.py install extension:CatBoxAtTop in UW_testsystem +./installer.py install extension:CustomToolbar in UW_testsystem +./installer.py install extension:Layouts in UW_testsystem +./installer.py install extension:Authors in UW_testsystem +./installer.py install extension:CreatePage in UW_testsystem + Property changes on: trunk/wikiation/util/environment/Uniwiki.sh ___________________________________________________________________ Added: svn:executable + Added: trunk/wikiation/util/environment/Wikipedia.sh =================================================================== --- trunk/wikiation/util/environment/Wikipedia.sh (rev 0) +++ trunk/wikiation/util/environment/Wikipedia.sh 2009-04-01 17:30:42 UTC (rev 49126) @@ -0,0 +1,89 @@ +#!/bin/sh +cd ../../installer + +revision="48811" +echo $revision + +#CentralAuth and GlobalBlocking fail ... global ? + +./installer.py uninstall mediawiki:WMF_testsystem + +./installer.py install mediawiki: revision $revision as WMF_testsystem + +./installer.py install naive:CategoryTree revision $revision in WMF_testsystem +#./installer.py install naive:CentralAuth revision $revision in WMF_testsystem + +# needs to run an install script to add table(s) to database +./installer.py install extension:CheckUser revision $revision in WMF_testsystem + +#:{{done}} -- this extension shows twice with different numbers.. this is the highest +./installer.py install naive:Cite revision $revision in WMF_testsystem +# SpecialCite shares the Cite directory in SVN. We split them into two directories +./installer.py install extension:SpecialCite revision $revision in WMF_testsystem + +./installer.py install naive:Collection revision $revision in WMF_testsystem + +# non standard include +./installer.py install extension:CrossNamespaceLinks revision $revision in WMF_testsystem + +./installer.py install naive:ExpandTemplates revision $revision in WMF_testsystem + +# this extension is marked as obsolete +./installer.py install naive:Makebot revision $revision in WMF_testsystem +# this extension is marked as obsolete +#./installer.py install naive:Makesysop revision $revision in WMF_testsystem + +# this is not an extension that you can install from SVN +./installer.py install extension:OAI revision $revision in WMF_testsystem + +# needs to be an extension as it requires new tables and stuff +./installer.py install extension:Oversight revision $revision in WMF_testsystem + +# needs to be an extension as it requires a non standard entry in LocalSettings +./installer.py install extension:Renameuser revision $revision in WMF_testsystem + +./installer.py install naive:SiteMatrix revision $revision in WMF_testsystem +./installer.py install naive:CharInsert revision revision in WMF_testsystem + +# requires ploticus, requires settings +#./installer.py install naive:EasyTimeline revision $revision in WMF_testsystem + +./installer.py install extension:ImageMap revision $revision in WMF_testsystem +./installer.py install extension:InputBox revision $revision in WMF_testsystem +./installer.py install extension:ParserFunctions in WMF_testsystem +./installer.py install naive:Poem revision $revision in WMF_testsystem +./installer.py install naive:SyntaxHighlight_GeSHi revision $revision in WMF_testsystem +./installer.py install naive:wikihiero revision $revision in WMF_testsystem +./installer.py install extension:OggHandler revision $revision in WMF_testsystem + +# AntiSpoof needs to be installed prior to AbuseFilters +./installer.py install naive:AntiSpoof revision $revision in WMF_testsystem + +# needs further configurations.. needs to have a file added +#./installer.py install naive:AbuseFilter revision $revision in WMF_testsystem + +./installer.py install naive:AntiBot revision $revision in WMF_testsystem +./installer.py install naive:AssertEdit revision $revision in WMF_testsystem +./installer.py install naive:CentralNotice revision $revision in WMF_testsystem +./installer.py install naive:ConfirmEdit revision $revision in WMF_testsystem +./installer.py install naive:DismissableSiteNotice revision $revision in WMF_testsystem +./installer.py install naive:Gadgets revision $revision in WMF_testsystem + +# This expects global pre-exising functionality +#./installer.py install naive:GlobalBlocking revision $revision in WMF_testsystem + +./installer.py install naive:MWSearch revision $revision in WMF_testsystem +./installer.py install naive:OpenSearchXml revision $revision in WMF_testsystem +./installer.py install naive:SimpleAntiSpam in WMF_testsystem +./installer.py install naive:SpamBlacklist revision $revision in WMF_testsystem +./installer.py install naive:TitleBlacklist in WMF_testsystem +./installer.py install extension:TitleKey revision $revision in WMF_testsystem +./installer.py install naive:TorBlock revision $revision in WMF_testsystem + +# result is an exception error +#./installer.py install naive:TrustedXFF revision $revision in WMF_testsystem + +./installer.py install naive:UsernameBlacklist in WMF_testsystem +./installer.py install naive:WikimediaMessages in WMF_testsystem + + Property changes on: trunk/wikiation/util/environment/Wikipedia.sh ___________________________________________________________________ Added: svn:executable + Added: trunk/wikiation/util/scripted_clean.py =================================================================== --- trunk/wikiation/util/scripted_clean.py (rev 0) +++ trunk/wikiation/util/scripted_clean.py 2009-04-01 17:30:42 UTC (rev 49126) @@ -0,0 +1,90 @@ +#!/usr/bin/env python +import sys +import os, os.path +sys.path.append("..") + + +import wiki_works +from installer.scripted_installer import Scripted_Installer +from installer.mediawiki_installer import Mediawiki_Installer +from installer.isolation import check_isolation,difftests +# settings + +target_wiki='test' +target_wiki2='test2' +resultfile=file("scripted_results","w") +mw_revision="REL1_14_0" + +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 + + return result + +def newenvironment(): + """setup a base environment, with a backup wiki in case an extension actually fails""" + mwinstaller=Mediawiki_Installer() + + #remove old stuff + try: + mwinstaller.uninstall(target_wiki) + except Exception,e: #? + raise e + + try: + mwinstaller.uninstall(target_wiki2) + except Exception,e: #? + raise e + mwinstaller.install(installer_name=mw_revision, as_alias=target_wiki) + difftests(target_wiki) + mwinstaller.duplicate(target_wiki, target_wiki2) + + +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" + else: + r+=" UNINSTALL_DIRTY" + clear() + + + resultfile.write("* "+extension_name+" "+r+"\n") + resultfile.flush() + resultfile.close() Property changes on: trunk/wikiation/util/scripted_clean.py ___________________________________________________________________ Added: svn:executable + Added: trunk/wikiation/util/wiki_works.py =================================================================== --- trunk/wikiation/util/wiki_works.py (rev 0) +++ trunk/wikiation/util/wiki_works.py 2009-04-01 17:30:42 UTC (rev 49126) @@ -0,0 +1,57 @@ +#!/usr/bin/python +import sys, os.path +sys.path.append("..") + +import installer.settings as installersettings +import wikiation_exttest.settings #for some reason +from wikiation_exttest.logindata import LoginData + + + +def do_test(login): + try: + site=login.login() + ver=site.live_version() + if isinstance(ver,list): + return True + else: + return False + except Exception, e: + return False + # or, if in doubt + return False # anyway + +def make_login(target): + login=LoginData( + name="Does it blend", + protocol='http', + server='localhost', + scriptpath=installersettings.base_scriptpath+target, + lang='en', + encoding='utf-8', + user='admin', + password='admin1234' + ) + return login + + +def wiki_works(target): + login=make_login(target) + result=do_test(login) + return result + +def main(): + if len(sys.argv)<2: + print "syntax: wiki_works.py instance_name" + sys.exit(1) + target=sys.argv[1] + + if wiki_works(target): + print "wiki works" + sys.exit(0) + else: + print "wiki doesn't work" + sys.exit(1) + +if __name__=="__main__": + main() Property changes on: trunk/wikiation/util/wiki_works.py ___________________________________________________________________ Added: svn:executable + _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs