ChangesDuringBuildContinuousIntegrationTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Change `value` to `because` in @ToBeFixedForVfsRetention

    • -1
    • +1
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
  1. … 13 more files in changeset.
Disable tests which change inputs during the build

#11837

    • -0
    • +2
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
  1. … 2 more files in changeset.
Remove many direct dependencies on 'launcher', as this is an entry point project and so does not (or should not) have any kind of API to compile against.

    • -1
    • +2
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
  1. … 30 more files in changeset.
Rename @FailsWithInstantExecution to @ToBeFixedForInstantExecution

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -3
    • +3
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
  1. … 872 more files in changeset.
Annotate integ tests failing with instant execution in various projects

removing most of @IgnoreWithInstantExecution annotations

after fixing the @FailsWithInstantExecution rule

and more ci feedback

also make @IgnoreWithInstantExecution require a reason from a fixed set

and add it to the remaining ignores

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -4
    • +3
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
  1. … 126 more files in changeset.
Annotate integ tests failing with instant execution in various projects

after third round of CI feedback

much better, no more OOMEs, no more hung builds, no more console

replacement weirdness

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -2
    • +2
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
  1. … 37 more files in changeset.
Annotate integ tests failing with instant execution in various projects

after second round of CI feedback

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -0
    • +2
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
  1. … 32 more files in changeset.
Annotate integ tests failing with instant execution in :launcher

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -0
    • +3
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
  1. … 14 more files in changeset.
Changed a bunch of integration tests to use the various task assertion methods instead of directly querying the `executedTasks` and `skippedTasks` collections. These methods can give better diagnostics when the assertion fails, and can perform additional checks.

    • -2
    • +2
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
  1. … 98 more files in changeset.
Use Spock's Retry extension instead of RetryRule

    • -12
    • +4
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
  1. … 27 more files in changeset.
Use separate output directories for all JVM languages

- Introduce an outputDir on SourceDirectorySet

- Default output directory is now `build/classes/<source directory set name>/<source set name>`

- Example: Java compilation goes to build/classes/java/main instead of build/classes/main

- Adapt JDepend, FindBugs, Test and ValidateTaskProperties tasks to handle multiple class directories

- Deprecate setClassesDir/getClassesDir on SourceSetOutput

- Calling setClassesDir restores old behavior (shared output directory)

- Introduce addClassesDir and getClassesDirs on SourceSetOutput

- OSGi plugin needs a single classes directory, so introduce 'osgiClasses' task that syncs all classes to a single directory

Most of the changes to integration tests are find classes in their new location. Helper methods in AbstractIntegrationSpec

can locate class files vs hardcoding a path.

Squashed commit of sg-split-jvm-classes branch for REVIEW-6502

    • -1
    • +1
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
  1. … 119 more files in changeset.
Clean the test project dir before doing a retry

    • -1
    • +2
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
Retry test on Linux with Java8 or earlier

This test presumably suffers from a JDK bug (JDK-8145981). See

commit 174bc9b for details.

    • -1
    • +14
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
Wait a bit for change detection before canceling the build

    • -0
    • +6
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
Use regular task in place of `afterTask` action

This test is flaky: the changes are not always noticed by continuous

build. Attempting to simplify the test to assist diagnosis.

Flaky test: gradle/gradle-private#529

    • -11
    • +18
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
Run even more tests with reproducible archives on

    • -0
    • +2
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
  1. … 2 more files in changeset.
Added some debug to flaky test

    • -1
    • +2
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
Ensure that we wait for quiet period in integTest

For continuous build tests that verify detection of changes _during_

build execution, we need to ensure that the build waits long enough

for the changes to be notified. This wait is based on the quiet-period

for file change detection.

Flaky test: gradle/gradle-private#529

    • -5
    • +3
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
  1. … 2 more files in changeset.
Make continuous integration tests work on OSX using sleeps

This is until we have a proper native implementation of the file watcher service

    • -2
    • +3
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
  1. … 1 more file in changeset.
Fix test failure on MacOSX

- make test build execution take at least 3 seconds on MacOSX

+review REVIEW-5709

    • -0
    • +6
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
  1. … 1 more file in changeset.
Add support for inspecting results of multiple build executions

+review REVIEW-5709

    • -6
    • +10
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
  1. … 1 more file in changeset.
Attempt to fix sporadically failing test

- attempt to workaround JDK-8145981 by adding a delay

after making the change

+review REVIEW-5709

    • -0
    • +1
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
Attempt to workaround a JDK WatchService bug in test

- The probability of the bug JDK-8145981 seems to be higher when a file

change happens immediately after a watch has been registered.

- It might only be related to the situation where watches are added,

file changes happen and more watches are added and more file changes

happen.

- A short delay might prevent the concurrency bug in the JDK

LinuxWatchService to occur.

- JDK bug is https://bugs.openjdk.java.net/browse/JDK-8145981

- ignore the title of the bug since it also causes the WatchService

to miss file system change events

    • -0
    • +3
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
Implement cumulative file watching

+review REVIEW-5709

    • -4
    • +0
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
  1. … 8 more files in changeset.
Make a change only once in the test

+review REVIEW-5709

    • -7
    • +3
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
Add test for changes during continuous build

+review REVIEW-5709

    • -0
    • +143
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
Mark test as not yet implemented

    • -0
    • +4
    ./ChangesDuringBuildContinuousIntegrationTest.groovy
Add test for changes during continuous build

- should trigger rebuild when java source file is changed during build

execution

+review REVIEW-5709

    • -0
    • +53
    ./ChangesDuringBuildContinuousIntegrationTest.groovy