appium-xcuitest-driver 11.7.6 → 11.7.7
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.
- package/CHANGELOG.md +6 -0
- package/build/lib/commands/file-movement.d.ts +2 -1
- package/build/lib/commands/file-movement.d.ts.map +1 -1
- package/build/lib/commands/file-movement.js +22 -19
- package/build/lib/commands/file-movement.js.map +1 -1
- package/build/lib/device/real-device-management.d.ts +13 -4
- package/build/lib/device/real-device-management.d.ts.map +1 -1
- package/build/lib/device/real-device-management.js +52 -20
- package/build/lib/device/real-device-management.js.map +1 -1
- package/lib/commands/file-movement.ts +29 -21
- package/lib/device/real-device-management.ts +89 -32
- package/npm-shrinkwrap.json +5 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [11.7.7](https://github.com/appium/appium-xcuitest-driver/compare/v11.7.6...v11.7.7) (2026-06-01)
|
|
2
|
+
|
|
3
|
+
### Miscellaneous Chores
|
|
4
|
+
|
|
5
|
+
* Tune AFC performance logging ([#2858](https://github.com/appium/appium-xcuitest-driver/issues/2858)) ([03a9145](https://github.com/appium/appium-xcuitest-driver/commit/03a91454a8db7571e401bd9dc6d42aae4552133a))
|
|
6
|
+
|
|
1
7
|
## [11.7.6](https://github.com/appium/appium-xcuitest-driver/compare/v11.7.5...v11.7.6) (2026-05-31)
|
|
2
8
|
|
|
3
9
|
### Miscellaneous Chores
|
|
@@ -3,10 +3,11 @@ import type { ContainerObject, ContainerRootSupplier } from './types';
|
|
|
3
3
|
/**
|
|
4
4
|
* Parses the actual path and the bundle identifier from the given path string.
|
|
5
5
|
*
|
|
6
|
+
* @param driver - The driver instance
|
|
6
7
|
* @param remotePath - Path string matching `CONTAINER_PATH_PATTERN`, e.g. `@bundle.id:container/relative/path`
|
|
7
8
|
* @param containerRootSupplier - Container root path supplier or explicit root
|
|
8
9
|
*/
|
|
9
|
-
export declare function parseContainerPath(
|
|
10
|
+
export declare function parseContainerPath(driver: XCUITestDriver, remotePath: string, containerRootSupplier?: ContainerRootSupplier | string): Promise<ContainerObject>;
|
|
10
11
|
/**
|
|
11
12
|
* Pushes the given data to a file on the remote device.
|
|
12
13
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-movement.d.ts","sourceRoot":"","sources":["../../../lib/commands/file-movement.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAC,eAAe,EAAE,qBAAqB,EAAC,MAAM,SAAS,CAAC;AA+BpE
|
|
1
|
+
{"version":3,"file":"file-movement.d.ts","sourceRoot":"","sources":["../../../lib/commands/file-movement.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAC,eAAe,EAAE,qBAAqB,EAAC,MAAM,SAAS,CAAC;AA+BpE;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,qBAAqB,CAAC,EAAE,qBAAqB,GAAG,MAAM,GACrD,OAAO,CAAC,eAAe,CAAC,CAkC1B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,cAAc,EACpB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GACrC,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,cAAc,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;;;;;GASG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUxF;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE9F;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhG;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ9F;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO1F;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEhG"}
|
|
@@ -31,10 +31,11 @@ const OBJECT_NOT_FOUND_ERROR_MESSAGE = 'OBJECT_NOT_FOUND';
|
|
|
31
31
|
/**
|
|
32
32
|
* Parses the actual path and the bundle identifier from the given path string.
|
|
33
33
|
*
|
|
34
|
+
* @param driver - The driver instance
|
|
34
35
|
* @param remotePath - Path string matching `CONTAINER_PATH_PATTERN`, e.g. `@bundle.id:container/relative/path`
|
|
35
36
|
* @param containerRootSupplier - Container root path supplier or explicit root
|
|
36
37
|
*/
|
|
37
|
-
async function parseContainerPath(remotePath, containerRootSupplier) {
|
|
38
|
+
async function parseContainerPath(driver, remotePath, containerRootSupplier) {
|
|
38
39
|
const match = CONTAINER_PATH_PATTERN.exec(remotePath);
|
|
39
40
|
if (!match) {
|
|
40
41
|
throw new Error(`It is expected that package identifier ` +
|
|
@@ -50,7 +51,7 @@ async function parseContainerPath(remotePath, containerRootSupplier) {
|
|
|
50
51
|
if (typeSeparatorPos > 0) {
|
|
51
52
|
if (typeSeparatorPos < bundleId.length - 1) {
|
|
52
53
|
containerType = bundleId.substring(typeSeparatorPos + 1);
|
|
53
|
-
|
|
54
|
+
driver.log.debug(`Parsed container type: ${containerType}`);
|
|
54
55
|
}
|
|
55
56
|
// Always strip the colon and everything after it
|
|
56
57
|
bundleId = bundleId.substring(0, typeSeparatorPos);
|
|
@@ -217,12 +218,12 @@ function verifyIsSubPath(originalPath, root) {
|
|
|
217
218
|
/**
|
|
218
219
|
* Create AFC client for file operations
|
|
219
220
|
*/
|
|
220
|
-
async function createAfcClient(opts = {}) {
|
|
221
|
+
async function createAfcClient(driver, opts = {}) {
|
|
221
222
|
const { bundleId, containerType } = opts;
|
|
222
|
-
const udid =
|
|
223
|
-
const useIos18 = (0, helpers_1.isIos18OrNewer)(
|
|
223
|
+
const udid = driver.device.udid;
|
|
224
|
+
const useIos18 = (0, helpers_1.isIos18OrNewer)(driver.opts);
|
|
224
225
|
if (bundleId) {
|
|
225
|
-
const skipDocumentsCheck =
|
|
226
|
+
const skipDocumentsCheck = driver.settings.getSettings().skipDocumentsContainerCheck ?? false;
|
|
226
227
|
return await afc_client_1.AfcClient.createForApp(udid, bundleId, useIos18, {
|
|
227
228
|
containerType: containerType ?? null,
|
|
228
229
|
skipDocumentsCheck,
|
|
@@ -233,10 +234,10 @@ async function createAfcClient(opts = {}) {
|
|
|
233
234
|
/**
|
|
234
235
|
* Create service for file operations
|
|
235
236
|
*/
|
|
236
|
-
async function createService(remotePath) {
|
|
237
|
+
async function createService(driver, remotePath) {
|
|
237
238
|
if (CONTAINER_PATH_PATTERN.test(remotePath)) {
|
|
238
|
-
const { bundleId, pathInContainer, containerType } = await parseContainerPath
|
|
239
|
-
const client = await createAfcClient
|
|
239
|
+
const { bundleId, pathInContainer, containerType } = await parseContainerPath(driver, remotePath);
|
|
240
|
+
const client = await createAfcClient(driver, { bundleId, containerType });
|
|
240
241
|
let relativePath = isDocumentsContainer(containerType)
|
|
241
242
|
? node_path_1.default.join(CONTAINER_DOCUMENTS_PATH, pathInContainer)
|
|
242
243
|
: pathInContainer;
|
|
@@ -246,7 +247,7 @@ async function createService(remotePath) {
|
|
|
246
247
|
}
|
|
247
248
|
return { client, relativePath };
|
|
248
249
|
}
|
|
249
|
-
const client = await createAfcClient
|
|
250
|
+
const client = await createAfcClient(driver, {});
|
|
250
251
|
return { client, relativePath: remotePath };
|
|
251
252
|
}
|
|
252
253
|
/**
|
|
@@ -261,7 +262,7 @@ async function pushFileToSimulator(remotePath, base64Data) {
|
|
|
261
262
|
const buffer = Buffer.from(base64Data, 'base64');
|
|
262
263
|
const device = this.device;
|
|
263
264
|
if (CONTAINER_PATH_PATTERN.test(remotePath)) {
|
|
264
|
-
const { bundleId, pathInContainer: dstPath } = await parseContainerPath
|
|
265
|
+
const { bundleId, pathInContainer: dstPath } = await parseContainerPath(this, remotePath, async (appBundle, containerType) => await device.simctl.getAppContainer(appBundle, containerType));
|
|
265
266
|
this.log.info(`Parsed bundle identifier '${bundleId}' from '${remotePath}'. ` +
|
|
266
267
|
`Will put the data into '${dstPath}'`);
|
|
267
268
|
if (!(await support_1.fs.exists(node_path_1.default.dirname(dstPath)))) {
|
|
@@ -290,9 +291,11 @@ async function pushFileToSimulator(remotePath, base64Data) {
|
|
|
290
291
|
* @param base64Data - Base-64 encoded content of the file to be uploaded.
|
|
291
292
|
*/
|
|
292
293
|
async function pushFileToRealDevice(remotePath, base64Data) {
|
|
293
|
-
const { client, relativePath } = await createService
|
|
294
|
+
const { client, relativePath } = await createService(this, remotePath);
|
|
294
295
|
try {
|
|
295
|
-
await (0, real_device_management_1.pushFile)(client, Buffer.from(base64Data, 'base64'), relativePath
|
|
296
|
+
await (0, real_device_management_1.pushFile)(client, Buffer.from(base64Data, 'base64'), relativePath, {
|
|
297
|
+
log: this.log,
|
|
298
|
+
});
|
|
296
299
|
}
|
|
297
300
|
catch (e) {
|
|
298
301
|
this.log.debug(e.stack);
|
|
@@ -319,7 +322,7 @@ async function pullFromSimulator(remotePath, isFile) {
|
|
|
319
322
|
let pathOnServer;
|
|
320
323
|
const device = this.device;
|
|
321
324
|
if (CONTAINER_PATH_PATTERN.test(remotePath)) {
|
|
322
|
-
const { bundleId, pathInContainer: dstPath } = await parseContainerPath
|
|
325
|
+
const { bundleId, pathInContainer: dstPath } = await parseContainerPath(this, remotePath, async (appBundle, containerType) => await device.simctl.getAppContainer(appBundle, containerType));
|
|
323
326
|
this.log.info(`Parsed bundle identifier '${bundleId}' from '${remotePath}'. ` +
|
|
324
327
|
`Will get the data from '${dstPath}'`);
|
|
325
328
|
pathOnServer = dstPath;
|
|
@@ -359,7 +362,7 @@ async function pullFromSimulator(remotePath, isFile) {
|
|
|
359
362
|
* @returns Base-64 encoded content of the remote file
|
|
360
363
|
*/
|
|
361
364
|
async function pullFromRealDevice(remotePath, isFile) {
|
|
362
|
-
const { client, relativePath } = await createService
|
|
365
|
+
const { client, relativePath } = await createService(this, remotePath);
|
|
363
366
|
try {
|
|
364
367
|
// Check if path is a directory
|
|
365
368
|
const isDirectory = await client.isDirectory(relativePath);
|
|
@@ -370,8 +373,8 @@ async function pullFromRealDevice(remotePath, isFile) {
|
|
|
370
373
|
throw new Error(`The requested path is not a folder. Path: '${remotePath}'`);
|
|
371
374
|
}
|
|
372
375
|
return isDirectory
|
|
373
|
-
? (await (0, real_device_management_1.pullFolder)(client, relativePath)).toString()
|
|
374
|
-
: (await (0, real_device_management_1.pullFile)(client, relativePath)).toString('base64');
|
|
376
|
+
? (await (0, real_device_management_1.pullFolder)(client, relativePath, { log: this.log })).toString()
|
|
377
|
+
: (await (0, real_device_management_1.pullFile)(client, relativePath, { log: this.log })).toString('base64');
|
|
375
378
|
}
|
|
376
379
|
finally {
|
|
377
380
|
await client.close();
|
|
@@ -392,7 +395,7 @@ async function deleteFromSimulator(remotePath) {
|
|
|
392
395
|
let pathOnServer;
|
|
393
396
|
const device = this.device;
|
|
394
397
|
if (CONTAINER_PATH_PATTERN.test(remotePath)) {
|
|
395
|
-
const { bundleId, pathInContainer: dstPath } = await parseContainerPath
|
|
398
|
+
const { bundleId, pathInContainer: dstPath } = await parseContainerPath(this, remotePath, async (appBundle, containerType) => await device.simctl.getAppContainer(appBundle, containerType));
|
|
396
399
|
this.log.info(`Parsed bundle identifier '${bundleId}' from '${remotePath}'. ` +
|
|
397
400
|
`'${dstPath}' will be deleted`);
|
|
398
401
|
pathOnServer = dstPath;
|
|
@@ -427,7 +430,7 @@ async function deleteFromSimulator(remotePath) {
|
|
|
427
430
|
* @returns Nothing
|
|
428
431
|
*/
|
|
429
432
|
async function deleteFromRealDevice(remotePath) {
|
|
430
|
-
const { client, relativePath } = await createService
|
|
433
|
+
const { client, relativePath } = await createService(this, remotePath);
|
|
431
434
|
try {
|
|
432
435
|
await client.deleteDirectory(relativePath);
|
|
433
436
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-movement.js","sourceRoot":"","sources":["../../../lib/commands/file-movement.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-movement.js","sourceRoot":"","sources":["../../../lib/commands/file-movement.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,16 +4,23 @@ import type { XCUITestDriver, XCUITestDriverOpts } from '../driver';
|
|
|
4
4
|
import { AfcClient } from './afc-client';
|
|
5
5
|
export declare const IO_TIMEOUT_MS: number;
|
|
6
6
|
export declare const MAX_IO_CHUNK_SIZE = 8;
|
|
7
|
-
export interface
|
|
7
|
+
export interface AfcTransferOptions {
|
|
8
|
+
log?: AppiumLogger;
|
|
9
|
+
}
|
|
10
|
+
export interface PushFileOptions extends AfcTransferOptions {
|
|
8
11
|
/** The maximum count of milliseconds to wait until file push is completed. Cannot be lower than 60000ms */
|
|
9
12
|
timeoutMs?: number;
|
|
10
13
|
}
|
|
11
|
-
export interface PushFolderOptions {
|
|
14
|
+
export interface PushFolderOptions extends AfcTransferOptions {
|
|
12
15
|
/** The maximum timeout to wait until a single file is copied */
|
|
13
16
|
timeoutMs?: number;
|
|
14
17
|
/** Whether to push files in parallel. This usually gives better performance, but might sometimes be less stable. */
|
|
15
18
|
enableParallelPush?: boolean;
|
|
16
19
|
}
|
|
20
|
+
export interface PullFileOptions extends AfcTransferOptions {
|
|
21
|
+
}
|
|
22
|
+
export interface PullFolderOptions extends AfcTransferOptions {
|
|
23
|
+
}
|
|
17
24
|
export interface RealDeviceInstallOptions {
|
|
18
25
|
/** Application installation timeout in milliseconds */
|
|
19
26
|
timeoutMs?: number;
|
|
@@ -96,17 +103,19 @@ export declare class RealDevice {
|
|
|
96
103
|
*
|
|
97
104
|
* @param client AFC client instance
|
|
98
105
|
* @param remotePath Relative path to the file on the device
|
|
106
|
+
* @param opts Pull file options
|
|
99
107
|
* @returns The file content as a buffer
|
|
100
108
|
*/
|
|
101
|
-
export declare function pullFile(client: AfcClient, remotePath: string): Promise<Buffer>;
|
|
109
|
+
export declare function pullFile(client: AfcClient, remotePath: string, opts?: PullFileOptions): Promise<Buffer>;
|
|
102
110
|
/**
|
|
103
111
|
* Retrieve a folder from a real device
|
|
104
112
|
*
|
|
105
113
|
* @param client AFC client instance
|
|
106
114
|
* @param remoteRootPath Relative path to the folder on the device
|
|
115
|
+
* @param opts Pull folder options
|
|
107
116
|
* @returns The folder content as a zipped base64-encoded buffer
|
|
108
117
|
*/
|
|
109
|
-
export declare function pullFolder(client: AfcClient, remoteRootPath: string): Promise<Buffer>;
|
|
118
|
+
export declare function pullFolder(client: AfcClient, remoteRootPath: string, opts?: PullFolderOptions): Promise<Buffer>;
|
|
110
119
|
/**
|
|
111
120
|
* Pushes a file to a real device
|
|
112
121
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-device-management.d.ts","sourceRoot":"","sources":["../../../lib/device/real-device-management.ts"],"names":[],"mappings":"AAYA,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAC,cAAc,EAAE,kBAAkB,EAAC,MAAM,WAAW,CAAC;AAClE,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAQvC,eAAO,MAAM,aAAa,QAAgB,CAAC;AAG3C,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAKnC,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"real-device-management.d.ts","sourceRoot":"","sources":["../../../lib/device/real-device-management.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,6 +73,7 @@ class RealDevice {
|
|
|
73
73
|
bundlePathOnPhone = `/${node_path_1.default.basename(appPath)}`;
|
|
74
74
|
await pushFile(afcClient, appPath, bundlePathOnPhone, {
|
|
75
75
|
timeoutMs,
|
|
76
|
+
log: this.log,
|
|
76
77
|
});
|
|
77
78
|
}
|
|
78
79
|
else {
|
|
@@ -80,6 +81,7 @@ class RealDevice {
|
|
|
80
81
|
await pushFolder(afcClient, appPath, bundlePathOnPhone, {
|
|
81
82
|
enableParallelPush: true,
|
|
82
83
|
timeoutMs,
|
|
84
|
+
log: this.log,
|
|
83
85
|
});
|
|
84
86
|
}
|
|
85
87
|
await this.installOrUpgradeApplication(bundlePathOnPhone, {
|
|
@@ -254,20 +256,29 @@ exports.RealDevice = RealDevice;
|
|
|
254
256
|
*
|
|
255
257
|
* @param client AFC client instance
|
|
256
258
|
* @param remotePath Relative path to the file on the device
|
|
259
|
+
* @param opts Pull file options
|
|
257
260
|
* @returns The file content as a buffer
|
|
258
261
|
*/
|
|
259
|
-
async function pullFile(client, remotePath) {
|
|
260
|
-
|
|
262
|
+
async function pullFile(client, remotePath, opts = {}) {
|
|
263
|
+
const log = opts.log ?? logger_1.log;
|
|
264
|
+
const timer = new support_1.timing.Timer().start();
|
|
265
|
+
const buffer = await (0, helpers_1.withTimeout)(client.getFileContents(remotePath), exports.IO_TIMEOUT_MS, `Timed out after ${exports.IO_TIMEOUT_MS}ms while pulling file from '${remotePath}'`);
|
|
266
|
+
logAfcTransferPerformance(log, 'download', buffer.length, remotePath, timer);
|
|
267
|
+
return buffer;
|
|
261
268
|
}
|
|
262
269
|
/**
|
|
263
270
|
* Retrieve a folder from a real device
|
|
264
271
|
*
|
|
265
272
|
* @param client AFC client instance
|
|
266
273
|
* @param remoteRootPath Relative path to the folder on the device
|
|
274
|
+
* @param opts Pull folder options
|
|
267
275
|
* @returns The folder content as a zipped base64-encoded buffer
|
|
268
276
|
*/
|
|
269
|
-
async function pullFolder(client, remoteRootPath) {
|
|
277
|
+
async function pullFolder(client, remoteRootPath, opts = {}) {
|
|
278
|
+
const log = opts.log ?? logger_1.log;
|
|
279
|
+
const timer = new support_1.timing.Timer().start();
|
|
270
280
|
const tmpFolder = await support_1.tempDir.openDir();
|
|
281
|
+
let totalBytes = 0;
|
|
271
282
|
try {
|
|
272
283
|
let localTopItem = null;
|
|
273
284
|
let countFilesSuccess = 0;
|
|
@@ -275,7 +286,7 @@ async function pullFolder(client, remoteRootPath) {
|
|
|
275
286
|
await client.pull(remoteRootPath, tmpFolder, {
|
|
276
287
|
recursive: true,
|
|
277
288
|
overwrite: true,
|
|
278
|
-
onEntry: async (
|
|
289
|
+
onEntry: async (_remotePath, localPath, isDirectory) => {
|
|
279
290
|
if (!localTopItem ||
|
|
280
291
|
localPath.split(node_path_1.default.sep).length < localTopItem.split(node_path_1.default.sep).length) {
|
|
281
292
|
localTopItem = localPath;
|
|
@@ -285,10 +296,14 @@ async function pullFolder(client, remoteRootPath) {
|
|
|
285
296
|
}
|
|
286
297
|
else {
|
|
287
298
|
++countFilesSuccess;
|
|
299
|
+
totalBytes += (await support_1.fs.stat(localPath)).size;
|
|
288
300
|
}
|
|
289
301
|
},
|
|
290
302
|
});
|
|
291
|
-
|
|
303
|
+
logAfcTransferPerformance(log, 'download', totalBytes, remoteRootPath, timer, {
|
|
304
|
+
fileCount: countFilesSuccess,
|
|
305
|
+
folderCount: countFolders,
|
|
306
|
+
});
|
|
292
307
|
return await support_1.zip.toInMemoryZip(localTopItem ? node_path_1.default.dirname(localTopItem) : tmpFolder, {
|
|
293
308
|
encodeToBase64: true,
|
|
294
309
|
});
|
|
@@ -308,21 +323,18 @@ async function pullFolder(client, remoteRootPath) {
|
|
|
308
323
|
* @param opts Push file options
|
|
309
324
|
*/
|
|
310
325
|
async function pushFile(client, localPathOrPayload, remotePath, opts = {}) {
|
|
311
|
-
const { timeoutMs = exports.IO_TIMEOUT_MS } = opts;
|
|
326
|
+
const { timeoutMs = exports.IO_TIMEOUT_MS, log = logger_1.log } = opts;
|
|
312
327
|
const timer = new support_1.timing.Timer().start();
|
|
313
328
|
await remoteMkdirp(client, node_path_1.default.dirname(remotePath));
|
|
314
|
-
// AfcClient handles the branching internally
|
|
315
329
|
const pushPromise = Buffer.isBuffer(localPathOrPayload)
|
|
316
330
|
? client.setFileContents(remotePath, localPathOrPayload)
|
|
317
331
|
: client.writeFromStream(remotePath, support_1.fs.createReadStream(localPathOrPayload, { autoClose: true }));
|
|
318
|
-
// Wrap with timeout
|
|
319
332
|
const actualTimeout = Math.max(timeoutMs, 60000);
|
|
320
333
|
await (0, helpers_1.withTimeout)(pushPromise, actualTimeout, `Timed out after ${actualTimeout}ms while pushing file to '${remotePath}'`);
|
|
321
334
|
const fileSize = Buffer.isBuffer(localPathOrPayload)
|
|
322
335
|
? localPathOrPayload.length
|
|
323
336
|
: (await support_1.fs.stat(localPathOrPayload)).size;
|
|
324
|
-
|
|
325
|
-
`to the remote location '${remotePath}' in ${timer.getDuration().asMilliSeconds.toFixed(0)}ms`);
|
|
337
|
+
logAfcTransferPerformance(log, 'upload', fileSize, remotePath, timer);
|
|
326
338
|
}
|
|
327
339
|
/**
|
|
328
340
|
* Pushes a folder to a real device
|
|
@@ -334,14 +346,14 @@ async function pushFile(client, localPathOrPayload, remotePath, opts = {}) {
|
|
|
334
346
|
* @param opts Push folder options
|
|
335
347
|
*/
|
|
336
348
|
async function pushFolder(client, srcRootPath, dstRootPath, opts = {}) {
|
|
337
|
-
const { timeoutMs = exports.IO_TIMEOUT_MS, enableParallelPush = false } = opts;
|
|
349
|
+
const { timeoutMs = exports.IO_TIMEOUT_MS, enableParallelPush = false, log = logger_1.log } = opts;
|
|
338
350
|
const timer = new support_1.timing.Timer().start();
|
|
339
351
|
const allItems =
|
|
340
352
|
/** @type {import('path-scurry').Path[]} */ /** @type {unknown} */ (await support_1.fs.glob('**', {
|
|
341
353
|
cwd: srcRootPath,
|
|
342
354
|
withFileTypes: true,
|
|
343
355
|
}));
|
|
344
|
-
|
|
356
|
+
log.debug(`Successfully scanned the tree structure of '${srcRootPath}'`);
|
|
345
357
|
// top-level folders go first
|
|
346
358
|
const foldersToPush = allItems
|
|
347
359
|
.filter((x) => x.isDirectory())
|
|
@@ -352,13 +364,17 @@ async function pushFolder(client, srcRootPath, dstRootPath, opts = {}) {
|
|
|
352
364
|
.filter((x) => !x.isDirectory())
|
|
353
365
|
.sort((a, b) => (b.size ?? 0) - (a.size ?? 0))
|
|
354
366
|
.map((x) => x.relative());
|
|
355
|
-
|
|
367
|
+
const totalBytes = allItems
|
|
368
|
+
.filter((x) => !x.isDirectory())
|
|
369
|
+
.reduce((sum, x) => sum + (x.size ?? 0), 0);
|
|
370
|
+
log.debug(`Got ${support_1.util.pluralize('folder', foldersToPush.length, true)} and ` +
|
|
356
371
|
`${support_1.util.pluralize('file', filesToPush.length, true)} to push`);
|
|
357
372
|
// Create the folder structure
|
|
358
373
|
try {
|
|
359
374
|
await client.deleteDirectory(dstRootPath);
|
|
360
375
|
}
|
|
361
376
|
catch { }
|
|
377
|
+
// do not forget about the root folder
|
|
362
378
|
await client.createDirectory(dstRootPath);
|
|
363
379
|
for (const relativeFolderPath of foldersToPush) {
|
|
364
380
|
let absoluteFolderPath = node_path_1.default.join(dstRootPath, relativeFolderPath);
|
|
@@ -369,8 +385,7 @@ async function pushFolder(client, srcRootPath, dstRootPath, opts = {}) {
|
|
|
369
385
|
await client.createDirectory(absoluteFolderPath);
|
|
370
386
|
}
|
|
371
387
|
}
|
|
372
|
-
|
|
373
|
-
logger_1.log.debug(`Successfully created the remote folder structure ` +
|
|
388
|
+
log.debug(`Successfully created the remote folder structure ` +
|
|
374
389
|
`(${support_1.util.pluralize('item', foldersToPush.length + 1, true)})`);
|
|
375
390
|
const _pushFile = async (relativePath) => {
|
|
376
391
|
const absoluteSourcePath = node_path_1.default.join(srcRootPath, relativePath);
|
|
@@ -381,7 +396,7 @@ async function pushFolder(client, srcRootPath, dstRootPath, opts = {}) {
|
|
|
381
396
|
await (0, helpers_1.withTimeout)(pushPromise, actualTimeout, `Timed out after ${actualTimeout}ms while pushing '${relativePath}' to '${absoluteDestinationPath}'`);
|
|
382
397
|
};
|
|
383
398
|
if (enableParallelPush) {
|
|
384
|
-
|
|
399
|
+
log.debug(`Proceeding to parallel files push (max ${exports.MAX_IO_CHUNK_SIZE} writers)`);
|
|
385
400
|
await (0, helpers_1.withTimeout)((0, asyncbox_1.asyncmap)(filesToPush, async (relativeFilePath) => {
|
|
386
401
|
await _pushFile(relativeFilePath);
|
|
387
402
|
const elapsedMs = timer.getDuration().asMilliSeconds;
|
|
@@ -391,7 +406,7 @@ async function pushFolder(client, srcRootPath, dstRootPath, opts = {}) {
|
|
|
391
406
|
}, { concurrency: exports.MAX_IO_CHUNK_SIZE }), Math.max(timeoutMs - timer.getDuration().asMilliSeconds, 60000));
|
|
392
407
|
}
|
|
393
408
|
else {
|
|
394
|
-
|
|
409
|
+
log.debug(`Proceeding to serial files push`);
|
|
395
410
|
for (const relativeFilePath of filesToPush) {
|
|
396
411
|
await _pushFile(relativeFilePath);
|
|
397
412
|
const elapsedMs = timer.getDuration().asMilliSeconds;
|
|
@@ -400,9 +415,10 @@ async function pushFolder(client, srcRootPath, dstRootPath, opts = {}) {
|
|
|
400
415
|
}
|
|
401
416
|
}
|
|
402
417
|
}
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
418
|
+
logAfcTransferPerformance(log, 'upload', totalBytes, dstRootPath, timer, {
|
|
419
|
+
fileCount: filesToPush.length,
|
|
420
|
+
folderCount: foldersToPush.length,
|
|
421
|
+
});
|
|
406
422
|
}
|
|
407
423
|
/**
|
|
408
424
|
* Get list of connected devices.
|
|
@@ -515,6 +531,22 @@ async function detectUdid() {
|
|
|
515
531
|
return udid;
|
|
516
532
|
}
|
|
517
533
|
// #region Private Helper Functions
|
|
534
|
+
function logAfcTransferPerformance(log, direction, byteCount, remotePath, timer, stats = {}) {
|
|
535
|
+
const elapsedMs = timer.getDuration().asMilliSeconds;
|
|
536
|
+
const elapsedSec = elapsedMs / 1000;
|
|
537
|
+
const preposition = direction === 'upload' ? 'to' : 'from';
|
|
538
|
+
const { fileCount, folderCount } = stats;
|
|
539
|
+
const itemSummary = fileCount !== undefined || folderCount !== undefined
|
|
540
|
+
? ` (${support_1.util.pluralize('file', fileCount ?? 0, true)}` +
|
|
541
|
+
`${folderCount !== undefined ? ` and ${support_1.util.pluralize('folder', folderCount, true)}` : ''})`
|
|
542
|
+
: '';
|
|
543
|
+
log.debug(`AFC ${direction} of ${support_1.util.toReadableSizeString(byteCount)} ${preposition} '${remotePath}'` +
|
|
544
|
+
`${itemSummary} completed in ${elapsedMs.toFixed(0)}ms`);
|
|
545
|
+
if (elapsedSec >= 1 && byteCount > 0) {
|
|
546
|
+
const bytesPerSec = Math.floor(byteCount / elapsedSec);
|
|
547
|
+
log.debug(`Approximate average AFC ${direction} speed: ${support_1.util.toReadableSizeString(bytesPerSec)}/s`);
|
|
548
|
+
}
|
|
549
|
+
}
|
|
518
550
|
/**
|
|
519
551
|
* If the environment variable enables APPIUM_XCUITEST_PREFER_DEVICECTL.
|
|
520
552
|
* This is a workaround for wireless tvOS.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-device-management.js","sourceRoot":"","sources":["../../../lib/device/real-device-management.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"real-device-management.js","sourceRoot":"","sources":["../../../lib/device/real-device-management.ts"],"names":[],"mappings":";;;;;;AAyVA,4BAcC;AAUD,gCA2CC;AAYD,4BA4BC;AAWD,gCAkGC;AAOD,kDAGC;AAKD,kDAuDC;AAKD,gDASC;AASD,wDAkBC;AAKD,gCAeC;AAprBD,4CAA8D;AAC9D,uCAAkC;AAClC,0DAA6B;AAC7B,iDAM6B;AAC7B,oCAAgD;AAChD,sCAA+C;AAC/C,mDAAyC;AAGzC,6CAAuC;AACvC,yEAAkE;AAClE,2EAAoE;AACpE,+DAAyD;AACzD,uDAAiD;AACjD,qEAA8D;AAE9D,MAAM,mCAAmC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAC7C,QAAA,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAC3C,0DAA0D;AAC1D,oEAAoE;AACvD,QAAA,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,kCAAkC,GAAG,wCAAwC,CAAC;AACpF,MAAM,mCAAmC,GAAG,EAAE,GAAG,IAAI,CAAC;AACtD,MAAM,wBAAwB,GAAG,eAAe,CAAC;AAgDjD,MAAa,UAAU;IACZ,IAAI,CAAS;IACb,SAAS,CAAY;IACrB,UAAU,CAAqB;IACvB,IAAI,CAAe;IAEpC,YAAY,IAAY,EAAE,UAA8B,EAAE,MAAqB;QAC7E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,YAAa,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,0BAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC3B,MAAM,YAAY,GAAG,IAAA,wBAAc,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,mDAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,OAAe,EACf,QAAgB,EAChB,OAAiC,EAAE;QAEnC,MAAM,EAAC,SAAS,GAAG,qBAAa,EAAC,GAAG,IAAI,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,gBAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,IAAA,wBAAc,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,MAAM,sBAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC;YACH,IAAI,iBAAyB,CAAC;YAC9B,IAAI,CAAC,MAAM,YAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBACtC,+IAA+I;gBAC/I,iBAAiB,GAAG,IAAI,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjD,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE;oBACpD,SAAS;oBACT,GAAG,EAAE,IAAI,CAAC,GAAG;iBACd,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,iBAAiB,GAAG,GAAG,wBAAwB,IAAI,QAAQ,EAAE,CAAC;gBAC9D,MAAM,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE;oBACtD,kBAAkB,EAAE,IAAI;oBACxB,SAAS;oBACT,GAAG,EAAE,IAAI,CAAC,GAAG;iBACd,CAAC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,CAAC,2BAA2B,CAAC,iBAAiB,EAAE;gBACxD,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC;gBACxE,SAAS,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;aAC/C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAE,GAAa,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,UAAU,GAAG,sBAAsB,QAAQ,cAAc,CAAC;YAC9D,IAAI,GAAG,YAAY,sBAAY,EAAE,CAAC;gBAChC,UAAU,IAAI,+FAA+F,SAAS,KAAK,CAAC;YAC9H,CAAC;YACD,UAAU,IAAI,qBAAsB,GAAa,CAAC,OAAO,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,GAAG,EAAC,CAAC,CAAC;QAC5C,CAAC;gBAAS,CAAC;YACT,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,wBAAwB,QAAQ,qBAAqB,KAAK,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACvG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC/B,iBAAyB,EACzB,IAA6B;QAE7B,MAAM,EAAC,SAAS,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC;QAClC,MAAM,YAAY,GAAG,IAAA,wBAAc,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,kBAAkB,GAAG,MAAM,wCAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC9F,MAAM,kBAAkB,GAAG,MAAM,mDAAuB,CAAC,MAAM,CAC7D,IAAI,CAAC,IAAI,EACT,YAAY,EACZ,IAAI,CAAC,GAAG,CACT,CAAC;QACF,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,mBAAmB,CACrE,kCAAkC,CACnC,CAAC;QACF,MAAM,aAAa,GAAG,EAAC,WAAW,EAAE,WAAW,EAAC,CAAC;QACjD,IAAI,CAAC;YACH,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,mEAAmE;oBACjE,mBAAmB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC7C,CAAC;gBACF,MAAM,kBAAkB,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YACzF,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,2DAA2D;oBACzD,mBAAmB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC7C,CAAC;gBACF,MAAM,kBAAkB,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YACzF,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,IAAA,qBAAW,EACf,wBAAwB,EACxB,mCAAmC,EACnC,8DAA8D;oBAC5D,GAAG,mCAAmC,yBAAyB,CAClE,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,IAAI,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,OAAe,EACf,QAAgB,EAChB,OAAiC,EAAE;QAEnC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,IAAI,wBAAwB,EAAE,EAAE,CAAC;YAC/B,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,YAAY,CAChB,QAAgB,EAChB,mBAAsC,CAAC,oBAAoB,EAAE,iBAAiB,CAAC;QAE/E,MAAM,YAAY,GAAG,IAAA,wBAAc,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,mDAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,OAAO,CACL,MAAM,MAAM,CAAC,kBAAkB,CAAC;gBAC9B,SAAS,EAAE,QAAQ;gBACnB,gDAAgD;gBAChD,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC1F,CAAC,CACH,CAAC,QAAQ,CAAC,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC7F,MAAM,iBAAiB,GAAG,IAAI,6CAAoB,CAChD,IAAI,CAAC,IAAI,EACT,eAAe,EACf,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,GAAG,CACT,CAAC;QACF,OAAO,MAAM,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,qCAAqC,CAAC,UAAkB;QAC5D,MAAM,YAAY,GAAG,IAAA,wBAAc,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,mDAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC;gBACjD,eAAe,EAAE,MAAM;gBACvB,gBAAgB,EAAE,CAAC,oBAAoB,EAAE,cAAc,CAAC;aACzD,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,GAAa,EAAE,CAAC,GAAG,EAAE,EAAC,YAAY,EAAC,CAAC,EAAE,EAAE;gBAClF,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;oBAChC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAE,CAAC,CAAC;QACT,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,QAAQ,GAAG,MAAM,gCAAc,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5F,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;QACvC,CAAC;gBAAS,CAAC;YACT,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAA8C;QACxD,MAAM,EAAC,QAAQ,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,QAAQ,KAAK,0BAAgB,EAAE,CAAC;YAC7D,0CAA0C;YAC1C,iDAAiD;YACjD,mEAAmE;YACnE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8DAA8D,QAAQ,IAAI,CAAC,CAAC;QAC3F,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,4BAA4B,QAAQ,kBAAmB,GAAa,CAAC,OAAO,EAAE,CAC/E,CAAC;YACF,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,QAAQ,GAAG,CAAC,CAAC;IACjD,CAAC;CACF;AAlQD,gCAkQC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,QAAQ,CAC5B,MAAiB,EACjB,UAAkB,EAClB,OAAwB,EAAE;IAE1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,YAAa,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,gBAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAW,EAC9B,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,EAClC,qBAAa,EACb,mBAAmB,qBAAa,+BAA+B,UAAU,GAAG,CAC7E,CAAC;IACF,yBAAyB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,cAAsB,EACtB,OAA0B,EAAE;IAE5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,YAAa,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,gBAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,iBAAO,CAAC,OAAO,EAAE,CAAC;IAC1C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,CAAC;QACH,IAAI,YAAY,GAAkB,IAAI,CAAC;QACvC,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE;YAC3C,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,KAAK,EAAE,WAAmB,EAAE,SAAiB,EAAE,WAAoB,EAAE,EAAE;gBAC9E,IACE,CAAC,YAAY;oBACb,SAAS,CAAC,KAAK,CAAC,mBAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,mBAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EACtE,CAAC;oBACD,YAAY,GAAG,SAAS,CAAC;gBAC3B,CAAC;gBACD,IAAI,WAAW,EAAE,CAAC;oBAChB,EAAE,YAAY,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACN,EAAE,iBAAiB,CAAC;oBACpB,UAAU,IAAI,CAAC,MAAM,YAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChD,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,yBAAyB,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE;YAC5E,SAAS,EAAE,iBAAiB;YAC5B,WAAW,EAAE,YAAY;SAC1B,CAAC,CAAC;QACH,OAAO,MAAM,aAAG,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;YACpF,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,MAAM,YAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,QAAQ,CAC5B,MAAiB,EACjB,kBAAmC,EACnC,UAAkB,EAClB,OAAwB,EAAE;IAE1B,MAAM,EAAC,SAAS,GAAG,qBAAa,EAAE,GAAG,GAAG,YAAa,EAAC,GAAG,IAAI,CAAC;IAC9D,MAAM,KAAK,GAAG,IAAI,gBAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;IACzC,MAAM,YAAY,CAAC,MAAM,EAAE,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACrD,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,kBAAkB,CAAC;QACxD,CAAC,CAAC,MAAM,CAAC,eAAe,CACpB,UAAU,EACV,YAAE,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAC3D,CAAC;IAEN,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjD,MAAM,IAAA,qBAAW,EACf,WAAW,EACX,aAAa,EACb,mBAAmB,aAAa,6BAA6B,UAAU,GAAG,CAC3E,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAClD,CAAC,CAAC,kBAAkB,CAAC,MAAM;QAC3B,CAAC,CAAC,CAAC,MAAM,YAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,yBAAyB,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,WAAmB,EACnB,WAAmB,EACnB,OAA0B,EAAE;IAE5B,MAAM,EAAC,SAAS,GAAG,qBAAa,EAAE,kBAAkB,GAAG,KAAK,EAAE,GAAG,GAAG,YAAa,EAAC,GAAG,IAAI,CAAC;IAE1F,MAAM,KAAK,GAAG,IAAI,gBAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;IACzC,MAAM,QAAQ;IACZ,2CAA2C,CAAC,sBAAsB,CAAC,CAAC,MAAM,YAAE,CAAC,IAAI,CAAC,IAAI,EAAE;QACtF,GAAG,EAAE,WAAW;QAChB,aAAa,EAAE,IAAI;KACpB,CAAC,CAAU,CAAC;IACf,GAAG,CAAC,KAAK,CAAC,+CAA+C,WAAW,GAAG,CAAC,CAAC;IACzE,6BAA6B;IAC7B,MAAM,aAAa,GAAa,QAAQ;SACrC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;SACxB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,mBAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IACvE,wBAAwB;IACxB,MAAM,WAAW,GAAa,QAAQ;SACnC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAC/B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5B,MAAM,UAAU,GAAG,QAAQ;SACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAC/B,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,GAAG,CAAC,KAAK,CACP,OAAO,cAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO;QAChE,GAAG,cAAI,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAChE,CAAC;IACF,8BAA8B;IAC9B,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,sCAAsC;IACtC,MAAM,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAC1C,KAAK,MAAM,kBAAkB,IAAI,aAAa,EAAE,CAAC;QAC/C,IAAI,kBAAkB,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACpE,OAAO,kBAAkB,CAAC,QAAQ,CAAC,mBAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,kBAAkB,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,mBAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,MAAM,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,GAAG,CAAC,KAAK,CACP,mDAAmD;QACjD,IAAI,cAAI,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAChE,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,EAAE,YAAoB,EAAiB,EAAE;QAC9D,MAAM,kBAAkB,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,YAAE,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAC9E,MAAM,uBAAuB,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAErE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;QAChF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACtF,MAAM,IAAA,qBAAW,EACf,WAAW,EACX,aAAa,EACb,mBAAmB,aAAa,qBAAqB,YAAY,SAAS,uBAAuB,GAAG,CACrG,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,kBAAkB,EAAE,CAAC;QACvB,GAAG,CAAC,KAAK,CAAC,0CAA0C,yBAAiB,WAAW,CAAC,CAAC;QAClF,MAAM,IAAA,qBAAW,EACf,IAAA,mBAAQ,EACN,WAAW,EACX,KAAK,EAAE,gBAAgB,EAAE,EAAE;YACzB,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC;YACrD,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,sBAAY,CAAC,mBAAmB,SAAS,KAAK,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,EACD,EAAC,WAAW,EAAE,yBAAiB,EAAC,CACjC,EACD,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAChE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC7C,KAAK,MAAM,gBAAgB,IAAI,WAAW,EAAE,CAAC;YAC3C,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC;YACrD,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,sBAAY,CAAC,mBAAmB,SAAS,KAAK,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAED,yBAAyB,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE;QACvE,SAAS,EAAE,WAAW,CAAC,MAAM;QAC7B,WAAW,EAAE,aAAa,CAAC,MAAM;KAClC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,mBAAmB,CAAC,IAAwB;IAChE,MAAM,MAAM,GAAG,MAAM,iDAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzD,OAAO,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;AAC5C,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,mBAAmB,CAEvC,GAAW,EACX,QAAiB,EACjB,OAAiC,EAAE;IAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAoB,CAAC;IAEzC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IAED,MAAM,EAAC,aAAa,EAAE,OAAO,GAAG,mCAAmC,EAAC,GAAG,IAAI,CAAC;IAE5E,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAA0C,QAAQ,mBAAmB,CAAC,CAAC;QACrF,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,GAAG,8BAA8B,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IAE/E,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE;YAClC,SAAS,EAAE,OAAO;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,iFAAiF;QAEjF,IACE,CAAC,aAAa;YACd,CAAE,CAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,4CAA4C,CAAC,EAC5E,CAAC;YACD,2DAA2D;YAC3D,kCAAkC;YAElC,uIAAuI;YACvI,0RAA0R;YAC1R,MAAM,CAAC,CAAC;QACV,CAAC;QAED,uEAAuE;QACvE,4HAA4H;QAC5H,oWAAoW;QACpW,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kCAAkC,QAAQ,yCAAyC;YACjF,wEAAwE;YACxE,iEAAkE,CAAW,CAAC,OAAO,EAAE,CAC1F,CAAC;QACF,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE;YAClC,SAAS,EAAE,OAAO;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB;IACtC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,MAAO,IAAI,CAAC,MAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,sBAAsB;IACpC,MAAM,KAAK,GAAG,IAAA,gCAAsB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,IAAA,eAAO,EAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC3D,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;QACrC,MAAM,CAAC,KAAK,CAAC;KACd,CAAC,CAAC;IACH,YAAa,CAAC,KAAK,CAAC,4CAA4C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClF,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgD,CAAC;IACpF,IAAI,gBAAgB,IAAI,IAAA,qBAAa,EAAC,gBAAgB,CAAC,EAAE,CAAC;QACxD,gBAAgB,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,EAAC,IAAI,EAAC,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,IAAA,eAAO,EAAC,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,aAAa,IAAI,+EAA+E,CACjG,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,IAAI,GAAG,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mCAAmC;AAEnC,SAAS,yBAAyB,CAChC,GAAiB,EACjB,SAAgC,EAChC,SAAiB,EACjB,UAAkB,EAClB,KAAmB,EACnB,QAA0B,EAAE;IAE5B,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC;IACrD,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;IACpC,MAAM,WAAW,GAAG,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3D,MAAM,EAAC,SAAS,EAAE,WAAW,EAAC,GAAG,KAAK,CAAC;IACvC,MAAM,WAAW,GACf,SAAS,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS;QAClD,CAAC,CAAC,KAAK,cAAI,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;YACnD,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,cAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;QAC9F,CAAC,CAAC,EAAE,CAAC;IAET,GAAG,CAAC,KAAK,CACP,OAAO,SAAS,OAAO,cAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,WAAW,KAAK,UAAU,GAAG;QAC1F,GAAG,WAAW,iBAAiB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAC1D,CAAC;IACF,IAAI,UAAU,IAAI,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;QACvD,GAAG,CAAC,KAAK,CACP,2BAA2B,SAAS,WAAW,cAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAC1F,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB;IAC/B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAClC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,WAAW,EAAE,CACnE,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,YAAY,CAAC,MAAiB,EAAE,UAAkB;IAC/D,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;QAC5C,MAAM,YAAY,CAAC,MAAM,EAAE,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,sCAAsC"}
|
|
@@ -42,11 +42,12 @@ const OBJECT_NOT_FOUND_ERROR_MESSAGE = 'OBJECT_NOT_FOUND';
|
|
|
42
42
|
/**
|
|
43
43
|
* Parses the actual path and the bundle identifier from the given path string.
|
|
44
44
|
*
|
|
45
|
+
* @param driver - The driver instance
|
|
45
46
|
* @param remotePath - Path string matching `CONTAINER_PATH_PATTERN`, e.g. `@bundle.id:container/relative/path`
|
|
46
47
|
* @param containerRootSupplier - Container root path supplier or explicit root
|
|
47
48
|
*/
|
|
48
49
|
export async function parseContainerPath(
|
|
49
|
-
|
|
50
|
+
driver: XCUITestDriver,
|
|
50
51
|
remotePath: string,
|
|
51
52
|
containerRootSupplier?: ContainerRootSupplier | string,
|
|
52
53
|
): Promise<ContainerObject> {
|
|
@@ -67,7 +68,7 @@ export async function parseContainerPath(
|
|
|
67
68
|
if (typeSeparatorPos > 0) {
|
|
68
69
|
if (typeSeparatorPos < bundleId.length - 1) {
|
|
69
70
|
containerType = bundleId.substring(typeSeparatorPos + 1);
|
|
70
|
-
|
|
71
|
+
driver.log.debug(`Parsed container type: ${containerType}`);
|
|
71
72
|
}
|
|
72
73
|
// Always strip the colon and everything after it
|
|
73
74
|
bundleId = bundleId.substring(0, typeSeparatorPos);
|
|
@@ -262,15 +263,15 @@ function verifyIsSubPath(originalPath: string, root: string): void {
|
|
|
262
263
|
* Create AFC client for file operations
|
|
263
264
|
*/
|
|
264
265
|
async function createAfcClient(
|
|
265
|
-
|
|
266
|
+
driver: XCUITestDriver,
|
|
266
267
|
opts: CreateAfcClientOptions = {},
|
|
267
268
|
): Promise<AfcClient> {
|
|
268
269
|
const {bundleId, containerType} = opts;
|
|
269
|
-
const udid =
|
|
270
|
-
const useIos18 = isIos18OrNewer(
|
|
270
|
+
const udid = driver.device.udid as string;
|
|
271
|
+
const useIos18 = isIos18OrNewer(driver.opts);
|
|
271
272
|
|
|
272
273
|
if (bundleId) {
|
|
273
|
-
const skipDocumentsCheck =
|
|
274
|
+
const skipDocumentsCheck = driver.settings.getSettings().skipDocumentsContainerCheck ?? false;
|
|
274
275
|
return await AfcClient.createForApp(udid, bundleId, useIos18, {
|
|
275
276
|
containerType: containerType ?? null,
|
|
276
277
|
skipDocumentsCheck,
|
|
@@ -284,13 +285,15 @@ async function createAfcClient(
|
|
|
284
285
|
* Create service for file operations
|
|
285
286
|
*/
|
|
286
287
|
async function createService(
|
|
287
|
-
|
|
288
|
+
driver: XCUITestDriver,
|
|
288
289
|
remotePath: string,
|
|
289
290
|
): Promise<CreateServiceResult> {
|
|
290
291
|
if (CONTAINER_PATH_PATTERN.test(remotePath)) {
|
|
291
|
-
const {bundleId, pathInContainer, containerType}: ContainerObject =
|
|
292
|
-
|
|
293
|
-
|
|
292
|
+
const {bundleId, pathInContainer, containerType}: ContainerObject = await parseContainerPath(
|
|
293
|
+
driver,
|
|
294
|
+
remotePath,
|
|
295
|
+
);
|
|
296
|
+
const client = await createAfcClient(driver, {bundleId, containerType});
|
|
294
297
|
let relativePath = isDocumentsContainer(containerType)
|
|
295
298
|
? path.join(CONTAINER_DOCUMENTS_PATH, pathInContainer)
|
|
296
299
|
: pathInContainer;
|
|
@@ -300,7 +303,7 @@ async function createService(
|
|
|
300
303
|
}
|
|
301
304
|
return {client, relativePath};
|
|
302
305
|
}
|
|
303
|
-
const client
|
|
306
|
+
const client = await createAfcClient(driver, {});
|
|
304
307
|
return {client, relativePath: remotePath};
|
|
305
308
|
}
|
|
306
309
|
|
|
@@ -320,7 +323,8 @@ async function pushFileToSimulator(
|
|
|
320
323
|
const buffer = Buffer.from(base64Data, 'base64');
|
|
321
324
|
const device = this.device as Simulator;
|
|
322
325
|
if (CONTAINER_PATH_PATTERN.test(remotePath)) {
|
|
323
|
-
const {bundleId, pathInContainer: dstPath} = await parseContainerPath
|
|
326
|
+
const {bundleId, pathInContainer: dstPath} = await parseContainerPath(
|
|
327
|
+
this,
|
|
324
328
|
remotePath,
|
|
325
329
|
async (appBundle, containerType) =>
|
|
326
330
|
await device.simctl.getAppContainer(appBundle, containerType),
|
|
@@ -361,9 +365,11 @@ async function pushFileToRealDevice(
|
|
|
361
365
|
remotePath: string,
|
|
362
366
|
base64Data: string,
|
|
363
367
|
): Promise<void> {
|
|
364
|
-
const {client, relativePath} = await createService
|
|
368
|
+
const {client, relativePath} = await createService(this, remotePath);
|
|
365
369
|
try {
|
|
366
|
-
await realDevicePushFile(client, Buffer.from(base64Data, 'base64'), relativePath
|
|
370
|
+
await realDevicePushFile(client, Buffer.from(base64Data, 'base64'), relativePath, {
|
|
371
|
+
log: this.log,
|
|
372
|
+
});
|
|
367
373
|
} catch (e) {
|
|
368
374
|
this.log.debug((e as Error).stack);
|
|
369
375
|
throw new Error(
|
|
@@ -393,10 +399,11 @@ async function pullFromSimulator(
|
|
|
393
399
|
remotePath: string,
|
|
394
400
|
isFile: boolean,
|
|
395
401
|
): Promise<string> {
|
|
396
|
-
let pathOnServer;
|
|
402
|
+
let pathOnServer: string;
|
|
397
403
|
const device = this.device as Simulator;
|
|
398
404
|
if (CONTAINER_PATH_PATTERN.test(remotePath)) {
|
|
399
|
-
const {bundleId, pathInContainer: dstPath} = await parseContainerPath
|
|
405
|
+
const {bundleId, pathInContainer: dstPath} = await parseContainerPath(
|
|
406
|
+
this,
|
|
400
407
|
remotePath,
|
|
401
408
|
async (appBundle, containerType) =>
|
|
402
409
|
await device.simctl.getAppContainer(appBundle, containerType),
|
|
@@ -448,7 +455,7 @@ async function pullFromRealDevice(
|
|
|
448
455
|
remotePath: string,
|
|
449
456
|
isFile: boolean,
|
|
450
457
|
): Promise<string> {
|
|
451
|
-
const {client, relativePath} = await createService
|
|
458
|
+
const {client, relativePath} = await createService(this, remotePath);
|
|
452
459
|
try {
|
|
453
460
|
// Check if path is a directory
|
|
454
461
|
const isDirectory = await client.isDirectory(relativePath);
|
|
@@ -461,8 +468,8 @@ async function pullFromRealDevice(
|
|
|
461
468
|
}
|
|
462
469
|
|
|
463
470
|
return isDirectory
|
|
464
|
-
? (await realDevicePullFolder(client, relativePath)).toString()
|
|
465
|
-
: (await realDevicePullFile(client, relativePath)).toString('base64');
|
|
471
|
+
? (await realDevicePullFolder(client, relativePath, {log: this.log})).toString()
|
|
472
|
+
: (await realDevicePullFile(client, relativePath, {log: this.log})).toString('base64');
|
|
466
473
|
} finally {
|
|
467
474
|
await client.close();
|
|
468
475
|
}
|
|
@@ -483,7 +490,8 @@ async function deleteFromSimulator(this: XCUITestDriver, remotePath: string): Pr
|
|
|
483
490
|
let pathOnServer: string;
|
|
484
491
|
const device = this.device as Simulator;
|
|
485
492
|
if (CONTAINER_PATH_PATTERN.test(remotePath)) {
|
|
486
|
-
const {bundleId, pathInContainer: dstPath} = await parseContainerPath
|
|
493
|
+
const {bundleId, pathInContainer: dstPath} = await parseContainerPath(
|
|
494
|
+
this,
|
|
487
495
|
remotePath,
|
|
488
496
|
async (appBundle, containerType) =>
|
|
489
497
|
await device.simctl.getAppContainer(appBundle, containerType),
|
|
@@ -524,7 +532,7 @@ async function deleteFromSimulator(this: XCUITestDriver, remotePath: string): Pr
|
|
|
524
532
|
* @returns Nothing
|
|
525
533
|
*/
|
|
526
534
|
async function deleteFromRealDevice(this: XCUITestDriver, remotePath: string): Promise<void> {
|
|
527
|
-
const {client, relativePath} = await createService
|
|
535
|
+
const {client, relativePath} = await createService(this, remotePath);
|
|
528
536
|
try {
|
|
529
537
|
await client.deleteDirectory(relativePath);
|
|
530
538
|
} catch (e) {
|
|
@@ -29,18 +29,26 @@ const APPLICATION_INSTALLED_NOTIFICATION = 'com.apple.mobile.application_install
|
|
|
29
29
|
const APPLICATION_NOTIFICATION_TIMEOUT_MS = 30 * 1000;
|
|
30
30
|
const INSTALLATION_STAGING_DIR = 'PublicStaging';
|
|
31
31
|
|
|
32
|
-
export interface
|
|
32
|
+
export interface AfcTransferOptions {
|
|
33
|
+
log?: AppiumLogger;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface PushFileOptions extends AfcTransferOptions {
|
|
33
37
|
/** The maximum count of milliseconds to wait until file push is completed. Cannot be lower than 60000ms */
|
|
34
38
|
timeoutMs?: number;
|
|
35
39
|
}
|
|
36
40
|
|
|
37
|
-
export interface PushFolderOptions {
|
|
41
|
+
export interface PushFolderOptions extends AfcTransferOptions {
|
|
38
42
|
/** The maximum timeout to wait until a single file is copied */
|
|
39
43
|
timeoutMs?: number;
|
|
40
44
|
/** Whether to push files in parallel. This usually gives better performance, but might sometimes be less stable. */
|
|
41
45
|
enableParallelPush?: boolean;
|
|
42
46
|
}
|
|
43
47
|
|
|
48
|
+
export interface PullFileOptions extends AfcTransferOptions {}
|
|
49
|
+
|
|
50
|
+
export interface PullFolderOptions extends AfcTransferOptions {}
|
|
51
|
+
|
|
44
52
|
export interface RealDeviceInstallOptions {
|
|
45
53
|
/** Application installation timeout in milliseconds */
|
|
46
54
|
timeoutMs?: number;
|
|
@@ -62,6 +70,11 @@ export interface ManagementInstallOptions {
|
|
|
62
70
|
shouldEnforceUninstall?: boolean;
|
|
63
71
|
}
|
|
64
72
|
|
|
73
|
+
interface AfcTransferStats {
|
|
74
|
+
fileCount?: number;
|
|
75
|
+
folderCount?: number;
|
|
76
|
+
}
|
|
77
|
+
|
|
65
78
|
export class RealDevice {
|
|
66
79
|
readonly udid: string;
|
|
67
80
|
readonly devicectl: Devicectl;
|
|
@@ -109,12 +122,14 @@ export class RealDevice {
|
|
|
109
122
|
bundlePathOnPhone = `/${path.basename(appPath)}`;
|
|
110
123
|
await pushFile(afcClient, appPath, bundlePathOnPhone, {
|
|
111
124
|
timeoutMs,
|
|
125
|
+
log: this.log,
|
|
112
126
|
});
|
|
113
127
|
} else {
|
|
114
128
|
bundlePathOnPhone = `${INSTALLATION_STAGING_DIR}/${bundleId}`;
|
|
115
129
|
await pushFolder(afcClient, appPath, bundlePathOnPhone, {
|
|
116
130
|
enableParallelPush: true,
|
|
117
131
|
timeoutMs,
|
|
132
|
+
log: this.log,
|
|
118
133
|
});
|
|
119
134
|
}
|
|
120
135
|
await this.installOrUpgradeApplication(bundlePathOnPhone, {
|
|
@@ -325,14 +340,23 @@ export class RealDevice {
|
|
|
325
340
|
*
|
|
326
341
|
* @param client AFC client instance
|
|
327
342
|
* @param remotePath Relative path to the file on the device
|
|
343
|
+
* @param opts Pull file options
|
|
328
344
|
* @returns The file content as a buffer
|
|
329
345
|
*/
|
|
330
|
-
export async function pullFile(
|
|
331
|
-
|
|
346
|
+
export async function pullFile(
|
|
347
|
+
client: AfcClient,
|
|
348
|
+
remotePath: string,
|
|
349
|
+
opts: PullFileOptions = {},
|
|
350
|
+
): Promise<Buffer> {
|
|
351
|
+
const log = opts.log ?? defaultLogger;
|
|
352
|
+
const timer = new timing.Timer().start();
|
|
353
|
+
const buffer = await withTimeout(
|
|
332
354
|
client.getFileContents(remotePath),
|
|
333
355
|
IO_TIMEOUT_MS,
|
|
334
356
|
`Timed out after ${IO_TIMEOUT_MS}ms while pulling file from '${remotePath}'`,
|
|
335
357
|
);
|
|
358
|
+
logAfcTransferPerformance(log, 'download', buffer.length, remotePath, timer);
|
|
359
|
+
return buffer;
|
|
336
360
|
}
|
|
337
361
|
|
|
338
362
|
/**
|
|
@@ -340,10 +364,18 @@ export async function pullFile(client: AfcClient, remotePath: string): Promise<B
|
|
|
340
364
|
*
|
|
341
365
|
* @param client AFC client instance
|
|
342
366
|
* @param remoteRootPath Relative path to the folder on the device
|
|
367
|
+
* @param opts Pull folder options
|
|
343
368
|
* @returns The folder content as a zipped base64-encoded buffer
|
|
344
369
|
*/
|
|
345
|
-
export async function pullFolder(
|
|
370
|
+
export async function pullFolder(
|
|
371
|
+
client: AfcClient,
|
|
372
|
+
remoteRootPath: string,
|
|
373
|
+
opts: PullFolderOptions = {},
|
|
374
|
+
): Promise<Buffer> {
|
|
375
|
+
const log = opts.log ?? defaultLogger;
|
|
376
|
+
const timer = new timing.Timer().start();
|
|
346
377
|
const tmpFolder = await tempDir.openDir();
|
|
378
|
+
let totalBytes = 0;
|
|
347
379
|
try {
|
|
348
380
|
let localTopItem: string | null = null;
|
|
349
381
|
let countFilesSuccess = 0;
|
|
@@ -352,7 +384,7 @@ export async function pullFolder(client: AfcClient, remoteRootPath: string): Pro
|
|
|
352
384
|
await client.pull(remoteRootPath, tmpFolder, {
|
|
353
385
|
recursive: true,
|
|
354
386
|
overwrite: true,
|
|
355
|
-
onEntry: async (
|
|
387
|
+
onEntry: async (_remotePath: string, localPath: string, isDirectory: boolean) => {
|
|
356
388
|
if (
|
|
357
389
|
!localTopItem ||
|
|
358
390
|
localPath.split(path.sep).length < localTopItem.split(path.sep).length
|
|
@@ -363,17 +395,15 @@ export async function pullFolder(client: AfcClient, remoteRootPath: string): Pro
|
|
|
363
395
|
++countFolders;
|
|
364
396
|
} else {
|
|
365
397
|
++countFilesSuccess;
|
|
398
|
+
totalBytes += (await fs.stat(localPath)).size;
|
|
366
399
|
}
|
|
367
400
|
},
|
|
368
401
|
});
|
|
369
402
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
true,
|
|
375
|
-
)} from '${remoteRootPath}'`,
|
|
376
|
-
);
|
|
403
|
+
logAfcTransferPerformance(log, 'download', totalBytes, remoteRootPath, timer, {
|
|
404
|
+
fileCount: countFilesSuccess,
|
|
405
|
+
folderCount: countFolders,
|
|
406
|
+
});
|
|
377
407
|
return await zip.toInMemoryZip(localTopItem ? path.dirname(localTopItem) : tmpFolder, {
|
|
378
408
|
encodeToBase64: true,
|
|
379
409
|
});
|
|
@@ -398,11 +428,10 @@ export async function pushFile(
|
|
|
398
428
|
remotePath: string,
|
|
399
429
|
opts: PushFileOptions = {},
|
|
400
430
|
): Promise<void> {
|
|
401
|
-
const {timeoutMs = IO_TIMEOUT_MS} = opts;
|
|
431
|
+
const {timeoutMs = IO_TIMEOUT_MS, log = defaultLogger} = opts;
|
|
402
432
|
const timer = new timing.Timer().start();
|
|
403
433
|
await remoteMkdirp(client, path.dirname(remotePath));
|
|
404
434
|
|
|
405
|
-
// AfcClient handles the branching internally
|
|
406
435
|
const pushPromise = Buffer.isBuffer(localPathOrPayload)
|
|
407
436
|
? client.setFileContents(remotePath, localPathOrPayload)
|
|
408
437
|
: client.writeFromStream(
|
|
@@ -410,7 +439,6 @@ export async function pushFile(
|
|
|
410
439
|
fs.createReadStream(localPathOrPayload, {autoClose: true}),
|
|
411
440
|
);
|
|
412
441
|
|
|
413
|
-
// Wrap with timeout
|
|
414
442
|
const actualTimeout = Math.max(timeoutMs, 60000);
|
|
415
443
|
await withTimeout(
|
|
416
444
|
pushPromise,
|
|
@@ -421,10 +449,7 @@ export async function pushFile(
|
|
|
421
449
|
const fileSize = Buffer.isBuffer(localPathOrPayload)
|
|
422
450
|
? localPathOrPayload.length
|
|
423
451
|
: (await fs.stat(localPathOrPayload)).size;
|
|
424
|
-
|
|
425
|
-
`Successfully pushed the file payload (${util.toReadableSizeString(fileSize)}) ` +
|
|
426
|
-
`to the remote location '${remotePath}' in ${timer.getDuration().asMilliSeconds.toFixed(0)}ms`,
|
|
427
|
-
);
|
|
452
|
+
logAfcTransferPerformance(log, 'upload', fileSize, remotePath, timer);
|
|
428
453
|
}
|
|
429
454
|
|
|
430
455
|
/**
|
|
@@ -442,7 +467,7 @@ export async function pushFolder(
|
|
|
442
467
|
dstRootPath: string,
|
|
443
468
|
opts: PushFolderOptions = {},
|
|
444
469
|
): Promise<void> {
|
|
445
|
-
const {timeoutMs = IO_TIMEOUT_MS, enableParallelPush = false} = opts;
|
|
470
|
+
const {timeoutMs = IO_TIMEOUT_MS, enableParallelPush = false, log = defaultLogger} = opts;
|
|
446
471
|
|
|
447
472
|
const timer = new timing.Timer().start();
|
|
448
473
|
const allItems =
|
|
@@ -450,7 +475,7 @@ export async function pushFolder(
|
|
|
450
475
|
cwd: srcRootPath,
|
|
451
476
|
withFileTypes: true,
|
|
452
477
|
})) as any[];
|
|
453
|
-
|
|
478
|
+
log.debug(`Successfully scanned the tree structure of '${srcRootPath}'`);
|
|
454
479
|
// top-level folders go first
|
|
455
480
|
const foldersToPush: string[] = allItems
|
|
456
481
|
.filter((x) => x.isDirectory())
|
|
@@ -461,7 +486,10 @@ export async function pushFolder(
|
|
|
461
486
|
.filter((x) => !x.isDirectory())
|
|
462
487
|
.sort((a, b) => (b.size ?? 0) - (a.size ?? 0))
|
|
463
488
|
.map((x) => x.relative());
|
|
464
|
-
|
|
489
|
+
const totalBytes = allItems
|
|
490
|
+
.filter((x) => !x.isDirectory())
|
|
491
|
+
.reduce((sum, x) => sum + (x.size ?? 0), 0);
|
|
492
|
+
log.debug(
|
|
465
493
|
`Got ${util.pluralize('folder', foldersToPush.length, true)} and ` +
|
|
466
494
|
`${util.pluralize('file', filesToPush.length, true)} to push`,
|
|
467
495
|
);
|
|
@@ -470,6 +498,7 @@ export async function pushFolder(
|
|
|
470
498
|
await client.deleteDirectory(dstRootPath);
|
|
471
499
|
} catch {}
|
|
472
500
|
|
|
501
|
+
// do not forget about the root folder
|
|
473
502
|
await client.createDirectory(dstRootPath);
|
|
474
503
|
for (const relativeFolderPath of foldersToPush) {
|
|
475
504
|
let absoluteFolderPath = path.join(dstRootPath, relativeFolderPath);
|
|
@@ -480,8 +509,7 @@ export async function pushFolder(
|
|
|
480
509
|
await client.createDirectory(absoluteFolderPath);
|
|
481
510
|
}
|
|
482
511
|
}
|
|
483
|
-
|
|
484
|
-
defaultLogger.debug(
|
|
512
|
+
log.debug(
|
|
485
513
|
`Successfully created the remote folder structure ` +
|
|
486
514
|
`(${util.pluralize('item', foldersToPush.length + 1, true)})`,
|
|
487
515
|
);
|
|
@@ -501,7 +529,7 @@ export async function pushFolder(
|
|
|
501
529
|
};
|
|
502
530
|
|
|
503
531
|
if (enableParallelPush) {
|
|
504
|
-
|
|
532
|
+
log.debug(`Proceeding to parallel files push (max ${MAX_IO_CHUNK_SIZE} writers)`);
|
|
505
533
|
await withTimeout(
|
|
506
534
|
asyncmap(
|
|
507
535
|
filesToPush,
|
|
@@ -517,7 +545,7 @@ export async function pushFolder(
|
|
|
517
545
|
Math.max(timeoutMs - timer.getDuration().asMilliSeconds, 60000),
|
|
518
546
|
);
|
|
519
547
|
} else {
|
|
520
|
-
|
|
548
|
+
log.debug(`Proceeding to serial files push`);
|
|
521
549
|
for (const relativeFilePath of filesToPush) {
|
|
522
550
|
await _pushFile(relativeFilePath);
|
|
523
551
|
const elapsedMs = timer.getDuration().asMilliSeconds;
|
|
@@ -527,11 +555,10 @@ export async function pushFolder(
|
|
|
527
555
|
}
|
|
528
556
|
}
|
|
529
557
|
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
);
|
|
558
|
+
logAfcTransferPerformance(log, 'upload', totalBytes, dstRootPath, timer, {
|
|
559
|
+
fileCount: filesToPush.length,
|
|
560
|
+
folderCount: foldersToPush.length,
|
|
561
|
+
});
|
|
535
562
|
}
|
|
536
563
|
|
|
537
564
|
/**
|
|
@@ -667,6 +694,36 @@ export async function detectUdid(this: XCUITestDriver): Promise<string> {
|
|
|
667
694
|
|
|
668
695
|
// #region Private Helper Functions
|
|
669
696
|
|
|
697
|
+
function logAfcTransferPerformance(
|
|
698
|
+
log: AppiumLogger,
|
|
699
|
+
direction: 'upload' | 'download',
|
|
700
|
+
byteCount: number,
|
|
701
|
+
remotePath: string,
|
|
702
|
+
timer: timing.Timer,
|
|
703
|
+
stats: AfcTransferStats = {},
|
|
704
|
+
): void {
|
|
705
|
+
const elapsedMs = timer.getDuration().asMilliSeconds;
|
|
706
|
+
const elapsedSec = elapsedMs / 1000;
|
|
707
|
+
const preposition = direction === 'upload' ? 'to' : 'from';
|
|
708
|
+
const {fileCount, folderCount} = stats;
|
|
709
|
+
const itemSummary =
|
|
710
|
+
fileCount !== undefined || folderCount !== undefined
|
|
711
|
+
? ` (${util.pluralize('file', fileCount ?? 0, true)}` +
|
|
712
|
+
`${folderCount !== undefined ? ` and ${util.pluralize('folder', folderCount, true)}` : ''})`
|
|
713
|
+
: '';
|
|
714
|
+
|
|
715
|
+
log.debug(
|
|
716
|
+
`AFC ${direction} of ${util.toReadableSizeString(byteCount)} ${preposition} '${remotePath}'` +
|
|
717
|
+
`${itemSummary} completed in ${elapsedMs.toFixed(0)}ms`,
|
|
718
|
+
);
|
|
719
|
+
if (elapsedSec >= 1 && byteCount > 0) {
|
|
720
|
+
const bytesPerSec = Math.floor(byteCount / elapsedSec);
|
|
721
|
+
log.debug(
|
|
722
|
+
`Approximate average AFC ${direction} speed: ${util.toReadableSizeString(bytesPerSec)}/s`,
|
|
723
|
+
);
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
|
|
670
727
|
/**
|
|
671
728
|
* If the environment variable enables APPIUM_XCUITEST_PREFER_DEVICECTL.
|
|
672
729
|
* This is a workaround for wireless tvOS.
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-xcuitest-driver",
|
|
3
|
-
"version": "11.7.
|
|
3
|
+
"version": "11.7.7",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "appium-xcuitest-driver",
|
|
9
|
-
"version": "11.7.
|
|
9
|
+
"version": "11.7.7",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@appium/strongbox": "^1.0.0-rc.1",
|
|
@@ -494,9 +494,9 @@
|
|
|
494
494
|
}
|
|
495
495
|
},
|
|
496
496
|
"node_modules/appium-ios-remotexpc": {
|
|
497
|
-
"version": "2.2.
|
|
498
|
-
"resolved": "https://registry.npmjs.org/appium-ios-remotexpc/-/appium-ios-remotexpc-2.2.
|
|
499
|
-
"integrity": "sha512-
|
|
497
|
+
"version": "2.2.3",
|
|
498
|
+
"resolved": "https://registry.npmjs.org/appium-ios-remotexpc/-/appium-ios-remotexpc-2.2.3.tgz",
|
|
499
|
+
"integrity": "sha512-lhuh5YaV93KWbpjTkatL9lVDgRtGXhZE/FGaTEyYeI5mnCdCij2ienCWFzrSAaYsqaxmeTwu2/nBwhJm0wJQQQ==",
|
|
500
500
|
"license": "Apache-2.0",
|
|
501
501
|
"optional": true,
|
|
502
502
|
"dependencies": {
|