Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Generalize operating system configuration test to C++ unit test

    • -58
    • +74
    ./cpp/plugins/CppUnitTestPlugin.java
    • -3
    • +3
    ./plugins/NativeTestingBasePlugin.java
  1. … 13 more files in changeset.
Remove lightweight usage context

  1. … 9 more files in changeset.
Refactor to detangle NativeVariantIdentity and Cpp binaries

  1. … 8 more files in changeset.
Fix CppUnitTest plugins

    • -1
    • +1
    ./cpp/internal/DefaultCppTestSuite.java
    • -2
    • +50
    ./cpp/plugins/CppUnitTestPlugin.java
  1. … 1 more file in changeset.
Use identity for debuggable and optimized properties

    • -2
    • +3
    ./cpp/internal/DefaultCppTestSuite.java
  1. … 9 more files in changeset.
Stop test execution after first failure (#4190)

* Rough pass at stopNow() on test failure

* Updated worker TestClassProcessor.stopNow() to throw UnsupportedOperationException

* Updated MaxNParallelTestClassProcessor to keep "raw" processors for stopNow().

Updated other daemon-side TestClassProcessors to keep track if stopNow() is called.

* Added AbstractTestTask.getFailFast()

* Added some unit tests for to TestClassProcessors

* Added unit tests for stopNow()

* Rough pass at JUnitFailFastIntegrationTest

* Refactor fail fast JVM integration test.

Moved common logic/tests from JUnitFailFastIntegrationTest into AbstractJvmFailFastIntegrationSpec.

Added TestNGFailFastIntegrationTest (which extends TestNGFailFastIntegrationTest)

* Working on forkEvery fail fast test

* Converted FailFastTestListener to FailFastTestListenerInternal

* Added BlockingHttpServer.expectMaybeAndBlock()

* TestNG parallel & fail-fast integration test

* Remove unused import

* Remove unused import

* Marked test.failFast as @Input

* Added `failFast` to java_plugin in userguide

* Javadoc & formatting changes

* Updated userguide docs based on review comments

* Moved `failFast` configuration from `AbstractTestTask` to `Test` to avoid `XCTest`

* Updates from review comments

* More updates from review comments

* Reduced Mock() usage in FailFastTestListenerInternalTest

* Backed out changes to XCTestExecuter for fail fast behavior

* Fixed typo in javadoc

* Remove --no-fail-fast `@Option` from `Test`

* Reduce mocking expectations in ForkingTestClassProcessorTest

* Moved @Internal from Test.getFailFast() to AbstractTestTask

* Formatting updates

* Updated ForkingTestClassProcessor to track state more precisely to avoid stop() & stopNow() problem

* Fixed tests (again)

* Better handling of mutual exclusion between ForkingTestClassProcessor stop() and stopNow() sections

* Improved resiliency to indeterminate generated test class execution in fail fast tests

* Optimized imports

* Updated DefaultWorkerProcess.cleanup() to stop the Stoppables before aborting the execHandle

* Changed CyclicBarrierAnyOfRequestHandler.expected back to `private`

* ForkingTestClassProcessor.stoppedNow does not need to be `volatile` as it is now protected by a lock

* Added JUnitPlatformTestClassProcessor.stopNow()

* Removed mention of --no-fail-fast from user guide

* Added info on --fail-fast to release notes

* Fixed use of `testOmitted` in AbstractJvmFailFastIntegrationSpec

* Make MaxNParallelTestClassProcessor drop any processTestClass() invocations after stopNow()

* Protected critical region in ForkingTestClassProcessor.processTestClass() causing race condition with stopNow() in tests

* Debugging cleanup

  1. … 41 more files in changeset.
Fix test failures

    • -1
    • +1
    ./plugins/NativeBinariesTestPlugin.java
  1. … 22 more files in changeset.
Added a display name for each native component implementation.

Added a convenience to `Describables` to format a display name for an object with a type and a name.

    • -0
    • +7
    ./cpp/internal/DefaultCppTestSuite.java
  1. … 15 more files in changeset.
Retain boolean getters for Property<Boolean> properties for now

  1. … 4 more files in changeset.
Migrate all link task properties to Provider API

  1. … 17 more files in changeset.
Propagate source compatibility from tested component to test component

Signed-off-by: Daniel Lacasse <daniel@gradle.com>

  1. … 5 more files in changeset.
Added methods to the various native component types to allow implementation and API dependencies to be declared on the component instance instead of on the project's `dependencies` block, for consistency with the binaries.

    • -3
    • +22
    ./cpp/internal/DefaultCppTestSuite.java
  1. … 31 more files in changeset.
Added methods to `CppBinary` to allow implementation dependencies to be declared for the specific binary.

  1. … 10 more files in changeset.
Defer creation of the tasks and configurations for a native binary until the binary is realized, rather than when the binary is created.

Changed the `BinaryCollection` implementation to defer firing the 'when known' event for a binary until just before the binary is configured. Restructured parts of various plugins to react to binaries becoming known rather than making assumptions about the things that exist when the binary is created.

    • -31
    • +23
    ./cpp/plugins/CppUnitTestPlugin.java
    • -52
    • +48
    ./xctest/plugins/XCTestConventionPlugin.java
  1. … 9 more files in changeset.
Move common Swift configuration code to `SwiftBasePlugin`

Signed-off-by: Daniel Lacasse <daniel@gradle.com>

  1. … 13 more files in changeset.
Fix test failures

Signed-off-by: Daniel Lacasse <daniel@gradle.com>

  1. … 8 more files in changeset.
Added an (internal for now) `names` property to each C++ and Swift binary, which code that needs to construct names for the binary can use instead of reverse engineering this from the name of the binary. This allows for different binaries to use different schemes (which they already do but communicate this through special names).

  1. … 21 more files in changeset.
Add support for configuring Swift language support of a component

Signed-off-by: Daniel Lacasse <daniel@gradle.com>

  1. … 30 more files in changeset.
Moved responsibility for defining the Maven publications for a native component down to the `NativeBasePlugin` and out of the various C++ plugins.

Also publish the static variant of a C++ library if it is defined.

  1. … 17 more files in changeset.
Added a comment.

Changed the XCTest plugin to reuse the logic from the native base plugin to configure the test executable to add build and install tasks, rather than reproduce all of this in a slightly different way.

The XCTest plugin still takes care of building a bundle of macOS, even though this should be done in a way that can be reused outside of the XCTest plugin.

    • -2
    • +39
    ./xctest/internal/DefaultSwiftXCTestExecutable.java
    • -50
    • +41
    ./xctest/plugins/XCTestConventionPlugin.java
Changed the Xcode plugin to use query methods on a binary to determine which output to build and run from Xcode, rather than reaching in to grab specific tasks. Also changed the mapping to build the final, stripped, output for shared libraries.

Introduced a 'debuggerExecutable' property to `CppExecutable`, to match `SwiftExecutable` and changed `NativeBasePlugin` to populate this as the concept is agnostic of implementation language.

  1. … 12 more files in changeset.
Added 'bundle' and 'executable' subtypes of `SwiftXCTestBinary` to allow specialization based on which kind of test suite is being built.

    • -0
    • +28
    ./xctest/SwiftXCTestBundle.java
    • -0
    • +28
    ./xctest/SwiftXCTestExecutable.java
    • -0
    • +37
    ./xctest/internal/DefaultSwiftXCTestBundle.java
    • -0
    • +37
    ./xctest/internal/DefaultSwiftXCTestExecutable.java
  1. … 2 more files in changeset.
Detangled `CppTestExecutable` from `CppExecutable` as a C++ test executable and a production executable are not the same thing, they just happen to have some stuff in common.

  1. … 1 more file in changeset.
Added abstractions for native static and shared library that are independent of implementation language, and added a `baseName` property to `SwiftBinary` (which defaults to the module name) so that it presents the same interface as `CppBinary`.

  1. … 15 more files in changeset.
Moved responsibility for creating the 'assemble' task for each variant of the main component into the `NativeBasePlugin`.

Added an abstraction to represent a component with output files.

  1. … 26 more files in changeset.
Changed `xctest` plugin to defer creation of the test execution task until the test binary object is created.

  1. … 1 more file in changeset.
Include the project name in the default base name of the C++ unit test executable.

Changed construction of test binaries to use a similar pattern as production binaries.

    • -3
    • +3
    ./cpp/internal/DefaultCppTestSuite.java
  1. … 4 more files in changeset.
Fixed Javadoc comments.

    • -2
    • +2
    ./plugins/NativeTestingBasePlugin.java
  1. … 1 more file in changeset.
Moved some classes around to break package cycle.

    • -42
    • +0
    ./xctest/internal/XCTestDescriptor.java
    • -171
    • +0
    ./xctest/internal/XCTestExecuter.java
    • -179
    • +0
    ./xctest/internal/XCTestScraper.java
    • -113
    • +0
    ./xctest/internal/XCTestSelection.java
    • -0
    • +42
    ./xctest/internal/execution/XCTestDescriptor.java
    • -0
    • +171
    ./xctest/internal/execution/XCTestExecuter.java
    • -0
    • +179
    ./xctest/internal/execution/XCTestScraper.java
    • -0
    • +113
    ./xctest/internal/execution/XCTestSelection.java
    • -0
    • +54
    ./xctest/internal/execution/XCTestTestExecutionSpec.java
    • -20
    • +0
    ./xctest/internal/package-info.java
  1. … 2 more files in changeset.