OverlappingOutputsIntegrationTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Allow enabling build cache in all integration tests

Signed-off-by: Lóránt Pintér <lorant@gradle.com>

    • -48
    • +48
    ./OverlappingOutputsIntegrationTest.groovy
  1. … 27 more files in changeset.
Add a couple of tests for overlapping output detection for local state

    • -18
    • +225
    ./OverlappingOutputsIntegrationTest.groovy
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
    ./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
    ./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
    ./OverlappingOutputsIntegrationTest.groovy
  1. … 3 more files in changeset.
Extract test fixture for HttpBuildCache

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

+review REVIEW-6493

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

+review REVIEW-6493

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

+review REVIEW-6493

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

+review REVIEW-6493

    • -206
    • +275
    ./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
    ./OverlappingOutputsIntegrationTest.groovy
  1. … 13 more files in changeset.
Add failing tests for overlapping outputs

+review REVIEW-6493

    • -0
    • +482
    ./OverlappingOutputsIntegrationTest.groovy