Distributed continuous integration testing for JavaScript.
PHP JavaScript Perl
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 62 commits ahead, 505 commits behind jquery:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
content
css
dominator @ 02ad493
images
inc
js
log/wetpaint.com
logic
mockjax @ b6b5cda
pavlov @ 5654108
perf-ui
qunit @ 4f51c3f
scripts
tests
.gitignore
.gitmodules
.htaccess
LICENSE
README
config.ini
demo.html
index.php
patch_pavlov.diff

README

<Wetpaint>
TestSwarm is a way of distributing JavaScript testing. A job with a given label is submitted. This job has urls to visit each with its own name. Clients visit TestSwarm and join in to run jobs, reporting successes and failures across domains to the service using window.postMessage (via the /js/inject.js file). Writing tests is separate, but support is built-in for QUnit and a few other frameworks.

Where:
http://testswarm.wetpaint.me/
For a high level overview of our setup, including writing tests see:
https://github.com/Wetpaint/wetpaint.com/wiki/Testing-UI+JavaScript
Documentation:
https://github.com/jquery/testswarm/wiki
Origin source:
https://github.com/Wetpaint/testswarm
Upstream source:
https://github.com/jquery/testswarm

To access testswarm:
ssh dev@hudson.wetpaint.me su - testswarm
or ssh testswarm@hudson.wetpaint.me

To remove the old jobs:
mysql testswarm -u testswarm -p < config/reset.sql 

To remove all the old tests and update the useragents lists:
mysql testswarm -u testswarm -p < config/cleanup.sql
mysql testswarm -u testswarm -p < config/useragents.sql 

TO add jobs:
run the perl script in scripts/wetpaint.com.pl
or via Jenkins on http://hudson.wetpaint.me:8080/job/wetpaint.com-TestSwarm/
or manually by visiting http://testswarm.wetpaint.me and then doing this in the console:
var _domain = 'http://stage.wetpaint.me';
jQuery.ajax({
	type: 'POST',
	data: {
	job_name: 'good job',
	max: 10,
	user: "jenkins",
	auth: "---the-token-from-the-mysql-user-table-for-the-above-user-",
	browsers: 'all',
	output: "dump",
	state: "addjob",
	'suites[]': ["Home","Article"],
	'urls[]': [_domain.concat("/"),_domain.concat("/jersey-shore/articles/sammi--deena-defend-the-situation-hes-not-gay-hes-just-italian--exclusive-")]
	},
	url: 'http://testswarm.wetpaint.me',
	traditional: true,
	success: function(data){
		console.log(data);
	}
});

resources for setup:
https://github.com/jquery/testswarm/wiki
http://blog.jcoglan.com/2011/07/20/refactoring-towards-testable-javascript-part-3/
http://wiki.collectionspace.org/display/collectionspace/Step+1+-+Notes+for+Installing+TestSwarm
http://wiki.collectionspace.org/display/collectionspace/Step+2+-+TestSwarm+Notes+Adding+User%2C+Adding+Basic+Jobs
http://sweetnr.com/post/integrating-test-swarm-with-hudson

jenkins-testswarm plugin:
https://github.com/appendto/jenkins-testswarm

The remaining material is from the original README.
</Wetpaint>

TestSwarm v0.2.0pre - Distributed continuous integration for JavaScript.

http://testswarm.com/

DISCUSSION

The Google Group for general usage and development discussion:
http://groups.google.com/group/testswarm

INSTALLATION

1) Create a mysql database and a user who can connect and write to it.

2) Load the MySQL database.

   mysql DBNAME -u USER -p < testswarm.sql
   mysql DBNAME -u USER -p < useragents.sql

3) Copy the ./config/config-sample.ini to ./config.ini and change the options to correspond to your MySQL database information.

4) Copy the ./config/.htaccess-sample to ./htaccess. If needed change the RewriteBase to match the contextpath configuration.

5) Load the cronjob (changing the URL to point to your site).

   crontab << config/cronjob.txt

6) Currently the server must be run in Apache (it uses a .htaccess file).

To run it from non-root, set contextpath = "/testswarm" (or whatever path you use).

And update the .htaccess file, use RewriteBase /testswarm/

Test if /testswarm/login loads, if not, put some jibberish into the .htaccess file to see if its getting loaded. If not, make sure AllowOverride is set to All (at least not to None) in your main Apache config.

LICENSE

See LICENSE for more information.

Planning for TestSwarm and other testing tools related work now happens on the jQuery Testing Team planning wiki: http://jquerytesting.pbworks.com/w/page/41556026/FrontPage