detox 20.34.3 → 20.34.4-smoke.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/Detox-android/com/wix/detox/{20.34.3/detox-20.34.3-sources.jar → 20.34.4-smoke.0/detox-20.34.4-smoke.0-sources.jar} +0 -0
  2. package/Detox-android/com/wix/detox/20.34.4-smoke.0/detox-20.34.4-smoke.0-sources.jar.md5 +1 -0
  3. package/Detox-android/com/wix/detox/20.34.4-smoke.0/detox-20.34.4-smoke.0-sources.jar.sha1 +1 -0
  4. package/Detox-android/com/wix/detox/20.34.4-smoke.0/detox-20.34.4-smoke.0-sources.jar.sha256 +1 -0
  5. package/Detox-android/com/wix/detox/20.34.4-smoke.0/detox-20.34.4-smoke.0-sources.jar.sha512 +1 -0
  6. package/Detox-android/com/wix/detox/{20.34.3/detox-20.34.3.pom → 20.34.4-smoke.0/detox-20.34.4-smoke.0.pom} +1 -1
  7. package/Detox-android/com/wix/detox/20.34.4-smoke.0/detox-20.34.4-smoke.0.pom.md5 +1 -0
  8. package/Detox-android/com/wix/detox/20.34.4-smoke.0/detox-20.34.4-smoke.0.pom.sha1 +1 -0
  9. package/Detox-android/com/wix/detox/20.34.4-smoke.0/detox-20.34.4-smoke.0.pom.sha256 +1 -0
  10. package/Detox-android/com/wix/detox/20.34.4-smoke.0/detox-20.34.4-smoke.0.pom.sha512 +1 -0
  11. package/Detox-android/com/wix/detox/maven-metadata.xml +4 -4
  12. package/Detox-android/com/wix/detox/maven-metadata.xml.md5 +1 -1
  13. package/Detox-android/com/wix/detox/maven-metadata.xml.sha1 +1 -1
  14. package/Detox-android/com/wix/detox/maven-metadata.xml.sha256 +1 -1
  15. package/Detox-android/com/wix/detox/maven-metadata.xml.sha512 +1 -1
  16. package/Detox-ios-framework.tbz +0 -0
  17. package/Detox-ios-src.tbz +0 -0
  18. package/Detox-ios-xcuitest.tbz +0 -0
  19. package/package.json +2 -2
  20. package/src/devices/common/drivers/android/exec/ADB.js +13 -4
  21. package/src/devices/runtime/drivers/android/genycloud/GenyCloudDriver.js +6 -0
  22. package/src/utils/childProcess/spawn.js +2 -1
  23. package/Detox-android/com/wix/detox/20.34.3/detox-20.34.3-sources.jar.md5 +0 -1
  24. package/Detox-android/com/wix/detox/20.34.3/detox-20.34.3-sources.jar.sha1 +0 -1
  25. package/Detox-android/com/wix/detox/20.34.3/detox-20.34.3-sources.jar.sha256 +0 -1
  26. package/Detox-android/com/wix/detox/20.34.3/detox-20.34.3-sources.jar.sha512 +0 -1
  27. package/Detox-android/com/wix/detox/20.34.3/detox-20.34.3.pom.md5 +0 -1
  28. package/Detox-android/com/wix/detox/20.34.3/detox-20.34.3.pom.sha1 +0 -1
  29. package/Detox-android/com/wix/detox/20.34.3/detox-20.34.3.pom.sha256 +0 -1
  30. package/Detox-android/com/wix/detox/20.34.3/detox-20.34.3.pom.sha512 +0 -1
  31. /package/Detox-android/com/wix/detox/{20.34.3/detox-20.34.3.aar → 20.34.4-smoke.0/detox-20.34.4-smoke.0.aar} +0 -0
  32. /package/Detox-android/com/wix/detox/{20.34.3/detox-20.34.3.aar.md5 → 20.34.4-smoke.0/detox-20.34.4-smoke.0.aar.md5} +0 -0
  33. /package/Detox-android/com/wix/detox/{20.34.3/detox-20.34.3.aar.sha1 → 20.34.4-smoke.0/detox-20.34.4-smoke.0.aar.sha1} +0 -0
  34. /package/Detox-android/com/wix/detox/{20.34.3/detox-20.34.3.aar.sha256 → 20.34.4-smoke.0/detox-20.34.4-smoke.0.aar.sha256} +0 -0
  35. /package/Detox-android/com/wix/detox/{20.34.3/detox-20.34.3.aar.sha512 → 20.34.4-smoke.0/detox-20.34.4-smoke.0.aar.sha512} +0 -0
