TestExecutionResultEvaluatorTest.groovy

Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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
run test tasks with ignoreFailures and throw exception if tests failed after all test tasks finished.

- extract evaluation listener in separate class

TODO: add more details to error message.

+review REVIEW-5563

    • -0
    • +75
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 6 more files in changeset.