detox 21.0.0-breaking.new-global-lifecycle.0 → 21.0.1-rc.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.eslintrc.js +2 -7
- package/Detox-android/com/wix/detox/{21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-javadoc.jar → 21.0.1-rc.0/detox-21.0.1-rc.0-javadoc.jar} +0 -0
- package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0-javadoc.jar.md5 +1 -0
- package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0-javadoc.jar.sha1 +1 -0
- package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0-javadoc.jar.sha256 +1 -0
- package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0-javadoc.jar.sha512 +1 -0
- package/Detox-android/com/wix/detox/{21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-sources.jar → 21.0.1-rc.0/detox-21.0.1-rc.0-sources.jar} +0 -0
- package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0-sources.jar.md5 +1 -0
- package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0-sources.jar.sha1 +1 -0
- package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0-sources.jar.sha256 +1 -0
- package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0-sources.jar.sha512 +1 -0
- package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.aar +0 -0
- package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.aar.md5 +1 -0
- package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.aar.sha1 +1 -0
- package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.aar.sha256 +1 -0
- package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.aar.sha512 +1 -0
- package/Detox-android/com/wix/detox/{21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.pom → 21.0.1-rc.0/detox-21.0.1-rc.0.pom} +22 -10
- package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.pom.md5 +1 -0
- package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.pom.sha1 +1 -0
- package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.pom.sha256 +1 -0
- package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.pom.sha512 +1 -0
- package/Detox-android/com/wix/detox/maven-metadata.xml +4 -4
- package/Detox-android/com/wix/detox/maven-metadata.xml.md5 +1 -1
- package/Detox-android/com/wix/detox/maven-metadata.xml.sha1 +1 -1
- package/Detox-android/com/wix/detox/maven-metadata.xml.sha256 +1 -1
- package/Detox-android/com/wix/detox/maven-metadata.xml.sha512 +1 -1
- package/Detox-ios-framework.tbz +0 -0
- package/Detox-ios-src.tbz +0 -0
- package/Detox-ios-xcuitest.tbz +0 -0
- package/README.md +1 -1
- package/android/build.gradle +13 -8
- package/android/detox/build.gradle +24 -13
- package/android/detox/proguard-rules-app.pro +6 -0
- package/android/detox/proguard-rules.pro +3 -0
- package/android/detox/publish-pom.gradle +5 -1
- package/android/detox/publishing.gradle +35 -33
- package/android/detox/src/full/java/com/wix/detox/DetoxCrashHandler.kt +1 -1
- package/android/detox/src/full/java/com/wix/detox/LaunchArgs.java +9 -0
- package/android/detox/src/full/java/com/wix/detox/TestEngineFacade.kt +4 -4
- package/android/detox/src/full/java/com/wix/detox/adapters/server/QueryStatusActionHandler.kt +12 -80
- package/android/detox/src/full/java/com/wix/detox/adapters/server/WebSocketClient.java +3 -1
- package/android/detox/src/full/java/com/wix/detox/common/UIExtensions.kt +28 -0
- package/android/detox/src/full/java/com/wix/detox/espresso/DetoxAction.java +37 -3
- package/android/detox/src/full/java/com/wix/detox/espresso/DetoxMatcher.java +11 -1
- package/android/detox/src/full/java/com/wix/detox/espresso/UiAutomatorHelper.java +1 -1
- package/android/detox/src/full/java/com/wix/detox/espresso/action/AdjustSliderToPositionAction.kt +22 -0
- package/android/detox/src/{main → full}/java/com/wix/detox/espresso/action/GetAttributesAction.kt +17 -4
- package/android/detox/src/full/java/com/wix/detox/espresso/action/RNDetoxAccessibilityAction.kt +46 -0
- package/android/detox/src/full/java/com/wix/detox/espresso/common/SliderHelper.kt +75 -0
- package/android/detox/src/full/java/com/wix/detox/espresso/common/UiControllerImplReflected.kt +16 -0
- package/android/detox/src/full/java/com/wix/detox/espresso/idlingresources/DescriptiveIdlingResource.kt +8 -0
- package/android/detox/src/full/java/com/wix/detox/espresso/matcher/ViewMatchers.kt +24 -28
- package/android/detox/src/full/java/com/wix/detox/espresso/matcher/WithAccessibilityLabelMatcher.kt +23 -0
- package/android/detox/src/full/java/com/wix/detox/espresso/registry/BusyResourcesInquirer.kt +48 -0
- package/android/detox/src/full/java/com/wix/detox/inquiry/DetoxBusyResource.kt +92 -0
- package/android/detox/src/full/java/com/wix/detox/inquiry/DetoxBusyResourceDescription.kt +26 -0
- package/android/detox/src/full/java/com/wix/detox/reactnative/ReactNativeExtension.kt +15 -2
- package/android/detox/src/full/java/com/wix/detox/reactnative/ReactNativeIdlingResources.kt +43 -38
- package/android/detox/src/full/java/com/wix/detox/reactnative/ReactNativeLoadingMonitor.kt +54 -8
- package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/AnimatedModuleIdlingResource.java +18 -7
- package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/AsyncStorageIdlingResource.kt +3 -4
- package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/BridgeIdlingResource.java +12 -6
- package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/DetoxBaseIdlingResource.java +2 -0
- package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/NetworkIdlingResource.java +43 -34
- package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/timers/DelegatedIdleInterrogationStrategy.kt +7 -27
- package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/timers/IdleInterrogationStrategy.kt +1 -11
- package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/timers/TimersIdlingResource.kt +2 -6
- package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/uimodule/RN66Workaround.kt +13 -4
- package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/uimodule/UIManagerModuleReflected.kt +1 -1
- package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/uimodule/UIModuleIdlingResource.kt +4 -6
- package/android/detox/src/full/java/com/wix/detox/reactnative/ui/UIExtensions.kt +37 -0
- package/android/detox/src/full/java/com/wix/detox/reactnative/utils/RNUtils.kt +6 -0
- package/android/detox/src/main/java/com/wix/detox/common/DetoxErrors.java +4 -1
- package/android/detox/src/main/java/com/wix/detox/common/TextFileReader.kt +1 -1
- package/android/detox/src/main/java/com/wix/detox/espresso/UiControllerSpy.kt +2 -1
- package/android/detox/src/main/java/com/wix/detox/espresso/action/common/ReflectUtils.kt +10 -0
- package/android/detox/src/main/java/com/wix/detox/espresso/action/common/utils/UiControllerUtils.kt +1 -1
- package/android/detox/src/testFull/java/com/wix/detox/UTHelpers.kt +12 -0
- package/android/detox/src/testFull/java/com/wix/detox/adapters/server/QueryStatusActionHandlerSpec.kt +35 -94
- package/android/detox/src/testFull/java/com/wix/detox/common/UIExtensionsTest.kt +107 -0
- package/android/detox/src/testFull/java/com/wix/detox/espresso/action/DetoxMultiTapSpec.kt +4 -3
- package/android/detox/src/testFull/java/com/wix/detox/espresso/action/GetAttributesActionTest.kt +22 -9
- package/android/detox/src/testFull/java/com/wix/detox/espresso/common/SliderHelperTest.kt +39 -0
- package/android/detox/src/testFull/java/com/wix/detox/espresso/matcher/ViewAtIndexMatcherSpec.kt +1 -2
- package/android/detox/src/testFull/java/com/wix/detox/espresso/registry/{IRStatusInquirerTest.kt → BusyResourcesInquirerTest.kt} +46 -7
- package/android/detox/src/testFull/java/com/wix/detox/{reactnative/idlingresources/IdlingResourceDescriptionSpec.kt → inquiry/DetoxBusyResourceDescriptionSpec.kt} +6 -6
- package/android/detox/src/testFull/java/com/wix/detox/inquiry/DetoxBusyResourceSpec.kt +134 -0
- package/android/detox/src/testFull/java/com/wix/detox/reactnative/idlingresources/AsyncStorageIdlingResourceSpec.kt +4 -5
- package/android/detox/src/testFull/java/com/wix/detox/reactnative/idlingresources/NetworkIdlingResourcesTest.kt +61 -0
- package/android/detox/src/testFull/java/com/wix/detox/reactnative/idlingresources/timers/DelegatedIdleInterrogationStrategySpec.kt +3 -11
- package/android/detox/src/testFull/java/com/wix/detox/reactnative/idlingresources/timers/TimersIdlingResourceSpec.kt +4 -6
- package/android/gradle/wrapper/gradle-wrapper.properties +2 -1
- package/android/gradlew +181 -107
- package/index.d.ts +239 -83
- package/index.js +12 -1
- package/internals.d.ts +219 -45
- package/internals.js +10 -3
- package/local-cli/build-framework-cache.js +1 -1
- package/local-cli/build-xcuitest-cache.js +16 -0
- package/local-cli/build.js +2 -2
- package/local-cli/clean-framework-cache.js +1 -1
- package/local-cli/clean-xcuitest-cache.js +19 -0
- package/local-cli/cli.js +13 -7
- package/local-cli/init.js +61 -21
- package/local-cli/rebuild-framework-cache.js +4 -4
- package/local-cli/rebuild-xcuitest-cache.js +21 -0
- package/local-cli/reset-lock-file.js +16 -0
- package/local-cli/run-server.js +12 -1
- package/local-cli/start.js +49 -0
- package/local-cli/startCommand/AppStartCommand.js +65 -0
- package/local-cli/templates/jest.js +13 -10
- package/local-cli/test.js +14 -8
- package/local-cli/testCommand/TestRunnerCommand.js +126 -77
- package/local-cli/testCommand/TestRunnerError.js +13 -0
- package/local-cli/testCommand/builder.js +5 -1
- package/local-cli/testCommand/middlewares.js +4 -13
- package/local-cli/testCommand/warnings.js +0 -3
- package/local-cli/utils/cliErrorHandling.js +15 -0
- package/local-cli/utils/jestInternals.js +4 -1
- package/package.json +46 -26
- package/runners/deprecation.js +42 -44
- package/runners/jest/globalSetup.js +1 -1
- package/runners/jest/globalTeardown.js +1 -1
- package/runners/jest/index.d.ts +61 -0
- package/runners/jest/index.js +3 -8
- package/runners/jest/reporters/DetoxReporter.js +33 -2
- package/runners/jest/testEnvironment/index.js +119 -68
- package/runners/jest/testEnvironment/listeners/DetoxCoreListener.js +97 -51
- package/runners/jest/testEnvironment/listeners/DetoxPlatformFilterListener.js +1 -1
- package/runners/jest/testEnvironment/listeners/SpecReporter.js +15 -17
- package/runners/jest/testEnvironment/listeners/WorkerAssignReporter.js +3 -7
- package/runners/jest/testEnvironment/utils/assertJestCircus27.js +17 -3
- package/scripts/build_framework.ios.sh +26 -60
- package/scripts/build_local_framework.ios.sh +62 -0
- package/scripts/build_local_xcuitest.ios.sh +53 -0
- package/scripts/build_xcuitest.ios.sh +23 -0
- package/scripts/pack_ios.sh +14 -5
- package/scripts/postinstall.js +10 -4
- package/src/DetoxWorker.js +112 -64
- package/src/android/actions/native.js +16 -0
- package/src/android/core/NativeElement.js +72 -20
- package/src/android/core/NativeExpect.js +28 -9
- package/src/android/core/NativeMatcher.js +31 -10
- package/src/android/core/NativeWaitFor.js +8 -0
- package/src/android/espressoapi/DetoxAction.js +37 -0
- package/src/android/espressoapi/DetoxMatcher.js +24 -0
- package/src/android/espressoapi/EspressoDetox.js +1 -1
- package/src/android/espressoapi/web/WebElement.js +1 -1
- package/src/android/interactions/native.js +25 -18
- package/src/android/matchers/index.js +2 -2
- package/src/android/matchers/native.js +10 -3
- package/src/artifacts/ArtifactsManager.js +14 -47
- package/src/artifacts/instruments/ios/SimulatorInstrumentsRecording.js +3 -3
- package/src/artifacts/log/android/ADBLogcatRecording.js +11 -28
- package/src/artifacts/log/ios/SimulatorLogRecording.js +1 -1
- package/src/artifacts/screenshot/SimulatorScreenshotPlugin.js +1 -1
- package/src/artifacts/templates/artifact/Artifact.js +1 -1
- package/src/artifacts/templates/plugin/ArtifactPlugin.js +2 -2
- package/src/artifacts/templates/plugin/TwoSnapshotsPerTestPlugin.js +2 -1
- package/src/artifacts/templates/plugin/WholeTestRecorderPlugin.js +3 -2
- package/src/artifacts/timeline/TimelineContextTypes.js +7 -0
- package/src/artifacts/utils/temporaryPath.js +47 -8
- package/src/artifacts/video/SimulatorRecordVideoPlugin.js +1 -1
- package/src/client/AsyncWebSocket.js +11 -19
- package/src/client/Client.js +35 -3
- package/src/client/actions/SyncStatusSchema.json +21 -0
- package/src/client/actions/actions.js +38 -0
- package/src/client/actions/formatters/SyncStatusFormatter.js +2 -0
- package/src/client/actions/formatters/sync-resources/BgThreadFormatter.js +5 -0
- package/src/client/actions/formatters/sync-resources/NetworkFormatter.js +1 -1
- package/src/configuration/collectCliConfig.js +3 -13
- package/src/configuration/composeAppsConfig.js +5 -1
- package/src/configuration/composeDeviceConfig.js +1 -1
- package/src/configuration/composeLoggerConfig.js +20 -10
- package/src/configuration/composeRunnerConfig.js +62 -9
- package/src/configuration/index.js +14 -9
- package/src/configuration/loadExternalConfig.js +1 -1
- package/src/devices/allocation/DeviceAllocator.js +15 -2
- package/src/devices/allocation/drivers/AllocationDriverBase.js +10 -2
- package/src/devices/allocation/drivers/android/attached/AttachedAndroidAllocDriver.js +10 -1
- package/src/devices/allocation/drivers/android/emulator/AVDValidator.js +5 -5
- package/src/devices/allocation/drivers/android/emulator/EmulatorAllocDriver.js +28 -29
- package/src/devices/allocation/drivers/android/emulator/EmulatorAllocationHelper.js +1 -1
- package/src/devices/allocation/drivers/android/emulator/EmulatorLauncher.js +6 -5
- package/src/devices/allocation/drivers/android/emulator/EmulatorVersionResolver.js +4 -6
- package/src/devices/allocation/drivers/android/emulator/launchEmulatorProcess.js +4 -17
- package/src/devices/allocation/drivers/android/genycloud/GenyAllocDriver.js +27 -18
- package/src/devices/allocation/drivers/android/genycloud/GenyInstanceAllocationHelper.js +1 -1
- package/src/devices/allocation/drivers/ios/SimulatorAllocDriver.js +12 -7
- package/src/devices/allocation/factories/base.js +1 -1
- package/src/devices/common/drivers/android/exec/ADB.js +9 -0
- package/src/devices/common/drivers/android/genycloud/exec/GenyCloudExec.js +1 -1
- package/src/devices/common/drivers/android/genycloud/services/GenyInstanceNaming.js +3 -3
- package/src/devices/common/drivers/android/genycloud/services/GenyRecipesService.js +1 -1
- package/src/devices/common/drivers/android/tools/AppInstallHelper.js +4 -4
- package/src/devices/common/drivers/android/tools/EmulatorTelnet.js +1 -1
- package/src/devices/common/drivers/android/tools/{FileXfer.js → FileTransfer.js} +2 -2
- package/src/devices/common/drivers/android/tools/FreeDeviceFinder.js +1 -1
- package/src/devices/common/drivers/android/tools/MonitoredInstrumentation.js +1 -1
- package/src/devices/common/drivers/android/tools/TempFileTransfer.js +14 -0
- package/src/devices/common/drivers/ios/tools/AppleSimUtils.js +21 -4
- package/src/devices/lifecycle/GenyGlobalLifecycleHandler.js +13 -15
- package/src/devices/runtime/RuntimeDevice.js +24 -12
- package/src/devices/runtime/drivers/DeviceDriverBase.js +2 -1
- package/src/devices/runtime/drivers/android/AndroidDriver.js +17 -8
- package/src/devices/runtime/drivers/ios/SimulatorDriver.js +42 -2
- package/src/devices/runtime/drivers/ios/XCUITestUtils.js +209 -0
- package/src/devices/runtime/drivers/ios/allowNetworkPermissionsXCUITest.scpt +14 -0
- package/src/devices/runtime/factories/android.js +6 -5
- package/src/devices/runtime/factories/base.js +3 -2
- package/src/errors/DetoxConfigErrorComposer.js +18 -3
- package/src/errors/DetoxError.js +5 -1
- package/src/ios/expectTwo.js +199 -78
- package/src/ipc/IPCClient.js +36 -27
- package/src/ipc/IPCServer.js +40 -21
- package/src/ipc/SessionState.js +60 -0
- package/src/logger/DetoxLogger.js +287 -154
- package/src/logger/index.js +5 -0
- package/src/logger/utils/BunyanLogger.js +105 -0
- package/src/logger/utils/CategoryThreadDispatcher.js +37 -0
- package/src/logger/utils/DetoxLogFinalizer.js +166 -0
- package/src/logger/utils/MessageStack.js +35 -0
- package/src/logger/utils/ThreadDispatcher.js +61 -0
- package/src/logger/{customConsoleLogger.js → utils/customConsoleLogger.js} +23 -6
- package/src/logger/utils/getMainCategory.js +5 -0
- package/src/logger/utils/sanitizeBunyanContext.js +30 -0
- package/src/logger/utils/streams/BunyanTransformer.js +72 -0
- package/src/logger/utils/streams/ChromeTraceTransformer.js +132 -0
- package/src/logger/utils/streams/DetoxJSONLParser.js +31 -0
- package/src/logger/utils/streams/JSONLStringer.js +55 -0
- package/src/logger/utils/streams/index.js +7 -0
- package/src/logger/utils/streams/transformers.js +39 -0
- package/src/logger/utils/tracerLegacy.js +37 -0
- package/src/realms/DetoxContext.js +83 -66
- package/src/realms/DetoxInternalsFacade.js +9 -13
- package/src/realms/DetoxPrimaryContext.js +117 -74
- package/src/realms/DetoxSecondaryContext.js +32 -35
- package/src/{symbols.js → realms/symbols.js} +16 -22
- package/src/server/DetoxConnection.js +18 -23
- package/src/server/DetoxServer.js +7 -10
- package/src/server/DetoxSession.js +9 -6
- package/src/server/DetoxSessionManager.js +2 -1
- package/src/server/handlers/AnonymousConnectionHandler.js +1 -0
- package/src/server/handlers/RegisteredConnectionHandler.js +1 -2
- package/src/servicelocator/android/index.js +2 -2
- package/src/utils/ExclusiveLockfile.js +1 -0
- package/src/utils/Timer.js +59 -36
- package/src/utils/argparse.js +11 -27
- package/src/utils/childProcess/exec.js +4 -2
- package/src/utils/childProcess/spawn.js +1 -1
- package/src/utils/dateUtils.js +5 -0
- package/src/utils/environment.js +55 -16
- package/src/utils/errorUtils.js +24 -3
- package/src/utils/invocationTraceDescriptions.js +44 -0
- package/src/utils/isPromise.js +8 -1
- package/src/utils/logger.js +2 -2
- package/src/utils/pathUtils.js +11 -0
- package/src/utils/shellUtils.js +17 -0
- package/src/utils/traceInvocationCall.js +21 -0
- package/src/utils/traceMethods.js +15 -0
- package/src/validation/ios/IosSimulatorEnvValidator.js +7 -4
- package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-javadoc.jar.md5 +0 -1
- package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-javadoc.jar.sha1 +0 -1
- package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-javadoc.jar.sha256 +0 -1
- package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-javadoc.jar.sha512 +0 -1
- package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-sources.jar.md5 +0 -1
- package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-sources.jar.sha1 +0 -1
- package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-sources.jar.sha256 +0 -1
- package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-sources.jar.sha512 +0 -1
- package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.aar +0 -0
- package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.aar.md5 +0 -1
- package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.aar.sha1 +0 -1
- package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.aar.sha256 +0 -1
- package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.aar.sha512 +0 -1
- package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.pom.md5 +0 -1
- package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.pom.sha1 +0 -1
- package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.pom.sha256 +0 -1
- package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.pom.sha512 +0 -1
- package/Detox-ios.tbz +0 -0
- package/android/detox/src/full/java/com/wix/detox/espresso/registry/IRStatusInquirer.kt +0 -24
- package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/DescriptiveIdlingResource.kt +0 -10
- package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/IdlingResourceDescription.kt +0 -20
- package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/timers/DefaultIdleInterrogationStrategy.kt +0 -84
- package/android/detox/src/main/java/com/wix/detox/espresso/action/AdjustSliderToPositionAction.kt +0 -36
- package/android/detox/src/testFull/java/com/wix/detox/espresso/action/AdjustSliderToPositionActionTest.kt +0 -59
- package/android/detox/src/testFull/java/com/wix/detox/reactnative/idlingresources/timers/DefaultIdleInterrogationStrategySpec.kt +0 -115
- package/local-cli/build.test.js +0 -104
- package/local-cli/run-server.test.js +0 -23
- package/local-cli/test.test.js +0 -515
- package/runners/jest/deprecation.js +0 -25
- package/runners/jest/testEnvironment/utils/assertJestCircus27.test.js +0 -23
- package/scripts/build_universal_framework.sh +0 -14
- package/scripts/build_universal_framework_legacy.sh +0 -76
- package/scripts/build_universal_framework_modern.sh +0 -28
- package/src/configuration/utils/warnings.js +0 -12
- package/src/devices/common/drivers/android/tools/TempFileXfer.js +0 -16
- package/src/ipc/state.js +0 -76
- package/src/logger/DetoxTraceEventBuilder.js +0 -21
- package/src/logger/DetoxTracer.js +0 -133
- package/src/logger/TraceThreadDispatcher.js +0 -52
- package/src/realms/index.js +0 -10
- package/src/utils/ChromeTracingExporter.js +0 -53
- package/src/utils/streamUtils.js +0 -214
- package/src/utils/trace.js +0 -19
package/.eslintrc.js
CHANGED
@@ -17,7 +17,7 @@ module.exports = {
|
|
17
17
|
node: true
|
18
18
|
},
|
19
19
|
globals: {
|
20
|
-
|
20
|
+
// TODO: remove use of fail() across the project because Jest Circus doesn't support it
|
21
21
|
'fail': true
|
22
22
|
},
|
23
23
|
rules: {
|
@@ -54,12 +54,7 @@ module.exports = {
|
|
54
54
|
}
|
55
55
|
],
|
56
56
|
'no-prototype-builtins': 'off',
|
57
|
-
'no-unused-vars':
|
58
|
-
'error',
|
59
|
-
{
|
60
|
-
'argsIgnorePattern': '^_'
|
61
|
-
}
|
62
|
-
],
|
57
|
+
'no-unused-vars': 'off',
|
63
58
|
'node/no-unpublished-require': 'warn',
|
64
59
|
'object-curly-spacing': [
|
65
60
|
'error',
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
36c58d0d4e1f84ed80282f7ccf40182d
|
@@ -0,0 +1 @@
|
|
1
|
+
bea711d36184f4151255bf1a394ea6b251ee1695
|
@@ -0,0 +1 @@
|
|
1
|
+
30c3937b353fb32393b387175436c9321719d7b1560c19b6751add9f2b684b05
|
@@ -0,0 +1 @@
|
|
1
|
+
8750441190b632635afbd2b77b91fc858e131348e012d7645c1bfa92f1adfaa3a657478c5162b97e77bab32a36e245aff261667209bd3801995dcde73827559c
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
c0e23373870ae4219e386284861bbc95
|
@@ -0,0 +1 @@
|
|
1
|
+
2a47ff650529fa31d7901e5aaa120bb8ac758be3
|
@@ -0,0 +1 @@
|
|
1
|
+
65d8ce36f1286f8678612c33f139d444b9297f0e9cd836323c7443c7c2b90f21
|
@@ -0,0 +1 @@
|
|
1
|
+
f7f85044939f3d6ce464f87a319c829e12ecaf33912b3cb55c550148980550d95a2823ff1c585e53cd2254042205c9f72cd11f8735e5156a4032e6322247411a
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
e89d3204dcda439e4deb0df61603394a
|
@@ -0,0 +1 @@
|
|
1
|
+
eda5c226e954731b3dbd16becbab72f66888d5ce
|
@@ -0,0 +1 @@
|
|
1
|
+
4da9ab41881efc27c7268bff2bfbb7092d9dbdf6de8f43787b4df649f0291bff
|
@@ -0,0 +1 @@
|
|
1
|
+
c63bf901eb0327ca3791b419f99dd67060a9b48a816da5c71e7e660e60fed607347ef8f76710969e9497054cc4f99add8db19f47b7e780ee3e6413df6d75e195
|
@@ -1,9 +1,9 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
|
2
|
+
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
3
3
|
<modelVersion>4.0.0</modelVersion>
|
4
4
|
<groupId>com.wix</groupId>
|
5
5
|
<artifactId>detox</artifactId>
|
6
|
-
<version>21.0.
|
6
|
+
<version>21.0.1-rc.0</version>
|
7
7
|
<packaging>aar</packaging>
|
8
8
|
<name>Detox</name>
|
9
9
|
<description>Gray box end-to-end testing and automation library for mobile apps</description>
|
@@ -42,16 +42,34 @@
|
|
42
42
|
<version>3.4.0</version>
|
43
43
|
<scope>compile</scope>
|
44
44
|
</dependency>
|
45
|
+
<dependency>
|
46
|
+
<groupId>androidx.test.espresso</groupId>
|
47
|
+
<artifactId>espresso-contrib</artifactId>
|
48
|
+
<version>3.4.0</version>
|
49
|
+
<scope>compile</scope>
|
50
|
+
<exclusions>
|
51
|
+
<exclusion>
|
52
|
+
<groupId>org.checkerframework</groupId>
|
53
|
+
<artifactId>checker</artifactId>
|
54
|
+
</exclusion>
|
55
|
+
</exclusions>
|
56
|
+
</dependency>
|
57
|
+
<dependency>
|
58
|
+
<groupId>org.hamcrest</groupId>
|
59
|
+
<artifactId>hamcrest</artifactId>
|
60
|
+
<version>2.2</version>
|
61
|
+
<scope>compile</scope>
|
62
|
+
</dependency>
|
45
63
|
<dependency>
|
46
64
|
<groupId>androidx.test</groupId>
|
47
65
|
<artifactId>rules</artifactId>
|
48
|
-
<version>1.
|
66
|
+
<version>1.5.0</version>
|
49
67
|
<scope>compile</scope>
|
50
68
|
</dependency>
|
51
69
|
<dependency>
|
52
70
|
<groupId>androidx.test.ext</groupId>
|
53
71
|
<artifactId>junit</artifactId>
|
54
|
-
<version>1.1.
|
72
|
+
<version>1.1.5</version>
|
55
73
|
<scope>compile</scope>
|
56
74
|
</dependency>
|
57
75
|
<dependency>
|
@@ -60,12 +78,6 @@
|
|
60
78
|
<version>2.2.0</version>
|
61
79
|
<scope>compile</scope>
|
62
80
|
</dependency>
|
63
|
-
<dependency>
|
64
|
-
<groupId>org.jetbrains.kotlin</groupId>
|
65
|
-
<artifactId>kotlin-android-extensions-runtime</artifactId>
|
66
|
-
<version>1.3.72</version>
|
67
|
-
<scope>runtime</scope>
|
68
|
-
</dependency>
|
69
81
|
<dependency>
|
70
82
|
<groupId>org.jetbrains.kotlin</groupId>
|
71
83
|
<artifactId>kotlin-stdlib-jdk8</artifactId>
|
@@ -0,0 +1 @@
|
|
1
|
+
9096cb98397fdf3863f97a687919d09c
|
@@ -0,0 +1 @@
|
|
1
|
+
4a93819f4e9c897bea4b1e5761af1635ae7859c8
|
@@ -0,0 +1 @@
|
|
1
|
+
5d49f6e9b76723b581f89003fbd8c13519eacd200073cebca6e76afbcfde40d3
|
@@ -0,0 +1 @@
|
|
1
|
+
ba750f5e6acbad685c7af47fa19e735eded5af282637e75510e9a3d2ecf0962073e2b93380a38d9def8ce832ff2e56218bb48bfa50bc8b7e83f9fcd6140d95ef
|
@@ -3,11 +3,11 @@
|
|
3
3
|
<groupId>com.wix</groupId>
|
4
4
|
<artifactId>detox</artifactId>
|
5
5
|
<versioning>
|
6
|
-
<latest>21.0.
|
7
|
-
<release>21.0.
|
6
|
+
<latest>21.0.1-rc.0</latest>
|
7
|
+
<release>21.0.1-rc.0</release>
|
8
8
|
<versions>
|
9
|
-
<version>21.0.
|
9
|
+
<version>21.0.1-rc.0</version>
|
10
10
|
</versions>
|
11
|
-
<lastUpdated>
|
11
|
+
<lastUpdated>20230511165818</lastUpdated>
|
12
12
|
</versioning>
|
13
13
|
</metadata>
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
1657a3f6770112adf1704fa9b214000d
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
e85767e485bb206b1d977beaff8939639e2dbc87
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
a4f43d0f2567a0b68664782749236a945f99fbf338439a4144da34cc17ab7a14
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
ffe8f7f38b99628d086b5638b6d457a208d40ccd761f14b208a5d39e963b065d155a30228ea54bcf6391952ca9f8e7027f007b0a578faac84c930ce2d409bb20
|
Binary file
|
package/Detox-ios-src.tbz
CHANGED
Binary file
|
Binary file
|
package/README.md
CHANGED
package/android/build.gradle
CHANGED
@@ -1,12 +1,20 @@
|
|
1
1
|
buildscript {
|
2
2
|
ext {
|
3
3
|
isOfficialDetoxLib = true
|
4
|
-
kotlinVersion = '1.
|
4
|
+
kotlinVersion = '1.6.10' // Aligned with RN .69's version bump
|
5
5
|
dokkaVersion = '1.6.0'
|
6
|
-
buildToolsVersion = '
|
6
|
+
buildToolsVersion = '31.0.0'
|
7
7
|
compileSdkVersion = 31
|
8
8
|
targetSdkVersion = 31
|
9
9
|
minSdkVersion = 21
|
10
|
+
|
11
|
+
if (System.properties['os.arch'] == "aarch64") {
|
12
|
+
// For M1 Users we need to use the NDK 24 which added support for aarch64
|
13
|
+
ndkVersion = "24.0.8215888"
|
14
|
+
} else {
|
15
|
+
// Otherwise we default to the side-by-side NDK version from AGP.
|
16
|
+
ndkVersion = "21.4.7075529"
|
17
|
+
}
|
10
18
|
}
|
11
19
|
ext.detoxKotlinVersion = ext.kotlinVersion
|
12
20
|
|
@@ -15,14 +23,12 @@ buildscript {
|
|
15
23
|
google()
|
16
24
|
}
|
17
25
|
dependencies {
|
18
|
-
classpath 'com.android.tools.build:gradle:
|
26
|
+
classpath 'com.android.tools.build:gradle:7.2.1'
|
19
27
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
|
20
28
|
classpath "org.jetbrains.dokka:dokka-gradle-plugin:$dokkaVersion"
|
21
29
|
|
22
|
-
|
23
|
-
|
24
|
-
classpath 'de.mannodermaus.gradle.plugins:android-junit5:1.7.1.1'
|
25
|
-
}
|
30
|
+
// Needed by Spek (https://spekframework.org/setup-android)
|
31
|
+
classpath 'de.mannodermaus.gradle.plugins:android-junit5:1.7.1.1'
|
26
32
|
}
|
27
33
|
}
|
28
34
|
|
@@ -31,7 +37,6 @@ allprojects {
|
|
31
37
|
mavenLocal()
|
32
38
|
mavenCentral()
|
33
39
|
google()
|
34
|
-
jcenter()
|
35
40
|
maven {
|
36
41
|
url "$projectDir/../../node_modules/react-native/android"
|
37
42
|
}
|
@@ -1,13 +1,15 @@
|
|
1
1
|
apply plugin: 'com.android.library'
|
2
2
|
apply plugin: 'kotlin-android'
|
3
|
-
|
3
|
+
|
4
|
+
def _kotlinMinVersion = '1.2.0'
|
5
|
+
def _materialMinVersion = '1.2.1'
|
4
6
|
|
5
7
|
def _ext = rootProject.ext
|
6
8
|
def _compileSdkVersion = _ext.has('compileSdkVersion') ? _ext.compileSdkVersion : 31
|
7
9
|
def _targetSdkVersion = _ext.has('targetSdkVersion') ? _ext.targetSdkVersion : 31
|
8
|
-
def _buildToolsVersion = _ext.has('buildToolsVersion') ? _ext.buildToolsVersion : '
|
9
|
-
def _minSdkVersion = _ext.has('minSdkVersion') ? _ext.minSdkVersion :
|
10
|
-
def _kotlinVersion = _ext.has('detoxKotlinVersion') ? _ext.detoxKotlinVersion :
|
10
|
+
def _buildToolsVersion = _ext.has('buildToolsVersion') ? _ext.buildToolsVersion : '31.0.0'
|
11
|
+
def _minSdkVersion = _ext.has('minSdkVersion') ? _ext.minSdkVersion : 21
|
12
|
+
def _kotlinVersion = _ext.has('detoxKotlinVersion') ? _ext.detoxKotlinVersion : _kotlinMinVersion
|
11
13
|
def _kotlinStdlib = _ext.has('detoxKotlinStdlib') ? _ext.detoxKotlinStdlib : 'kotlin-stdlib-jdk8'
|
12
14
|
|
13
15
|
android {
|
@@ -75,7 +77,8 @@ android {
|
|
75
77
|
|
76
78
|
// Fundamental deps.
|
77
79
|
dependencies {
|
78
|
-
implementation "org.jetbrains.kotlin:$_kotlinStdlib:$
|
80
|
+
implementation "org.jetbrains.kotlin:$_kotlinStdlib:$_kotlinMinVersion"
|
81
|
+
//noinspection GradleDynamicVersion
|
79
82
|
compileOnly 'com.facebook.react:react-native:+'
|
80
83
|
}
|
81
84
|
|
@@ -92,10 +95,17 @@ dependencies {
|
|
92
95
|
api('androidx.test.espresso:espresso-web:3.4.0') {
|
93
96
|
because 'Web-View testing'
|
94
97
|
}
|
95
|
-
api('androidx.test:
|
98
|
+
api('androidx.test.espresso:espresso-contrib:3.4.0') {
|
99
|
+
because 'Android datepicker support'
|
100
|
+
exclude group: "org.checkerframework", module: "checker"
|
101
|
+
}
|
102
|
+
api('org.hamcrest:hamcrest:2.2') {
|
103
|
+
because 'See https://github.com/wix/Detox/issues/3920. Need to force hamcrest 2.2 win in battle of 2.2 vs. 1.3 (specified by Espresso).'
|
104
|
+
}
|
105
|
+
api('androidx.test:rules:1.5.0') {
|
96
106
|
because 'of ActivityTestRule. Needed by users *and* internally used by Detox.'
|
97
107
|
}
|
98
|
-
api('androidx.test.ext:junit:1.1.
|
108
|
+
api('androidx.test.ext:junit:1.1.5') {
|
99
109
|
because 'Needed so as to seamlessly provide AndroidJUnit4 to Detox users. Depends on junit core.'
|
100
110
|
}
|
101
111
|
|
@@ -108,7 +118,7 @@ dependencies {
|
|
108
118
|
|
109
119
|
// Third-party/extension deps.
|
110
120
|
dependencies {
|
111
|
-
implementation(
|
121
|
+
implementation("com.google.android.material:material:$_materialMinVersion") {
|
112
122
|
because 'Material components are mentioned explicitly (e.g. Slider in get-attributes handler)'
|
113
123
|
}
|
114
124
|
implementation('org.apache.commons:commons-lang3:3.7') {
|
@@ -121,12 +131,12 @@ dependencies {
|
|
121
131
|
|
122
132
|
// Unit-testing deps.
|
123
133
|
dependencies {
|
134
|
+
//noinspection GradleDynamicVersion
|
124
135
|
testImplementation 'com.facebook.react:react-native:+'
|
125
136
|
testImplementation 'org.json:json:20140107'
|
126
137
|
|
127
138
|
// https://github.com/spekframework/spek/issues/232#issuecomment-610732158
|
128
|
-
|
129
|
-
testRuntimeOnly 'org.junit.vintage:junit-vintage-engine:5.6.0'
|
139
|
+
testRuntimeOnly 'org.junit.vintage:junit-vintage-engine:5.7.2'
|
130
140
|
|
131
141
|
testImplementation 'org.assertj:assertj-core:3.16.1'
|
132
142
|
testImplementation "org.jetbrains.kotlin:kotlin-test:$_kotlinVersion"
|
@@ -136,9 +146,9 @@ dependencies {
|
|
136
146
|
}
|
137
147
|
|
138
148
|
// Spek (https://spekframework.org/setup-android)
|
139
|
-
if (
|
140
|
-
|
141
|
-
|
149
|
+
if (rootProject.hasProperty('isOfficialDetoxLib') ||
|
150
|
+
rootProject.hasProperty('isOfficialDetoxApp')) {
|
151
|
+
|
142
152
|
apply plugin: 'de.mannodermaus.android-junit5'
|
143
153
|
|
144
154
|
android {
|
@@ -164,3 +174,4 @@ if (!rootProject.hasProperty('suppressUnitTests') &&
|
|
164
174
|
if (rootProject.hasProperty('isOfficialDetoxLib')) {
|
165
175
|
apply from: './publishing.gradle'
|
166
176
|
}
|
177
|
+
|
@@ -1,4 +1,5 @@
|
|
1
1
|
-keepattributes InnerClasses, Exceptions
|
2
|
+
|
2
3
|
-keep class com.facebook.react.modules.** { *; }
|
3
4
|
-keep class com.facebook.react.uimanager.** { *; }
|
4
5
|
-keep class com.facebook.react.animated.** { *; }
|
@@ -6,6 +7,11 @@
|
|
6
7
|
-keep class com.facebook.react.ReactNativeHost { *; }
|
7
8
|
-keep class com.facebook.react.ReactInstanceManager { *; }
|
8
9
|
-keep class com.facebook.react.ReactInstanceManager** { *; }
|
10
|
+
-keep class com.facebook.react.ReactInstanceEventListener { *; }
|
11
|
+
|
12
|
+
-keep class com.facebook.react.views.slider.** { *; }
|
13
|
+
-keep class com.google.android.material.slider.** { *; }
|
14
|
+
-keep class com.reactnativecommunity.slider.** { *; }
|
9
15
|
-keep class com.reactnativecommunity.asyncstorage.** { *; }
|
10
16
|
|
11
17
|
-keep class kotlin.jvm.** { *; }
|
@@ -4,8 +4,12 @@ project.ext.buildPomXmlDependencies = { pom, configurations ->
|
|
4
4
|
pom.withXml {
|
5
5
|
final rootNode = asNode().appendNode('dependencies')
|
6
6
|
addConfigurationDependencies(rootNode, configurations.api, 'compile')
|
7
|
-
addConfigurationDependencies(rootNode, configurations.compile, 'compile')
|
8
7
|
addConfigurationDependencies(rootNode, configurations.implementation, 'runtime')
|
8
|
+
|
9
|
+
// Legacy syntax
|
10
|
+
if (configurations.hasProperty('compile')) {
|
11
|
+
addConfigurationDependencies(rootNode, configurations.compile, 'compile')
|
12
|
+
}
|
9
13
|
}
|
10
14
|
}
|
11
15
|
|
@@ -18,6 +18,7 @@ def DEVELOPERS = [
|
|
18
18
|
String _versionName = System.getProperty('version')
|
19
19
|
String _flavour = System.getProperty('buildFlavour', PUB_FLAVOUR_FULL_DETOX)
|
20
20
|
Boolean _forceLocal = System.getProperty('forceLocal', 'false').toBoolean()
|
21
|
+
Boolean _forceSign = System.getProperty('forceSign', 'false').toBoolean()
|
21
22
|
|
22
23
|
String _mavenRepoUrl
|
23
24
|
Map _mavenCredentials
|
@@ -28,7 +29,7 @@ def _selectedVariant
|
|
28
29
|
def initLocalPublishing = {
|
29
30
|
_mavenRepoUrl = TARGET_LOCAL_DIR
|
30
31
|
_mavenCredentials = null
|
31
|
-
_shouldSignArtifacts =
|
32
|
+
_shouldSignArtifacts = _forceSign
|
32
33
|
}
|
33
34
|
|
34
35
|
def initMavenPublishing = {
|
@@ -71,10 +72,8 @@ def shouldPublishVariant = {
|
|
71
72
|
}
|
72
73
|
|
73
74
|
def declareArchive = { target ->
|
74
|
-
|
75
|
-
|
76
|
-
archives target
|
77
|
-
}
|
75
|
+
project.artifacts {
|
76
|
+
archives target
|
78
77
|
}
|
79
78
|
}
|
80
79
|
|
@@ -103,12 +102,12 @@ tasks.named("dokkaJavadoc") {
|
|
103
102
|
}
|
104
103
|
}
|
105
104
|
}
|
106
|
-
// Side note / TODO:
|
107
|
-
// Dokka outputs R and BuildConfig; currently, there's nothing to do about it, as issues such as
|
108
|
-
// this on - https://github.com/Kotlin/dokka/issues/419 are still open :-/
|
109
|
-
// We might want to revisit this in the future -- see if they've decided to export a custom classes
|
110
|
-
// suppression config var or something.
|
111
105
|
|
106
|
+
// Side note / TODO (revisit because dokka's 419 issue has been resolved, since):
|
107
|
+
// Dokka outputs R and BuildConfig; currently, there's nothing to do about it, as issues such as
|
108
|
+
// this on - https://github.com/Kotlin/dokka/issues/419 are still open :-/
|
109
|
+
// We might want to revisit this in the future -- see if they've decided to export a custom classes
|
110
|
+
// suppression config var or something.
|
112
111
|
task dokkaDocJar(type: Jar, dependsOn: dokkaJavadoc) {
|
113
112
|
from "$buildDir/dokkaDoc"
|
114
113
|
classifier = 'javadoc'
|
@@ -140,13 +139,15 @@ signing {
|
|
140
139
|
|
141
140
|
project.afterEvaluate {
|
142
141
|
project.tasks.all { Task task ->
|
143
|
-
android
|
144
|
-
|
145
|
-
|
146
|
-
task.
|
147
|
-
|
148
|
-
|
149
|
-
|
142
|
+
android {
|
143
|
+
libraryVariants.all { variant ->
|
144
|
+
String variantName = variant.name.capitalize()
|
145
|
+
if (task.name == "publishMaven${variantName}AarPublicationToMavenRepository".toString()) {
|
146
|
+
task.dependsOn "assemble${variantName}"
|
147
|
+
task.dependsOn project.tasks.signArchives
|
148
|
+
task.doFirst {
|
149
|
+
onPrePublish()
|
150
|
+
}
|
150
151
|
}
|
151
152
|
}
|
152
153
|
}
|
@@ -243,22 +244,23 @@ publishing {
|
|
243
244
|
}
|
244
245
|
}
|
245
246
|
|
246
|
-
// Register all artifacts we've previously registered as archives (i.e. .jar.asc's, .aar.asc's) as
|
247
|
-
// Note: this relies on preregistering the equivalent generator-tasks as archive artifacts
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
247
|
+
// Register all artifacts we've previously registered as signed archives (i.e. .jar.asc's, .aar.asc's) as publish-artifacts.
|
248
|
+
// Note: this relies on preregistering the equivalent generator-tasks as archive artifacts inside a project.artifacts { ... } clause.
|
249
|
+
if (_shouldSignArtifacts) {
|
250
|
+
project.tasks.signArchives.signatureFiles.each {
|
251
|
+
artifact(it) {
|
252
|
+
def matcherSrcDocs = (it.file =~ /-(sources|javadoc)\.jar\.asc$/)
|
253
|
+
def matcherAAR = (it.file =~ /\.aar\.asc$/)
|
254
|
+
if (matcherSrcDocs.find()) {
|
255
|
+
classifier = matcherSrcDocs.group(1)
|
256
|
+
extension = 'jar.asc'
|
257
|
+
} else if (matcherAAR.find()) {
|
258
|
+
classifier = null
|
259
|
+
extension = 'aar.asc'
|
260
|
+
} else {
|
261
|
+
classifier = null
|
262
|
+
extension = null
|
263
|
+
}
|
262
264
|
}
|
263
265
|
}
|
264
266
|
}
|
@@ -6,7 +6,7 @@ import com.wix.detox.adapters.server.OutboundServerAdapter
|
|
6
6
|
class DetoxCrashHandler(private val outboundServerAdapter: OutboundServerAdapter) {
|
7
7
|
fun attach() {
|
8
8
|
Thread.setDefaultUncaughtExceptionHandler { thread, exception ->
|
9
|
-
Log.e(LOG_TAG, "Crash detected!!! thread=${thread.name} (${thread.id})")
|
9
|
+
Log.e(LOG_TAG, "Crash detected!!! thread=${thread.name} (${thread.id})", exception)
|
10
10
|
|
11
11
|
val crashInfo = mapOf("errorDetails" to "@Thread ${thread.name}(${thread.id}):\n${Log.getStackTraceString(exception)}\nCheck device logs for full details!")
|
12
12
|
outboundServerAdapter.sendMessage(ACTION_NAME, crashInfo, MESSAGE_ID)
|
@@ -14,6 +14,7 @@ public class LaunchArgs {
|
|
14
14
|
private static final String DETOX_NOTIFICATION_PATH_ARG = "detoxUserNotificationDataURL";
|
15
15
|
private static final String DETOX_BLACKLIST_URLS_ARG = "detoxURLBlacklistRegex";
|
16
16
|
private static final String DETOX_URL_OVERRIDE_ARG = "detoxURLOverride";
|
17
|
+
private static final String DETOX_ENABLE_SYNCHRONIZATION = "detoxEnableSynchronization";
|
17
18
|
private static final List<String> RESERVED_INSTRUMENTATION_ARGS = Arrays.asList("class", "package", "func", "unit", "size", "perf", "debug", "log", "emma", "coverageFile");
|
18
19
|
|
19
20
|
public boolean hasNotificationPath() {
|
@@ -36,6 +37,14 @@ public class LaunchArgs {
|
|
36
37
|
return InstrumentationRegistry.getArguments().containsKey(DETOX_BLACKLIST_URLS_ARG);
|
37
38
|
}
|
38
39
|
|
40
|
+
public String getEnableSynchronization() {
|
41
|
+
return InstrumentationRegistry.getArguments().getString(DETOX_ENABLE_SYNCHRONIZATION);
|
42
|
+
}
|
43
|
+
|
44
|
+
public boolean hasEnableSynchronization() {
|
45
|
+
return InstrumentationRegistry.getArguments().containsKey(DETOX_ENABLE_SYNCHRONIZATION);
|
46
|
+
}
|
47
|
+
|
39
48
|
public String getUrlOverride() {
|
40
49
|
return InstrumentationRegistry.getArguments().getString(DETOX_URL_OVERRIDE_ARG);
|
41
50
|
}
|
@@ -5,16 +5,16 @@ import android.util.Log
|
|
5
5
|
import androidx.test.espresso.Espresso
|
6
6
|
import com.wix.detox.common.DetoxLog.Companion.LOG_TAG
|
7
7
|
import com.wix.detox.espresso.UiAutomatorHelper
|
8
|
-
import com.wix.detox.espresso.registry.
|
8
|
+
import com.wix.detox.espresso.registry.BusyResourcesInquirer
|
9
9
|
import com.wix.detox.reactnative.ReactNativeExtension
|
10
10
|
|
11
11
|
class TestEngineFacade {
|
12
|
-
fun awaitIdle(): Unit? = Espresso.onIdle
|
13
|
-
Log.i(LOG_TAG, "Wait is over:
|
12
|
+
fun awaitIdle(): Unit? = Espresso.onIdle {
|
13
|
+
Log.i(LOG_TAG, "Wait is over: App is now idle!")
|
14
14
|
null
|
15
15
|
}
|
16
16
|
fun syncIdle() = UiAutomatorHelper.espressoSync() // TODO Check whether this can be replaced with #awaitIdle()
|
17
|
-
fun
|
17
|
+
fun getAllBusyResources() = BusyResourcesInquirer.INSTANCE.getAllBusyResources()
|
18
18
|
|
19
19
|
// TODO Refactor RN related stuff away
|
20
20
|
fun reloadReactNative(appContext: Context) = ReactNativeExtension.reloadReactNative(appContext)
|