-
Notifications
You must be signed in to change notification settings - Fork 8
ParallelTesting
WikiInclude(ParallelTestingExplanation)
-
The Continuum server checks out the latest source code to a working directory. It is intended that all local Maven servers would use a hard link tree taken from this working directory. Remote Maven servers would use a hard link tree taken from their local primary server. Link trees might be built with rdiffbackup or rdup, for example. Each domain would have a primary server. The Continuum server is the primary server for its local domain, but does not run any of the actual tests.
-
Each test server has multiple cores, so the tests need to be divided into several subsets, so that each server is running one more process than its number of processors e.g. an 8 core machine would divide the tests into 9 subsets.
- The existing legacy (non-JUnit) tests within ESC/Java2 will be wrapped within a new JUnit test case or test suite.
- Test Cases i.e. all new and existing JUnit tests
- Primary Command Line Options - all possible command line options
- Secondary (Non-Exclusive) Command Line Options
- Theorem Provers
- https://mobius.ucd.ie/repos/src/test
- https://mobius.ucd.ie/repos/src/escjava/trunk/ESCTools/src/test
- https://mobius.ucd.ie/repos/src/escjava/trunk/ESCTools/pom.xml
WikiInclude(ParallelTestingExample)
[http://voting.ucd.ie:8080/continuum/admin/displayQueues!display.action]
WikiInclude(ParallelTestingNews)
ChangeLog(src/test,1) ChangeLog(src/escjava/trunk/ESCTools/src/test,1) ChangeLog(src/escjava/trunk/ESCTools/pom.xml,1)
- Apache Maven
- Apache Continuum
- Apache Tomcat
- JUnit
We using Maven and Continuum. I haven't seen any easy way of distributing the builds, so I am looking at redirecting the 'mvn' command on kind.ucd.ie to a script which uses passphrase-less ssh to run maven on each of the servers. Continuum is running on http://voting.ucd.ie:8080/continuum and maven is installed on each of the servers.
We have added LDAP user account 'maven' which will be used to run the test build on each of our servers.
Each server will need to have a 'maven' user account with a shell script for running maven such that it can be called from kind.ucd.ie, for example:
ssh maven@server_hostname ./maven $*
The actual username doesn't matter as long as we have a list with the appropriate username for each server
The working directory being used by continuum is:
/Network/Servers/kind.ucd.ie/Volumes/Home/maven/working-directory
This always contains the latest version of ESCJava2 source code, for example
As an alternative to mounting this directory, the local shell script could achieve the same by
cd ./working_directory
svn up https://mobius.ucd.ie/repos/src/escjava/trunk/ESCTools
export ESCTOOLS_ROOT=$PWD
make pre-maven
mvn $*
and optionally use rync to return a copy of target/surefire-reports
When Tomcat is running as a service (rather than as root) then continuum is unable to use svn to connect over https (see http://www.nabble.com/problem-with-svn-via-https---pls-help-td15573660.html) so the repository URL needs to be changed to use svn+ssh as user 'maven'...
Provider message: The svn command failed.
Command output:
-------------------------------------------------------------------------------
svn: PROPFIND request failed on '/repos/src/escjava/trunk/ESCTools'
svn: PROPFIND of '/repos/src/escjava/trunk/ESCTools': Server certificate verification failed: issuer is not trusted (https://mobius.ucd.ie)
-------------------------------------------------------------------------------
DanZimmerman recommends authprogs; it makes it much easier to edit the allowed commands later. Presumably, there will be more than one key we want to allow, and we may also want to restrict the IPs that are allowed to execute them, and authprogs does both reasonably well. He has been using it to allow rsyncs with passphraseless keys for quite some time.
[http://www.hackinglinuxexposed.com/tools/authprogs/src/]
http://www.csua.berkeley.edu/~ranga/notes/ssh_nopass.html
no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="/usr/local/bin/authprogs" ssh-dss AAAAB3NzaC1kc3MAAACBAJwrQFN/TLLeupKULhAZfsYkb20TI4TX/hgp8mdlqOoAaaRKRi+bbM1/7nhJ3yOcnvw4HpPUr0teIep9IlIbHcfyUmu7R+w4IYExeccbetC5tPNVVs7zaeSWgPV7qu9BTctLeQisQA1SNxIQy2eYT+A899FjBgYLtxfv62ht9w7pAAAAFQCHhJMNpf4xCiIbPpRXWFf5p9bt1QAAAIEAgrS3RWpxtj2SvoZwGAvkAHFrv6Q7K9+/0RC7jDsyFseCrLdDRckP8GiWR/5tKtkZ5+pNYeDlSQ8/S9TQ4PawMrE9AjZlu6UKMCzxJUo8hfWT36/I43Q8PNWQHVP0hZKe6uKrGlrS6zaJYrsZuBPWattQRy6eaZALblZz2SuUTS0AAACAcdyxXI6O4k8/EAmg+pXNfLtCP+fnre1SSH5aFw8vwVYzdrNqjIUpDT3Pn5Ow8GUKDVK1GoPW3pK5DCw5om1LWyZa5VcSSyPYwuDWYd7jAhGgTCCNysc7I9Wo3UcsiWHu7JApRi3emKhoFaOweuy+NJVWvdCkM+1CwmKfbBuYygo= [email protected]
https://mobius.ucd.ie/browser/src/test
||Hostname_'||'''Operating System'''||'_Hardware|| ||arrow.ucd.ie||Linux|| || ||category.ucd.ie||Mac OS X|| || ||object.ucd.ie||Linux|| || ||voting.ucd.ie||Mac OS X|| || ||athena.insttech.washington.edu||Mac OS X||G5|| ||boomer.insttech.washington.edu||Mac OS X||G5||
- https://mobius.ucd.ie/repos/src/escjava/trunk/ESCTools/src/test/options.txt
- https://mobius.ucd.ie/repos/src/escjava/trunk/ESCTools/src/test/secondOptions.txt
http://voting.ucd.ie:8080/continuum/buildResults.action?projectId=1&projectGroupId=2
Version: 31 Time: Tue May 6 12:12:40 2008 Author: dcochran (dcochran) IP: 193.1.132.32