From a0f829c3d217eacd5480cc4fa382dd095b6ead50 Mon Sep 17 00:00:00 2001 From: Jason van Zyl Date: Sat, 24 Feb 2007 12:08:10 +0000 Subject: [PATCH] o summary of IT problems git-svn-id: https://svn.apache.org/repos/asf/maven/core-integration-testing/trunk@511262 13f79535-47bb-0310-9956-ffa450edef68 --- its/ITProblems.txt | 102 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 its/ITProblems.txt diff --git a/its/ITProblems.txt b/its/ITProblems.txt new file mode 100644 index 0000000000..316996bea7 --- /dev/null +++ b/its/ITProblems.txt @@ -0,0 +1,102 @@ +- [-] Goals + - [ ] An IT should be completely self-contained so that the problem + can be understood by looking in one place, in one Maven + project. + - [ ] We should be able to create an Archetype so that users can + easily create ITs for us + - [+] The ITs should be in a project of their own so that we can + reuse them across versions of Maven. We could actually run + new versions of integration tests against old versions of + Maven. Solution: the ITs are now in a separate build and it + is possible to run them + - [ ] We should be able to easily integrate the IT into a larger + run where we can use forked or embedded execution. + - [ ] We should create Archetypes for all categories of problems so + that anyone can generate tests cases for us. Then there is so + much that we can do in terms of automating this process of + checking tests for quality along with the patches. + - [ ] automate the testing of ITs submitted by users + - [ ] Each IT should have its own repository if it needs resources + from repository. We can't mess with a users repository when + testing. + - [ ] We need to have a file system based remote repository for + testing + - [ ] We need to standardize on integration testing in general. We + have people going all over the place and it's a disaster. + - [ ] We have too many IT plugins (3) + - [ ] We have too many invokers (5) + - [ ] We have too many verifiers (3) + - [ ] The ITs should run nicely from an IDE. Solution: this does + work but requires that you run mvn clean + resources:testResources first as the IDE doesn't know how to + set that up. Needs to be fully fixed. But it is much nicer + running this stuff in your IDE. +- [-] Problems with ITs + - [+] Verifier jar required by the bootstrap requires a special + verifier.jar there is no released version of this tool. + Solution: the bootstrap now uses Ant and we've gotten rid of + a lot of the complexity. + - [+] The maven-core-it plugin needs to be decoupled into its + separate purposes because there are currently 12 different + things going on in the plugin and it would be really + confusing for a new user to figure out what's going on in the + plugin and how it applies to the integration testing. + Solution: these have now been broken down into plugins that + correspond to their function in the ITs. + - [ ] it0006 is an integration test for the verifier plugin. + - [ ] it0014 uses the compiler plugin to test plugin configuration. + - [ ] it0016 is an integration test for the WAR plugin. + - [ ] it0017 is an integration test for the EJB plugin. + - [ ] it0018 uses real dependencies to test artifact resolution. + - [ ] it0020 tests beanshell mojo support. + - [ ] it0024 uses the compiler plugin to test mojo configuration. + - [ ] it0028 uses the compiler plugin to test mojo configuration. + - [ ] it0029 uses the compiler plugin to test for pluginManagement + injection of plugin configuration. + - [ ] it0033 is an integration test for the EAR plugin. + - [ ] it0043 uses the help plugin to look at the state of the final + POM, we should have this built into Maven for testing. + - [ ] it0047 uses plexus-container-default for testing. + - [ ] it0048 uses the surefire plugin to test default value + population for mojo parameters. + - [ ] it0050 is an integration test for the surefire plugin. + - [ ] it0051 is an integration test for the release plugin. + - [ ] it0052 is an integration test for the release plugin. + - [ ] it0054 is an integration test for the resources plugin. + - [ ] it0055 is an integration test for the compiler plugin. + - [ ] it0056 uses the compiler plugin to test multiple executions. + - [ ] it0060 uses the compiler plugin to test aggregation of list + configuration items when using 'combine.children=append' + attribute. + - [ ] it0063 tests JDK 1.4.2 specifics. + - [ ] it0068 uses the modello plugin to test repository + accumulation (i'm not sure what that means, John?) + - [ ] it0069 uses classworlds dependency to test offline mode. + - [ ] it0070 is an integration test for the RAR plugin. + - [ ] it0074 uses the compiler plugin to test mojo configuration. + - [ ] it0076 uses the WAR plugin to test pluginManagement. + - [ ] it0078 uses the compiler plugin to test pluginManagement. + - [ ] it0079 uses the source plugin to test that attached artifacts + have the same build number as the primary artifact. + - [ ] it0080 uses the WAR plugin to test an artifact handler that + specifies no contribution to transitive dependencies. if the + behavior of this handler changed the test would break. + - [ ] it0081 uses production dependency of wagon as a dependency + - [ ] it0083 uses the WAR plugin to test an artifact handler that + the WAR artifact handler currently behaves like + - [ ] it0086 uses production dependency of bsh to test classloading + - [ ] it0087 uses prodcution dependency of commons-logging to test + classloading + - [ ] it0089 is an integration test for the checkstyle plugin + - [ ] it0094 has a test that attempts to access a protected field + in a ClassRealm + - [ ] it0095 uses the help and verifier plugins to test URL + calculation + - [ ] it0100 uses the antrun plugin to make sure + ${parent.artifactId} resolves correctly + - [ ] it0102 uses the help and antrun plugins to test profile + activation + - [ ] it0104 uses the surefire plugin to test interpolation + - [ ] it0105 is an integration test for the resources plugin + - [ ] artifactIds should be aligned with directories +