@@ -0,0 +1 @@
1
+ 54a7beb016b7cddb31c2f8d48aaa480b
@@ -0,0 +1 @@
1
+ 8f4baf3dff400d3c5e66229aa0d9de6bfe9a1bcc
@@ -0,0 +1 @@
1
+ 734c6416b6e6674259eb42aaa148f6c43e6d974a2f83b59ef16359cecd36ff22
@@ -0,0 +1 @@
1
+ 29f8bd97e7ae78108f2a916710dbd91f49e6a1aa4b6605381d75ed02703a16244c5f5770df193a4ad2c654a401b7568b939f991beeaf6804d575c938250f0d4a
@@ -3,7 +3,7 @@
3
3
  <modelVersion>4.0.0</modelVersion>
4
4
  <groupId>com.wix</groupId>
5
5
  <artifactId>detox</artifactId>
6
- <version>20.34.3</version>
6
+ <version>20.34.4-smoke.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>
@@ -0,0 +1 @@
1
+ 088afe97d812b527a3e75fe18a90ff01
@@ -0,0 +1 @@
1
+ 7ba4a00d2334163138ce2a534e786e31a7d436a3
@@ -0,0 +1 @@
1
+ d0dbaf10fff6b64e79f38425d19638ed540a79a7c3253dbcf564a3ee2884e7a8
@@ -0,0 +1 @@
1
+ 5dca3011f0c443184a1ed151836eb29b7967035426cec1f750360ff5ce79eea4f71a7c9dfc750a65909bbf297b5cabe9bbc5cd39bbdde2619b35634fbc2d6000
@@ -3,11 +3,11 @@
3
3
  <groupId>com.wix</groupId>
4
4
  <artifactId>detox</artifactId>
5
5
  <versioning>
6
- <latest>20.34.3</latest>
7
- <release>20.34.3</release>
6
+ <latest>20.34.4-smoke.0</latest>
7
+ <release>20.34.4-smoke.0</release>
8
8
  <versions>
9
- <version>20.34.3</version>
9
+ <version>20.34.4-smoke.0</version>
10
10
  </versions>
11
- <lastUpdated>20250223070059</lastUpdated>
11
+ <lastUpdated>20250227123225</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- f7d0f7fbe06c53f47645c21060621734
1
+ 8b6fb10a0f0cd9eb41786a18d8187268
@@ -1 +1 @@
1
- 7e3151395bdd8ab29032d12d01482aa79cb9727a
1
+ 75de980403884a18e9437290e8e96b06d161e5ac
@@ -1 +1 @@
1
- a53d8755f3e87800de72f51aae2782ffdd13103681c039b05801a1efe0c1166c
1
+ 7f8dc3e5481e52930efe49893b516f2e5b849af68d6621c3e143435f8ea08bd5
@@ -1 +1 @@
1
- e9d4fb30dd94fe25930bc47fed1897ba594fc59957283f1f80a6bafaa33b7f159f7ebaec6e6127b081a9d881fe90608b248bfab85fc22982015cffda095bb4e9
1
+ 5ee41f804eac082f19b3b3c5a75664aaba2dcfb51050e707658ea21277594fb98d2d299fc54dfb625c8029cb7cbdc5d64bab757c2ba8ba1986160104d07e41c7
Binary file
package/Detox-ios-src.tbz CHANGED
Binary file
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "detox",
3
3
  "description": "E2E tests and automation for mobile",
4
- "version": "20.34.3",
4
+ "version": "20.34.4-smoke.0",
5
5
  "bin": {
6
6
  "detox": "local-cli/cli.js"
7
7
  },
@@ -119,5 +119,5 @@
119
119
  "browserslist": [
120
120
  "node 14"
121
121
  ],
122
- "gitHead": "8d057a464c5ce94e796e35e09bfac804437d6b6c"
122
+ "gitHead": "6a50df137e92c64e1821ff502e420269f7c10592"
123
123
  }
@@ -8,11 +8,19 @@ const { escape } = require('../../../../../utils/pipeCommands');
8
8
  const DeviceHandle = require('../tools/DeviceHandle');
9
9
  const EmulatorHandle = require('../tools/EmulatorHandle');
10
10
 
11
- const INSTALL_TIMEOUT = 45000;
11
+ const DEFAULT_EXEC_OPTIONS = {
12
+ retries: 1,
13
+ };
14
+ const DEFAULT_INSTALL_OPTIONS = {
15
+ timeout: 60000,
16
+ retries: 3,
17
+ };
12
18
 
