changedetection

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Remove some wrong timing loggings (#3860)

* Remove some wrong timing loggings

The time which was captured for up-to-date checks is wrong, since it

did not include actual snapshotting any more.

The time captured how long it took to load/unpack from the cache now

would have included the time it took to snapshot the inputs, too.

These timings are much better captured by the corresponding build

operations, so we remove the log entries for now.

Signed-off-by: Stefan Wolf <wolf@gradle.com>

  1. … 7 more files in changeset.
Add a couple of tests for overlapping output detection for local state

    • -18
    • +225
    ./rules/OverlappingOutputsIntegrationTest.groovy
Use better INFO log for non-up-to-date tasks (#3111)

  1. … 1 more file in changeset.
Kill process earlier to remove flakiness from test.

    • -2
    • +4
    ./CorruptedTaskHistoryIntegrationTest.groovy
Fix test by waiting until enough outputs generated

    • -2
    • +6
    ./CorruptedTaskHistoryIntegrationTest.groovy
Relax restrictions on range

    • -1
    • +1
    ./CorruptedTaskHistoryIntegrationTest.groovy
Address review feedback

    • -1
    • +16
    ./CorruptedTaskHistoryIntegrationTest.groovy
Polish test case

This makes the test fail on every second/third time or so.

Related issue: #2827

    • -30
    • +35
    ./CorruptedTaskHistoryIntegrationTest.groovy
Add more inputs to the task

This makes the test fail on every second/third time or so.

    • -10
    • +30
    ./CorruptedTaskHistoryIntegrationTest.groovy
  1. … 1 more file in changeset.
Add a test for corrupted test

    • -0
    • +108
    ./CorruptedTaskHistoryIntegrationTest.groovy
  1. … 1 more file in changeset.
On CI redirect maven central queries to local repo for integration tests

    • -3
    • +1
    ./state/TaskTypeUpToDateIntegrationTest.groovy
  1. … 108 more files in changeset.
Introduce `@ToBeImplemented` (#2643)

The `@ToBeImplemented` annotation replaces Groovy's `@NotYetImplemented`.

The problem with `NotYetImplemented` is that tests marked with it succeed no matter what causes the test to fail. Marked tests can pass because the expected failure is still present (which is the purpose of the test), or if the expected failure is replaced by some other failure.

It's better to write a test that explicitly tests for the expected failure, so when it fails for some other reason, it becomes noticeable. The purpose of the `@ToBeImplemented` annotation is to keep such tests easy to find in the code.

    • -3
    • +4
    ./rules/OverlappingOutputsIntegrationTest.groovy
  1. … 9 more files in changeset.
Simplify output file detection if there are no overlapping outputs (#2490)

If there are no overlapping outputs, we can just use all the declared

outputs as output files and do not need to filter since the task under

question has exclusive access to the directory/files.

We now ignore missing files in output properties, for these two ways

of snapshotting a directory (output file detection and regular snapshotting)

to be identical.

    • -4
    • +0
    ./rules/OverlappingOutputsIntegrationTest.groovy
  1. … 40 more files in changeset.
Detect overlapping files for cacheable tasks

When two tasks overwrite one another, enforcing overlap detection doesn't

really make sense (because the outcome is the same).

But when two tasks append to a single output file, we should disable caching

because the order of the two tasks executing matters more.

+review REVIEW-6522

    • -8
    • +8
    ./rules/OverlappingOutputsIntegrationTest.groovy
  1. … 3 more files in changeset.
Extract test fixture for HttpBuildCache

    • -2
    • +2
    ./rules/OverlappingOutputsIntegrationTest.groovy
  1. … 21 more files in changeset.
Add more coverage for the mixed fileTask/dirTask overlapping output tests

+review REVIEW-6493

    • -1
    • +11
    ./rules/OverlappingOutputsIntegrationTest.groovy
Simplify overlapping output file integ test helper

+review REVIEW-6493

    • -27
    • +14
    ./rules/OverlappingOutputsIntegrationTest.groovy
Add more reasoning for why we ignore directories when checking for overlaps

+review REVIEW-6493

    • -0
    • +2
    ./rules/OverlappingOutputsIntegrationTest.groovy
  1. … 1 more file in changeset.
Rework all of the overlapping tests to be more clear

+review REVIEW-6493

    • -206
    • +275
    ./rules/OverlappingOutputsIntegrationTest.groovy
Detect overlapping inputs in a simple way

- Detect overlapping outputs after creating the "before execution" snapshot of outputs

- Add an OVERLAPPING_OUTPUTS caching reason

- Fix existing integration tests that are effected by overlapping outputs

+review REVIEW-6493

    • -5
    • +14
    ./rules/OverlappingOutputsIntegrationTest.groovy
  1. … 13 more files in changeset.
Add failing tests for overlapping outputs

+review REVIEW-6493

    • -0
    • +482
    ./rules/OverlappingOutputsIntegrationTest.groovy
Added special case handling for snapshots of values of array types, instead of snapshotting by serializing the entire array using Java serialization.

    • -11
    • +14
    ./state/TaskCustomTypesInputPropertyIntegrationTest.groovy
    • -3
    • +6
    ./state/TaskEnumTypesInputPropertyIntegrationTest.groovy
  1. … 7 more files in changeset.
Added special case handling for snapshots of values of type `Enum<?>` and `File`, instead of snapshotting by serializing the value using Java serialization.

    • -0
    • +16
    ./state/TaskEnumTypesInputPropertyIntegrationTest.groovy
  1. … 8 more files in changeset.
Added special case handling for snapshots of values of type `Set<?>` and `Integer`, instead of snapshotting by serializing the value using Java serialization. This change also means we can handle a `Set` that contains values loaded from several different `ClassLoaders`.

    • -2
    • +9
    ./state/TaskCustomTypesInputPropertyIntegrationTest.groovy
    • -2
    • +9
    ./state/TaskEnumTypesInputPropertyIntegrationTest.groovy
  1. … 10 more files in changeset.
Added some more test coverage for using `List` of various types for task input property values.

    • -0
    • +72
    ./state/TaskCustomTypesInputPropertyIntegrationTest.groovy
    • -0
    • +76
    ./state/TaskEnumTypesInputPropertyIntegrationTest.groovy
  1. … 1 more file in changeset.
Added some test coverage to verify task is considered out of date when the type of an input property value changes.

    • -1
    • +3
    ./state/TaskCustomTypesInputPropertyIntegrationTest.groovy
  1. … 1 more file in changeset.
Changes to honor type's `equals()` method for task input property values. Also consider a value changed if the implementation classpath has changed since the previous execution.

    • -6
    • +67
    ./state/TaskCustomTypesInputPropertyIntegrationTest.groovy
    • -2
    • +48
    ./state/TaskEnumTypesInputPropertyIntegrationTest.groovy
  1. … 12 more files in changeset.
Added some test coverage that the `equals()` method on a custom type is honored when checking task input property value for changes.

    • -0
    • +65
    ./state/TaskCustomTypesInputPropertyIntegrationTest.groovy
  1. … 1 more file in changeset.
Introduced a type that represents a snapshot of the value of a task input property, used as part of the task history held in-memory and persisted to the file system.

This change introduces the type however for now the 'snapshot' simply a wrapper around the (potentially mutable) value.

    • -20
    • +49
    ./state/TaskCustomTypesInputPropertyIntegrationTest.groovy
  1. … 10 more files in changeset.
Added a bunch more coverage for using custom types for task input properties.

    • -0
    • +194
    ./state/TaskCustomTypesInputPropertyIntegrationTest.groovy
    • -13
    • +225
    ./state/TaskEnumTypesInputPropertyIntegrationTest.groovy
  1. … 2 more files in changeset.