From 6434a28b615058fd95dffbbc8c7da3c61510afdf Mon Sep 17 00:00:00 2001 From: Anton Malinskiy Date: Thu, 16 Feb 2023 16:34:10 +1000 Subject: [PATCH 1/7] feat(core): rework test FSM and support execution strategies fixes test count expectation --- .idea/runConfigurations/android_app.xml | 4 +- .idea/runConfigurations/android_library.xml | 14 +- .../marathon/config/Configuration.kt | 75 +- .../ExecutionStrategyConfiguration.kt | 31 + .../serialization/ConfigurationFactoryTest.kt | 1 - .../kotlin/com/malinskiy/marathon/Marathon.kt | 9 +- .../com/malinskiy/marathon/device/Device.kt | 2 - .../com/malinskiy/marathon/di/Modules.kt | 4 +- .../marathon/execution/DevicePoolActor.kt | 8 +- .../malinskiy/marathon/execution/Scheduler.kt | 17 +- .../marathon/execution/device/DeviceActor.kt | 4 +- .../progress/PoolProgressAccumulator.kt | 409 +++++++++ .../execution/progress/ProgressReporter.kt | 77 +- .../progress/tracker/PoolProgressTracker.kt | 149 ---- .../progress/tracker/ProgressEvent.kt | 7 - .../progress/tracker/ProgressTestState.kt | 8 - .../marathon/execution/queue/QueueActor.kt | 34 +- .../marathon/execution/queue/TestAction.kt | 5 +- .../marathon/execution/queue/TestEvent.kt | 11 +- .../execution/queue/TestResultReporter.kt | 168 ---- .../marathon/execution/queue/TestState.kt | 34 +- .../marathon/execution/queue/test_state.md | 41 + .../com/malinskiy/marathon/TestGenerator.kt | 6 +- .../malinskiy/marathon/device/DeviceStub.kt | 5 +- .../progress/PoolProgressAccumulatorTest.kt | 809 ++++++++++++++++++ .../progress/ProgressReporterTest.kt | 102 +-- .../tracker/PoolProgressTrackerTest.kt | 99 --- ...kt => TestResultReporterAllSuccessTest.kt} | 13 +- .../marathon/report/JUnitReporterTest.kt | 4 +- .../marathon/gradle/MarathonPlugin.kt | 1 - .../marathon/android/BaseAndroidDevice.kt | 8 +- .../android/adam/AdamAndroidDevice.kt | 6 +- .../android/adam/AndroidDeviceTestRunner.kt | 1 - .../listeners/ProgressTestRunListener.kt | 44 - ...tRunListener.kt => TestResultsListener.kt} | 6 +- .../marathon/android/ApkParserTest.kt | 3 +- .../android/adam/TestConfigurationFactory.kt | 1 - .../listeners/CompositeTestRunListenerTest.kt | 2 +- ...enerTest.kt => TestResultsListenerTest.kt} | 32 +- .../marathon/ios/AppleSimulatorDevice.kt | 16 +- .../listener/ProgressReportingListener.kt | 24 - .../executor/listener/TestResultsListener.kt | 16 + .../com/malinskiy/marathon/test/StubDevice.kt | 4 +- .../marathon/test/factory/MarathonFactory.kt | 3 +- 44 files changed, 1462 insertions(+), 855 deletions(-) create mode 100644 configuration/src/main/kotlin/com/malinskiy/marathon/config/strategy/ExecutionStrategyConfiguration.kt create mode 100644 core/src/main/kotlin/com/malinskiy/marathon/execution/progress/PoolProgressAccumulator.kt delete mode 100644 core/src/main/kotlin/com/malinskiy/marathon/execution/progress/tracker/PoolProgressTracker.kt delete mode 100644 core/src/main/kotlin/com/malinskiy/marathon/execution/progress/tracker/ProgressEvent.kt delete mode 100644 core/src/main/kotlin/com/malinskiy/marathon/execution/progress/tracker/ProgressTestState.kt delete mode 100644 core/src/main/kotlin/com/malinskiy/marathon/execution/queue/TestResultReporter.kt create mode 100644 core/src/main/kotlin/com/malinskiy/marathon/execution/queue/test_state.md create mode 100644 core/src/test/kotlin/com/malinskiy/marathon/execution/progress/PoolProgressAccumulatorTest.kt delete mode 100644 core/src/test/kotlin/com/malinskiy/marathon/execution/progress/tracker/PoolProgressTrackerTest.kt rename core/src/test/kotlin/com/malinskiy/marathon/execution/queue/{TestResultReporterTemporalTest.kt => TestResultReporterAllSuccessTest.kt} (90%) delete mode 100644 vendor/vendor-android/src/main/kotlin/com/malinskiy/marathon/android/executor/listeners/ProgressTestRunListener.kt rename vendor/vendor-android/src/main/kotlin/com/malinskiy/marathon/android/executor/listeners/{TestRunResultsTestRunListener.kt => TestResultsListener.kt} (95%) rename vendor/vendor-android/src/test/kotlin/com/malinskiy/marathon/android/executor/listeners/{TestRunResultsListenerTest.kt => TestResultsListenerTest.kt} (91%) delete mode 100644 vendor/vendor-ios/src/main/kotlin/com/malinskiy/marathon/ios/executor/listener/ProgressReportingListener.kt diff --git a/.idea/runConfigurations/android_app.xml b/.idea/runConfigurations/android_app.xml index 367f2db76..523e7dfb8 100644 --- a/.idea/runConfigurations/android_app.xml +++ b/.idea/runConfigurations/android_app.xml @@ -5,9 +5,9 @@