Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Start migrating test classes to the most appropriate subproject

Story: gradle/langos#103

Item: refactor-plugins

    • -80
    • +0
    • -417
    • +0
  1. … 122 more files in changeset.
Make DirectInstantiator a singleton.

  1. … 89 more files in changeset.
Moved validation of TestNG `configFailurePolicy` from the test processor to the test framework. This means the task will fail early when the requested policy is not supported, rather than attempting to start workers and run tests.

  1. … 3 more files in changeset.
Changed TestNGTestResultProcessorAdapter to generate start/complete events for TestNG suite execution, and removed the synthetic event generation from TestNGTestClassProcessor.

    • -8
    • +10
    • -35
    • +117
  1. … 4 more files in changeset.
Inject a `TimeProvider` into the various test processors and result handlers that need to take timestamps.

  1. … 7 more files in changeset.
GRADLE-2841 Removed unused fields

  1. … 5 more files in changeset.
Added coverage for TestNG suites processing

    • -3
    • +28
  1. … 1 more file in changeset.
Improved the TestNG listeners a little bit. Now any custom TestNG listeners are applied before Gradle's listeners. This way, the custom listener is more robust and can change test status. There might be some impact of this change hence mentioned in the notes.

    • -0
    • +30
  1. … 2 more files in changeset.
GRADLEREV-15 - test fixes.

Tightened up some test expectations.

REVIEW-3641 Added some extra coverage.

    • -61
    • +31
Reworked the fine test selection DSL according to feedback / discussion.

  1. … 19 more files in changeset.
Some work with single test execution DSL. Renamed 'selection' -> 'filter'.

  1. … 10 more files in changeset.
Reworked the test selection dsl and implementation for simplicity and for much easier appliance of --only command line option.

  1. … 16 more files in changeset.
Single test method execution - the test / class matching is now based on simple glob than on regexp. This way it is more user friendly and also avoids some problems with regexps.

  1. … 9 more files in changeset.
Made TestNg support class name pattern and method pattern.

    • -11
    • +18
  1. … 4 more files in changeset.
Reworked the single test method execution so that the test framework receives a test class + test method spec. This is needed to provide decent command line support later on.

    • -3
    • +22
  1. … 15 more files in changeset.

Reworked the class a little bit so it's cleaner, less lines and more groovy.

    • -138
    • +75
Added lower level integ test coverage for JUnit single test method execution

  1. … 2 more files in changeset.
Enabled single test execution for TestNG, too.

    • -1
    • +49
  1. … 4 more files in changeset.
renamed HelperUtil to TestUtil (REVIEW-1626)

  1. … 145 more files in changeset.
Remove @author tags and names from source code.

- Added checkstyle check for @author

- Added not to saying that we don't use names in the codebase

  1. … 1213 more files in changeset.
REVIEW-1290 rename TestNGOptionsPojo to TestNGSpec; simplify errorhandling in TestNGTestFramework

  1. … 5 more files in changeset.
Dont use groovy in TestNGTestClassProcessor.

  1. … 4 more files in changeset.
Some renaming and cleanup around the test/temp directory used in tests.

  1. … 308 more files in changeset.
Enable test report as a default for TestNG - move more report logic from Test to DefaultTestReport - dont care about testreport flag in TestNGTestFrameworkProcessor (REVIEW-841)

  1. … 9 more files in changeset.
Use new XML generation as a default in TestNG - always generate xml output (REVIEW-841) - move report handling from TestFramework to Test

  1. … 15 more files in changeset.
TestNG creates xml results efficiently - an initial implementation.

1. The xml results are generated by the parent process and not by the test worker process. To avoid increased memory footprint, the test logging (std out/err, log4j, etc.) output is written to files (with buffering). To avoid speed regression, the test logging is copied to the resulting xml (e.g. no deserialization, just copying bytes from input stream to output stream). This way the new xml reports take less memory than previous Gradle versions without incurring build speed regression.

2. After many profiling sessions I've decided to not serialize the test results just yet (only the test logging is serialized). The test results (e.g. set of class names, test method names with results information) does not seem to consume too much memory at this stage. The full performance test run will soon validate this statement.

3. The TestNG exection generates 2 extra files per every test class. Those 2 files contain test output and test error. For JUnit I will be able to tweak the algorithm to generate less files and build some of the reports on the fly. It's because with JUnit we receive notifications on test class start / end. Hence, the JUnit xml results generation should be even more efficient, once all stories are completed.

4. The xml is written using the sax api to make sure it is efficient. The test outputs are also streamed.

5. Writing the test output to the files uses some simple caching of the open files + buffered writer.

6. Efficient generation of the html results may be nicely blended into above approach, possibly generating some data on the fly.

  1. … 26 more files in changeset.
Spockified / tidied up the coverage for TestNGTestFramework.

It seemed a reasonable approach to replace mock frenzy with more targetted and reasonable coverage, focused on logic that is interesting to test.

    • -0
    • +93
  1. … 4 more files in changeset.