I have been working with David Winterfeldt on adding Cactus tests to Struts.
The plan is to add all build-related stuff tomorrow (Sunday) in Struts CVS
with a very simple test class. The second step will be to gather all
available help to write some other unit tests and ensuring that all new
submitted code has it's own test classes.

Here is the directory structure proposal (I have put a + in front of new
items and * in front of modified existing items) :

jakarta-struts
  |_ * build.xml
  |_ + build-tests.xml
  |_ * build.properties.sample
  |_ conf
    |_ share
    |_ + test
      |_  + tomcat32
        |_ + server.xml
      |_ + tomcat40
        |_ + server.xml
      |_ + web.xml
      |_ + cactus.properties
  |_ src
    |_ share
    |_ [...]
    |_ + test
      |_ + org
        |_  + ... test classes
  |_ target (output directory)
    |_ library
    |_ [...]
    |_  + test
      |_ + classes
      |_ + servers
        |_ + tomcat32
          |_ + test.war
          |_ + conf
            |_ + server.xml
          |_ + webapps
            |_ + test
              |_ (see below for details)
        |_ + tomcat40
          |_ + test.war
          |_ + conf
            |_ + server.xml
          |_ + webapps
            |_ + test
              |_ (see below for details)

The expanded test.war will contain :

test
  |_ WEB-INF
    |_ classes
      |_ <test classes>
    |_ lib
      |_ struts.jar
      |_ junit.jar
      |_ commons-cactus.jar (the one for the correct servlet API)
    |_ web.xml

Note: One option is to put the jars in lib/ in the global classpath of
Tomcat so that they are shared by all webapps

3 new targets will be added to build.xml : test_all, test_tomcat_32 and
test_tomcat40

The structure will probably slightly change as we implement it.

We will probably commit this around tomorrow night. So, if you have some
questions/modifications to submit please do so ASAP ... :)

Thanks
Vincent.

Reply via email to