On Fri, Apr 27, 2012 at 6:16 PM, Denis Gervalle <[email protected]> wrote:
> Hi devs,
>
> Following the numerous database related issues that have/are delayed/ing
> the 3.5.1 release and the 4.0 release, and seing how it could be long and
> annoying to put multi-database tests in place, and the hard work Sorin has
> done in testing these issues again and again, I have taken a couple of hour
> to write a decent bash script.
> Here is an excerpt of the usage message of my script:
>
>  This script can do the following steps easily to help you testing xwiki
> distribution:
>   - Download a distribution package, either release or snapshot (using
> mysql/jetty distribution).
>   - Deploy that package, and configure it for a requested database.
>   - Create the needed database.
>   - Import a database dump, previously exported with this same tool.
>   - Launch the configured XWiki with Jetty.
>   - Backup the database after XWiki shutdown.
>  All operations could be done in a multiuser environment, using common
> databases, without conflict.
>
> You may start using it as easy as "xwiktest -v 3.5 -d oracle -w" to have a
> XWiki release 3.5 downloaded and run with oracle and non-conflicting ports
> and database.
> Full options are listed at the end of this thread for the interested.
>
> I really hope this script could help in testing more often any changes that
> may have consequences between versions, or may cause incompatibilities with
> some databases. It would be nice if a well connected VM (the one from Sorin
> has all DBs well configured but is badly connected and downloading is
> really slow :( ) could be available to all committers, avoiding each one to
> have to setup each database locally.
>
> If you find it useful, I will maintain this script as much as possible, and
> improve it further. I have already some idea like:
>  - automatically import a given XAR
>  - check logs, terminate and report issue automatically (to integrate with
> Jenkins?)
>  - allow starting multiple version one after each others, testing migration
> in one run
> ...
> This is already more than a simple script (~500 lines), and well documented.
>
> However, I do not found a good place to put such script in GitHub. IMO,
> this script is like release scripts, it will be maintained by the dev team,
> and it could became essentiel to the project, and I have conform as much as
> a bash script could to our coding practices. Therefore I do not think that
> putting it in xwiki-contrib is right. Release scripts should not even be
> there, and need a place in a xwiki repositories IMO.
>
> These are scripts that are never released nor compile or what ever. We have
> already something similar in xwiki repositories: xwiki-debug-eclipse
> I do not think it is nice to multiply repositories in xwiki, but there is a
> need for unreleased but maintained codes like these.
>
> I proposed that we create a new repository in XWiki to contains such codes,
> and to put/move in it:
>  - xwiki-debug-eclipse
>  - xwiki-release-tools (for release scripts)
>  - xwiki-testing-tools (for the above script)
>
> We may call this repository:
> - xwiki-tools
> - xwiki-utils
> - xwiki-dev-tools
> ...

+1 for xwiki-dev-tools

>
> WDYT ?
>
>
>
> --
> Denis Gervalle
> SOFTEC sa - CEO
> eGuilde sarl - CTO
>
> As promised for the curious, the options of my testing script:
>
> Usage: xwikitest [OPTIONS]
>
> Options:
>  -b backup.sql       Backup database to the given file (or folder for
> oracle) after shutdown.
>  -B backup.sql       Backup current database to the given file, same as -b
> -z -k -n
>  -d database         Choose a database
> (mysql-myisam,mysql-innodb,psql,oracle,hsqldb). Current is mysql-innodb.
>  -e distribution     Choose a distribution (enterprise or manager).
> Current is manager.
>  -i dump.sql         Import the given sql dump in the database before
> startup.
>  -I dump.sql         Import the given sql dump in the database without
> running, same as -i -z -n
>  -h                  Display this usage message. At the end, it shows your
> current arguments and alone the defaults.
>  -k                  Do not clean the database before startup.
>  -n                  Do not start XWiki.
>  -p port             Port for Jetty listening. Current is 7581.
>  -r snapshot         Use given snapshot (ie: 20120410.161114-97). Default
> to use release.
>  -s dbsuffix         Database suffix for test isolation. Current is DenisG.
>  -t port             Port for Jetty termination. Current is 7501.
>  -v version          Choose a XWiki version. Current is 4.1.
>  -w                  Download from maven.xwiki.org. Default is to search
> current folder.
>  -z                  Do not redeploy and reconfigure (use with care).
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs



-- 
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to