SLING-7167 Adjust READMEs
[sling-org-apache-sling-launchpad-contrib-testing.git] / README.txt
1 Apache Sling Launchpad Testing module
2
3 This module builds a Sling webapp using bundles from the trunk, and
4 runs integration tests (that were previously in the launchpad/webapp
5 module) on them.  
6
7 How to run these tests
8 ----------------------
9
10 1) Build all Sling bundles
11
12   cd <top of the Sling source code tree>
13   mvn clean install
14   
15 2) Build and run this
16
17   cd contrib/launchpad/testing
18   mvn clean install
19   
20 This might required building a few other Sling bundles, from the contrib
21 and samples code trees. We'll need to improve this, but right now there's no
22 common pom to build all what's required for these contrib integration tests.
23
24 Integration tests
25 -----------------
26 This module provides a number of integration tests, that run automatically when
27 doing a full build, and test Sling via its client HTTP interfaces.
28
29 These tests can also be run against another instance of Sling, for example to
30 test it in another web container than the embedded Jetty that is used during the
31 Maven build.
32
33 See pom.xml for the parameters that control these integration tests. Here's an
34 example of running them against a Sling instance running on host xyzzy, port 1234,
35 with the Sling webapp mounted under /foo:
36
37    mvn -o -s /dev/null test \
38     -Dhttp.port=1234 \
39     -Dtest.host=xyzzy \
40     -Dhttp.base.path=foo \
41     -Dwebdav.workspace.path=foo/dav/default \
42     -Dtest=**/integrationtest/**/*Test.java
43
44 The  -s /dev/null parameter disables all your local Maven settings, to make sure
45 they don't interfere. Feel free to remove that if you know what you're doing.
46
47 To run a single test, other values can be used for the "-Dtest" parameter.
48
49 This is very useful during development: you can leave a Sling webapp instance
50 running, update bundles in it using the mvn autoInstallBundle profile, and run
51 specific integration tests quickly from another terminal.
52
53 JCR Install Integration tests
54 -----------------------------
55
56 This module also contains integration tests for the JCR Install module. These
57 tests are disabled by default, since they may not be of general interest. To
58 include the JCR Install tests in the integration tests run enable the
59 jcrinstall-tests profile such as in
60
61    mvn -P jcrinstall-tests integration-test
62    
63 *** WARNING: the jcrinstall-tests do not work in revision 741168, due to changes
64 in the start levels. They can be run according to the scenario below, if you 
65 change the default bundles start level to 30, after starting the Sling instance
66 with mvn jetty:run, from http://localhost:8080/system/console/vmstat. ***     
67
68 To run the jcrinstall integration tests quickly, without having to start the
69 webapp first:
70
71 1. Run mvn clean package jetty:run -P jcrinstall-tests in a first console
72
73 (1.5 see WARNING above - adjust the default bundles start level)
74
75 2. In another console run
76
77   mvn test -Pjcrinstall-tests  -Dtest=**/integrationtest/jcrinstall/**/*Test.java
78   
79