TestExecutionResultEvaluatorTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
More renames.

    • -1
    • +1
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 111 more files in changeset.
More renames/moves

    • -1
    • +1
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 92 more files in changeset.
More renames/moves

    • -1
    • +1
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 92 more files in changeset.
More renames/moves

    • -1
    • +1
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 92 more files in changeset.
More renames/moves

    • -1
    • +1
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 92 more files in changeset.
Move some classes out of 'launcher' project to 'buildEvents'.

    • -1
    • +1
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 125 more files in changeset.
Move some classes out of 'launcher' project to 'buildEvents'.

    • -1
    • +1
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 125 more files in changeset.
Remove WorkIdentity

Instead of assigning arbitrary ids to all work items that are part of

the execution graph, include the `Nodes` in

`ExecuteTaskBuildOperationDetails` and

`ExecuteScheduledTransformationStepBuildOperationDetails` so they can

be queries for dependency successors directly. This eliminates the need

to query `TaskExecutionGraphInternal` or `ExecutionPlan` for the node

in order to determine its dependencies.

    • -1
    • +4
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 33 more files in changeset.
Move ExecuteTaskBuildOperationType (#7374)

* Move ExecuteTaskBuildOperationType to org.gradle.api.internal.tasks.execution

* Remove redundant import

    • -1
    • +1
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 25 more files in changeset.
Allow build operation listeners to log (#4693)

This change moves build operation listening out of the standard listener infrastructure, to remove serialisation guarantees. As logging output now causes build operation notifications, whenever a build operation listener logged something it would fail due to the listener manager blocking overlapping signals.

By moving build operation listening out, overlapping and concurrent signals are now allowed.

This places more responsibility on listener implementations (e.g. thread safety), but there are few and they are all internal.

Additionally, listeners will now never receive progress notifications before start notifications and after finish notifications for that operation.

    • -7
    • +36
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 18 more files in changeset.
Rationalise handling of “current” build operation and build operation ID

For an upcoming change to emit console logging as build operation progress events, we need to associate all progress logging with the build operation. This pulled a thread on some long overdue cleanup.

The end result is:

1. Base build operation infrastructure is consolidated org.gradle.internal.operations.

2. Mechanism for passing thread global current build operation is more test friendly, and better named.

3. A consistent mechanism is used for binding the current operation to the thread, instead of two mechanisms.

4. Build operation IDs are typed to OperationIdentifier.

There is no public API or user behaviour change.

    • -6
    • +7
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 147 more files in changeset.
Rename progress.BuildOperationType to BuildOperationCategory

    • -2
    • +2
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 16 more files in changeset.
Reorganise the rich build operation details/results type to further decouple from producer side semantics.

    • -2
    • +2
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 82 more files in changeset.
Group logs by project and task

Introduces a BuildOperationType enum and adds it to the

default BuildOperationDescriptor. Passes this information

to the logging infrastructure through the BuildOperationExecutor.

All BuildOperations now have a ProgressLogger. This allows

progress logging to maintain a heirarchy of build operations,

otherwise we would not be able to group many log events.

ProgressStartEvents are given additional information in a

compact form to allow a tree of build operations to be

maintained and their operation types associated. This allows us

to associate log events who aren't fired by progress logging to

still be grouped.

A LogGroupingOutputEventListener uses these build operation

types and the build operation heirarchy to buffer and output

logs related to tasks and project configurations.

Issue: #1818

    • -1
    • +2
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 30 more files in changeset.
Remove BuildOperationDetails.getResult().

This should be implemented elsewhere as to not burden implementations.

    • -1
    • +1
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 13 more files in changeset.
Add dedicated details classes to build operations

Instead of reusing some type that just happened to be available,

use a new type that is dedicated to build scans. This way we have

can keep the compatible while rapidly evolving other build tool

internals.

    • -2
    • +2
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 22 more files in changeset.
Give better names to some listener types

We should rename these types now that they are not used heavily yet.

The new names are more consistent and will hopefully make the

infrastructure a little easier to understand.

    • -2
    • +2
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 17 more files in changeset.
Unify BuildOperationExecutor and BuildOperationProcessor APIs

This introduces the following `BuildOperationExecutor`

interface (as outlined in gradle/gradle#1676):

void run(RunnableBuildOperation buildOperation);

<T> T call(CallableBuildOperation<T> buildOperation);

<O extends RunnableBuildOperation> void runAll(

Action<BuildOperationQueue<O>> schedulingAction);

<O extends BuildOperation> void runAll(

BuildOperationWorker<O> worker,

Action<BuildOperationQueue<O>> schedulingAction);

To accomplish this, the following changes were performed:

- Various representation of build operations have been merged into

1) BuildOperation (with sub-interfaces)

-> declare and describe a build operation

2) BuildOperationDescriptor (BuildOperationDescriptor.Builder)

-> describe a build operation

3) BuildOperationState

-> represents a running build operation, with run state, start time,

parent relationship information, and description

- The DefaultBuildOperationExecutor and DefaultBuildOperationProcessor

implementations have been merged in DefaultBuildOperationExecutor,

which is now build session scoped.

    • -1
    • +1
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 180 more files in changeset.
Restored `InternalTaskExecutionListener` type. This will be retired later, replaced by a build operation listener of some kind.

    • -2
    • +2
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 10 more files in changeset.
Some tweaks to display names in tapi build progress events from nested builds.

    • -1
    • +1
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 14 more files in changeset.
Use `InternalBuildListener` instead of `InternalTaskExecutionListener` to fire task execution events, so that tasks are visible as build operations.

    • -2
    • +3
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 11 more files in changeset.
Detangled some classes from the tooling api protocol classes

    • -4
    • +4
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 7 more files in changeset.
change InternalTestMethod to InternalJvmTestRequest

simplifies configuration

+review REVIEW-5581

    • -8
    • +17
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 17 more files in changeset.
don't let DefaultTestMethod implement Serializable

- move test specific provider classes into org.gradle.tooling.internal.provider.test

+review REVIEW-5581

    • -1
    • +1
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 10 more files in changeset.
replace InternalTestExecutionRequestVersion2 with ProviderInternalTestExecutionRequest

- some unit test coverage for TestExecutionBuildConfigurationActionTest

+review REVIEW-5581

    • -5
    • +5
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 10 more files in changeset.
Don't propagate the test failures in `TestExecutionException`.

    • -2
    • +0
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 2 more files in changeset.
Another tweak to test execution failure message, fixed int tests to reflect this.

    • -1
    • +1
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 2 more files in changeset.
Removed InternalTestMethod.getDescription().

    • -2
    • +3
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 3 more files in changeset.
Add more details to failed tests exception

- rework test result evaluation to use TestListenerInternal, InternalTaskExecutionListener functionality

- might share some common logic with ClientForwardingTestListener

+review REVIEW-5563

    • -8
    • +30
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 5 more files in changeset.
fix compilation issue of tooling api builders unit tests

    • -1
    • +1
    ./TestExecutionResultEvaluatorTest.groovy