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

Reply via email to