13
19
  class ADB {
14
20
  constructor() {
15
21
  this._cachedApiLevels = new Map();
22
+ this.defaultExecOptions = DEFAULT_EXEC_OPTIONS;
23
+ this.installOptions = DEFAULT_INSTALL_OPTIONS;
16
24
  this.adbBin = getAdbPath();
17
25
  }
18
26
 
@@ -113,7 +121,7 @@ class ADB {
113
121
  const command = (apiLvl >= 23)
114
122
  ? `install -r -g -t ${apkPath}`
115
123
  : `install -rg ${apkPath}`;
116
- const result = await this.adbCmdSpawned(deviceId, command, { timeout: INSTALL_TIMEOUT, retries: 3 });
124
+ const result = await this.adbCmdSpawned(deviceId, command, this.installOptions);
117
125
 
118
126
  const [failure] = (result.stdout || '').match(/^Failure \[.*\]$/m) || [];
119
127
  if (failure) {
@@ -129,7 +137,7 @@ class ADB {
129
137
  const command = (apiLvl >= 23)
130
138
  ? `pm install -r -g -t ${path}`
131
139
  : `pm install -rg ${path}`;
132
- return this.shellSpawned(deviceId, command, { timeout: INSTALL_TIMEOUT, retries: 3 });
140
+ return this.shellSpawned(deviceId, command, this.installOptions);
133
141
  }
134
142
 
135
143
  async uninstall(deviceId, appId) {
@@ -353,7 +361,7 @@ class ADB {
353
361
  const serial = `${deviceId ? `-s ${deviceId}` : ''}`;
354
362
  const cmd = `"${this.adbBin}" ${serial} ${params}`;
355
363
  const _options = {
356
- retries: 1,
364
+ ...this.defaultExecOptions,
357
365
  ...options,
358
366
  };
359
367
  return execWithRetriesAndLogs(cmd, _options);
@@ -364,6 +372,7 @@ class ADB {
364
372
  const serial = deviceId ? ['-s', deviceId] : [];
365
373
  const _flags = [...serial, ...flags];
366
374
  const _spawnOptions = {
375
+ ...this.defaultExecOptions,
367
376
  ...spawnOptions,
368
377
  capture: ['stdout'],
369
378
  };
@@ -19,6 +19,12 @@ class GenyCloudDriver extends AndroidDriver {
19
19
  constructor(deps, { adbName, name }) {
20
20
  super(deps, { adbName });
21
21
 
22
+ // Make ADB more resilient to network latency and connection hiccups
23
+ this.adb.defaultExecOptions = {
24
+ retries: 5,
25
+ interval: 3000,
26
+ backoff: 'linear',
27
+ };
22
28
  this._instanceName = name;
23
29
  }
24
30
 
@@ -26,11 +26,12 @@ async function spawnWithRetriesAndLogs(binary, flags, options = {}) {
26
26
  const {
27
27
  retries = 1,
28
28
  interval = 100,
29
+ backoff = 'none',
29
30
  ...spawnOptions
30
31
  } = _options;
31
32
 
32
33
  let result;
33
- await retry({ retries, interval }, async (tryCount, lastError) => {
34
+ await retry({ retries, interval, backoff }, async (tryCount, lastError) => {
34
35
  _logSpawnRetrying(logger, tryCount, lastError);
35
36
  result = await _spawnAndLog(logger, binary, flags, command, spawnOptions, tryCount);
36
37
  });
@@ -1 +0,0 @@
1
- 07d042624d34a3d93f5a55af3b442a19
@@ -1 +0,0 @@
1
- d6ad0755c8cdb5a3bbf47626585b5976a32676df
@@ -1 +0,0 @@
1
- ff29ba1dc5eaa97dc9fb0f1bca71bfe613742201f15b31e00cd0dff5e40cde2d
@@ -1 +0,0 @@
1
- c4e20b2963934f14bfc50dfa8f3bb79f931635dbefabde270bbbf154f3add7ea0d074125ddb95afd9ccd4a32c04b0e44128192a1481b34cedf54cf631f5a43e7
@@ -1 +0,0 @@
1
- 9eb9c0567fed3046cff7590e1294ee35
@@ -1 +0,0 @@
1
- 1f5de2f95d52bcafa79ea5413eed0c7e154f97d0
@@ -1 +0,0 @@
1
- 78f49ddecef404994b520a8a0daa670fd46a99ba083400b654353b22bc15b080
@@ -1 +0,0 @@
1
- 9ccbcc97a835be9c2c899ece896b74d52ca9a128016f2c8978f7b23fb441a92433f310544893f7924182768b938f2f0f5cad8f908b52600c644c309e751ce866