detox 20.1.2 → 20.1.3-smoke.0
Sign up to get free protection for your applications and to get access to all the features.
- package/Detox-android/com/wix/detox/{20.1.2/detox-20.1.2-javadoc.jar → 20.1.3-smoke.0/detox-20.1.3-smoke.0-javadoc.jar} +0 -0
- package/Detox-android/com/wix/detox/20.1.3-smoke.0/detox-20.1.3-smoke.0-javadoc.jar.md5 +1 -0
- package/Detox-android/com/wix/detox/20.1.3-smoke.0/detox-20.1.3-smoke.0-javadoc.jar.sha1 +1 -0
- package/Detox-android/com/wix/detox/20.1.3-smoke.0/detox-20.1.3-smoke.0-javadoc.jar.sha256 +1 -0
- package/Detox-android/com/wix/detox/20.1.3-smoke.0/detox-20.1.3-smoke.0-javadoc.jar.sha512 +1 -0
- package/Detox-android/com/wix/detox/{20.1.2/detox-20.1.2-sources.jar → 20.1.3-smoke.0/detox-20.1.3-smoke.0-sources.jar} +0 -0
- package/Detox-android/com/wix/detox/20.1.3-smoke.0/detox-20.1.3-smoke.0-sources.jar.md5 +1 -0
- package/Detox-android/com/wix/detox/20.1.3-smoke.0/detox-20.1.3-smoke.0-sources.jar.sha1 +1 -0
- package/Detox-android/com/wix/detox/20.1.3-smoke.0/detox-20.1.3-smoke.0-sources.jar.sha256 +1 -0
- package/Detox-android/com/wix/detox/20.1.3-smoke.0/detox-20.1.3-smoke.0-sources.jar.sha512 +1 -0
- package/Detox-android/com/wix/detox/{20.1.2/detox-20.1.2.aar → 20.1.3-smoke.0/detox-20.1.3-smoke.0.aar} +0 -0
- package/Detox-android/com/wix/detox/{20.1.2/detox-20.1.2.aar.md5 → 20.1.3-smoke.0/detox-20.1.3-smoke.0.aar.md5} +0 -0
- package/Detox-android/com/wix/detox/{20.1.2/detox-20.1.2.aar.sha1 → 20.1.3-smoke.0/detox-20.1.3-smoke.0.aar.sha1} +0 -0
- package/Detox-android/com/wix/detox/{20.1.2/detox-20.1.2.aar.sha256 → 20.1.3-smoke.0/detox-20.1.3-smoke.0.aar.sha256} +0 -0
- package/Detox-android/com/wix/detox/{20.1.2/detox-20.1.2.aar.sha512 → 20.1.3-smoke.0/detox-20.1.3-smoke.0.aar.sha512} +0 -0
- package/Detox-android/com/wix/detox/{20.1.2/detox-20.1.2.pom → 20.1.3-smoke.0/detox-20.1.3-smoke.0.pom} +1 -1
- package/Detox-android/com/wix/detox/20.1.3-smoke.0/detox-20.1.3-smoke.0.pom.md5 +1 -0
- package/Detox-android/com/wix/detox/20.1.3-smoke.0/detox-20.1.3-smoke.0.pom.sha1 +1 -0
- package/Detox-android/com/wix/detox/20.1.3-smoke.0/detox-20.1.3-smoke.0.pom.sha256 +1 -0
- package/Detox-android/com/wix/detox/20.1.3-smoke.0/detox-20.1.3-smoke.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-src.tbz +0 -0
- package/Detox-ios.tbz +0 -0
- package/local-cli/cli.js +4 -3
- package/local-cli/testCommand/TestRunnerCommand.js +2 -1
- package/local-cli/testCommand/TestRunnerError.js +0 -4
- package/local-cli/utils/cliErrorHandling.js +15 -0
- package/package.json +3 -2
- package/src/artifacts/utils/temporaryPath.js +2 -4
- package/src/devices/runtime/drivers/android/genycloud/GenyCloudDriver.js +11 -1
- package/src/devices/runtime/factories/android.js +1 -0
- package/src/logger/utils/BunyanLogger.js +5 -16
- package/src/logger/utils/streams/DetoxJSONLParser.js +1 -1
- package/Detox-android/com/wix/detox/20.1.2/detox-20.1.2-javadoc.jar.md5 +0 -1
- package/Detox-android/com/wix/detox/20.1.2/detox-20.1.2-javadoc.jar.sha1 +0 -1
- package/Detox-android/com/wix/detox/20.1.2/detox-20.1.2-javadoc.jar.sha256 +0 -1
- package/Detox-android/com/wix/detox/20.1.2/detox-20.1.2-javadoc.jar.sha512 +0 -1
- package/Detox-android/com/wix/detox/20.1.2/detox-20.1.2-sources.jar.md5 +0 -1
- package/Detox-android/com/wix/detox/20.1.2/detox-20.1.2-sources.jar.sha1 +0 -1
- package/Detox-android/com/wix/detox/20.1.2/detox-20.1.2-sources.jar.sha256 +0 -1
- package/Detox-android/com/wix/detox/20.1.2/detox-20.1.2-sources.jar.sha512 +0 -1
- package/Detox-android/com/wix/detox/20.1.2/detox-20.1.2.pom.md5 +0 -1
- package/Detox-android/com/wix/detox/20.1.2/detox-20.1.2.pom.sha1 +0 -1
- package/Detox-android/com/wix/detox/20.1.2/detox-20.1.2.pom.sha256 +0 -1
- package/Detox-android/com/wix/detox/20.1.2/detox-20.1.2.pom.sha512 +0 -1
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
5ea178d37800ac85657519326c612490
|
@@ -0,0 +1 @@
|
|
1
|
+
514390d5c32fd969557547ee5d671a353c127b7e
|
@@ -0,0 +1 @@
|
|
1
|
+
963693e1366f136d7b1d560831c04140d4eb45d3ce66e6250fa94564ee0e6898
|
@@ -0,0 +1 @@
|
|
1
|
+
443148418bb248bcfc7b4f7dbc598c49e76238ca3d1a594c3d6faa1582d51152a3fcda51150f5748b58b8f7b1eebe30c44e6373b4bd34ed2bd92bb313f36df76
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
f1f70446a009ef210c4f845bf91536f6
|
@@ -0,0 +1 @@
|
|
1
|
+
35501e58eef68c0dc26c62419332872f5b8560e5
|
@@ -0,0 +1 @@
|
|
1
|
+
a6763332834870304f092606c17fc9a3e6e9c48e7b249b0eddb2dad559193a96
|
@@ -0,0 +1 @@
|
|
1
|
+
366d1835c72e688bb0c3e11343813724c5fdec5123ebc54a82a28a49ceddae04a3091ccc3430c210f7743fc6cb7d661bc7f1bc9b2813257b6fa0e3c97ea2ef9d
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -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.1.
|
6
|
+
<version>20.1.3-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
|
+
576fdc79c38e30ef9865ebd14804f7d1
|
@@ -0,0 +1 @@
|
|
1
|
+
14372ce8c7b2b1a2a0e6ce3eee61470ee23e3efb
|
@@ -0,0 +1 @@
|
|
1
|
+
867e0414f1e99ca2bac00e68677bce8e392a3affe74ca9ee64acae9653cd9316
|
@@ -0,0 +1 @@
|
|
1
|
+
63cd497446b3521940236c4d10074cffd5a29de519400615c7e55d6ba05671452c2c1d8b3bc4c59d71ca5800010df98294286deb1fff5c46b89ffd18af3d61d0
|
@@ -3,11 +3,11 @@
|
|
3
3
|
<groupId>com.wix</groupId>
|
4
4
|
<artifactId>detox</artifactId>
|
5
5
|
<versioning>
|
6
|
-
<latest>20.1.
|
7
|
-
<release>20.1.
|
6
|
+
<latest>20.1.3-smoke.0</latest>
|
7
|
+
<release>20.1.3-smoke.0</release>
|
8
8
|
<versions>
|
9
|
-
<version>20.1.
|
9
|
+
<version>20.1.3-smoke.0</version>
|
10
10
|
</versions>
|
11
|
-
<lastUpdated>
|
11
|
+
<lastUpdated>20230127111808</lastUpdated>
|
12
12
|
</versioning>
|
13
13
|
</metadata>
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
3c5a2645c7b35c9049858f996e6bc26b
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
741c4b63d991448be749164039fb47baa2e9ed2d
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
c4c3d49bc030860d983a2f6efd6d757ee79764664fb26eeae9b08a0bbbbbf622
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
130871034fac45eaf284a931075b88a8baff8d674a534c1af85db03508e5c57af4fe7d656672cf8b534852171d743ea3a4793d0ecf8db1dc93ed0f8401d400c8
|
package/Detox-ios-src.tbz
CHANGED
Binary file
|
package/Detox-ios.tbz
CHANGED
Binary file
|
package/local-cli/cli.js
CHANGED
@@ -7,6 +7,8 @@ const yargs = require('yargs');
|
|
7
7
|
const logger = require('../internals').log.child({ cat: 'cli' });
|
8
8
|
const DetoxError = require('../src/errors/DetoxError');
|
9
9
|
|
10
|
+
const { isErrorAlreadyLogged } = require('./utils/cliErrorHandling');
|
11
|
+
|
10
12
|
yargs
|
11
13
|
.scriptName('detox')
|
12
14
|
.parserConfiguration({
|
@@ -28,9 +30,8 @@ yargs
|
|
28
30
|
.wrap(yargs.terminalWidth() * 0.9)
|
29
31
|
.fail(function(msg, err, program) {
|
30
32
|
if (err) {
|
31
|
-
|
32
|
-
|
33
|
-
logger.error(message);
|
33
|
+
if (!isErrorAlreadyLogged(err)) {
|
34
|
+
logger.error(DetoxError.format(err));
|
34
35
|
process.stderr.write('\n');
|
35
36
|
}
|
36
37
|
|
@@ -9,6 +9,7 @@ const log = detox.log.child({ cat: ['lifecycle', 'cli'] });
|
|
9
9
|
const { printEnvironmentVariables, prependNodeModulesBinToPATH } = require('../../src/utils/envUtils');
|
10
10
|
const { toSimplePath } = require('../../src/utils/pathUtils');
|
11
11
|
const { escapeSpaces, useForwardSlashes } = require('../../src/utils/shellUtils');
|
12
|
+
const { markErrorAsLogged } = require('../utils/cliErrorHandling');
|
12
13
|
|
13
14
|
const TestRunnerError = require('./TestRunnerError');
|
14
15
|
|
@@ -142,7 +143,7 @@ class TestRunnerCommand {
|
|
142
143
|
signal,
|
143
144
|
});
|
144
145
|
log.error.end({ success: false, code, signal }, error.message);
|
145
|
-
reject(error);
|
146
|
+
reject(markErrorAsLogged(error));
|
146
147
|
}
|
147
148
|
});
|
148
149
|
});
|
@@ -0,0 +1,15 @@
|
|
1
|
+
const loggedErrors = new WeakSet();
|
2
|
+
|
3
|
+
function markErrorAsLogged(error) {
|
4
|
+
loggedErrors.add(error);
|
5
|
+
return error;
|
6
|
+
}
|
7
|
+
|
8
|
+
function isErrorAlreadyLogged(error) {
|
9
|
+
return loggedErrors.has(error);
|
10
|
+
}
|
11
|
+
|
12
|
+
module.exports = {
|
13
|
+
markErrorAsLogged,
|
14
|
+
isErrorAlreadyLogged,
|
15
|
+
};
|
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.1.
|
4
|
+
"version": "20.1.3-smoke.0",
|
5
5
|
"bin": {
|
6
6
|
"detox": "local-cli/cli.js"
|
7
7
|
},
|
@@ -146,6 +146,7 @@
|
|
146
146
|
"src/devices/common/drivers/ios/tools",
|
147
147
|
"src/devices/runtime/drivers/android/AndroidDriver.js",
|
148
148
|
"src/devices/runtime/drivers/android/emulator/EmulatorDriver.js",
|
149
|
+
"src/devices/runtime/drivers/android/genycloud/GenyCloudDriver.js",
|
149
150
|
"src/devices/runtime/drivers/DeviceDriverBase.js",
|
150
151
|
"src/devices/runtime/drivers/ios",
|
151
152
|
"src/devices/runtime/factories",
|
@@ -199,5 +200,5 @@
|
|
199
200
|
}
|
200
201
|
}
|
201
202
|
},
|
202
|
-
"gitHead": "
|
203
|
+
"gitHead": "34254aaf8d23f6436a7a287ae65339b0903dfeb0"
|
203
204
|
}
|
@@ -2,16 +2,14 @@ const path = require('path');
|
|
2
2
|
const { promisify } = require('util');
|
3
3
|
|
4
4
|
const glob = require('glob');
|
5
|
+
const _ = require('lodash');
|
5
6
|
const tempfile = require('tempfile');
|
6
7
|
|
7
8
|
const { useForwardSlashes } = require('../../utils/shellUtils');
|
8
9
|
|
9
10
|
const globSync = glob.sync;
|
10
11
|
const globAsync = promisify(glob);
|
11
|
-
|
12
|
-
function getRoot() {
|
13
|
-
return path.dirname(tempfile());
|
14
|
-
}
|
12
|
+
const getRoot = _.once(() => path.dirname(tempfile()));
|
15
13
|
|
16
14
|
function createGlobber(ext) {
|
17
15
|
const fullExt = `.detox.${ext}`;
|
@@ -9,6 +9,7 @@ const AndroidDriver = require('../AndroidDriver');
|
|
9
9
|
/**
|
10
10
|
* @typedef GenycloudDriverProps
|
11
11
|
* @property instance { GenyInstance } The DTO associated with the cloud instance
|
12
|
+
* @property forceAdbInstall { Boolean }
|
12
13
|
*/
|
13
14
|
|
14
15
|
class GenyCloudDriver extends AndroidDriver {
|
@@ -16,9 +17,10 @@ class GenyCloudDriver extends AndroidDriver {
|
|
16
17
|
* @param deps { GenycloudDriverDeps }
|
17
18
|
* @param props { GenycloudDriverProps }
|
18
19
|
*/
|
19
|
-
constructor(deps, { instance }) {
|
20
|
+
constructor(deps, { instance, forceAdbInstall }) {
|
20
21
|
super(deps, { adbName: instance.adbName });
|
21
22
|
this.instance = instance;
|
23
|
+
this._forceAdbInstall = forceAdbInstall;
|
22
24
|
}
|
23
25
|
|
24
26
|
getDeviceName() {
|
@@ -30,6 +32,14 @@ class GenyCloudDriver extends AndroidDriver {
|
|
30
32
|
}
|
31
33
|
|
32
34
|
async _installAppBinaries(appBinaryPath, testBinaryPath) {
|
35
|
+
if (this._forceAdbInstall) {
|
36
|
+
await super._installAppBinaries(appBinaryPath, testBinaryPath);
|
37
|
+
} else {
|
38
|
+
await this.__installAppBinaries(appBinaryPath, testBinaryPath);
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
async __installAppBinaries(appBinaryPath, testBinaryPath) {
|
33
43
|
await this.appInstallHelper.install(this.adbName, appBinaryPath, testBinaryPath);
|
34
44
|
}
|
35
45
|
}
|
@@ -56,6 +56,7 @@ class Genycloud extends RuntimeDriverFactoryAndroid {
|
|
56
56
|
_createDriver(deviceCookie, deps, configs) {
|
57
57
|
const props = {
|
58
58
|
instance: deviceCookie.instance,
|
59
|
+
forceAdbInstall: configs.deviceConfig.forceAdbInstall,
|
59
60
|
};
|
60
61
|
|
61
62
|
const { GenycloudRuntimeDriver } = require('../drivers');
|
@@ -1,4 +1,5 @@
|
|
1
1
|
const { PassThrough } = require('stream');
|
2
|
+
const { promisify } = require('util');
|
2
3
|
|
3
4
|
const bunyan = require('bunyan');
|
4
5
|
const bds = require('bunyan-debug-stream');
|
@@ -74,12 +75,14 @@ class BunyanLogger {
|
|
74
75
|
}
|
75
76
|
|
76
77
|
async closeFileStreams() {
|
77
|
-
const { _closeStream } = BunyanLogger;
|
78
78
|
const internalBunyanStreams = this._bunyan['streams'];
|
79
79
|
const openFileStreams = _.filter(internalBunyanStreams, this._isOpenFileStream);
|
80
80
|
_.remove(internalBunyanStreams, openFileStreams);
|
81
81
|
|
82
|
-
await Promise.all(openFileStreams.map(
|
82
|
+
await Promise.all(openFileStreams.map(bunyanStream => {
|
83
|
+
const stream = bunyanStream.stream;
|
84
|
+
return promisify(stream.end.bind(stream))();
|
85
|
+
}));
|
83
86
|
}
|
84
87
|
|
85
88
|
/** @private */
|
@@ -97,20 +100,6 @@ class BunyanLogger {
|
|
97
100
|
return stream.fd > 2 && !stream.closed;
|
98
101
|
}
|
99
102
|
};
|
100
|
-
|
101
|
-
/** @private */
|
102
|
-
static _closeStream(bunyanStream) {
|
103
|
-
return new Promise((resolve, reject) => {
|
104
|
-
bunyanStream.stream.end((err) => {
|
105
|
-
/* istanbul ignore next */
|
106
|
-
if (err) {
|
107
|
-
reject(err);
|
108
|
-
} else {
|
109
|
-
resolve();
|
110
|
-
}
|
111
|
-
});
|
112
|
-
});
|
113
|
-
}
|
114
103
|
}
|
115
104
|
|
116
105
|
module.exports = BunyanLogger;
|
@@ -1 +0,0 @@
|
|
1
|
-
66a12b51d39c0dc37d8237459002fa80
|
@@ -1 +0,0 @@
|
|
1
|
-
a6ce0a5378be7d5f0bd050e4ee918d9b63e9fc6f
|
@@ -1 +0,0 @@
|
|
1
|
-
aead1f291b379b31f6bea79a173d54e8c7f4e2765989a3f40e7aa6246370c01c
|
@@ -1 +0,0 @@
|
|
1
|
-
fddf79d6f4258ffd96cd24ec6eac9323df38fbcfe72aed5aeb9ea5c21982bfa96e732c2c8a9e2c6b6d11e6b1d9b2fa379978344829b04f46ebd42afb91d6973f
|
@@ -1 +0,0 @@
|
|
1
|
-
2bf2d6bb4211ecd29fe92218f374356d
|
@@ -1 +0,0 @@
|
|
1
|
-
ab2f58d97f18c07fda612358a4acd0c55559b54c
|
@@ -1 +0,0 @@
|
|
1
|
-
269663213a371ff333345cc4a2042eacf18a3f8955003b45feb10484df48cc95
|
@@ -1 +0,0 @@
|
|
1
|
-
34b61213d9da6f33dcc73892d2a07d8e02ceb2addcc07dfa2c396e30723faa24c804df26f465d7900f1e4afcf8a182bf00fe46be99065b7241cbfff6998268ae
|
@@ -1 +0,0 @@
|
|
1
|
-
588ca5b917e41b9b0532532c77717020
|
@@ -1 +0,0 @@
|
|
1
|
-
84c09fdf4cc86ae4116c92f13a72e848d47d689d
|
@@ -1 +0,0 @@
|
|
1
|
-
0a7cd18ab62c4e460a174fb3a74729597a1876c04939cd3c72e7828133690ee9
|
@@ -1 +0,0 @@
|
|
1
|
-
b7df21adb125e0fa524dad24daf37dcc53dd88a52d5bddf5e1720c13683965d7d7ca9d7d89eb6e82e181a665400ad0a23f47b2366ad05e0f85e93c9e7786f586
|