detox 20.0.11-prerelease.0 → 20.0.12-prerelease.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.0.11-prerelease.0/detox-20.0.11-prerelease.0-javadoc.jar → 20.0.12-prerelease.0/detox-20.0.12-prerelease.0-javadoc.jar} +0 -0
- package/Detox-android/com/wix/detox/20.0.12-prerelease.0/detox-20.0.12-prerelease.0-javadoc.jar.md5 +1 -0
- package/Detox-android/com/wix/detox/20.0.12-prerelease.0/detox-20.0.12-prerelease.0-javadoc.jar.sha1 +1 -0
- package/Detox-android/com/wix/detox/20.0.12-prerelease.0/detox-20.0.12-prerelease.0-javadoc.jar.sha256 +1 -0
- package/Detox-android/com/wix/detox/20.0.12-prerelease.0/detox-20.0.12-prerelease.0-javadoc.jar.sha512 +1 -0
- package/Detox-android/com/wix/detox/{20.0.11-prerelease.0/detox-20.0.11-prerelease.0-sources.jar → 20.0.12-prerelease.0/detox-20.0.12-prerelease.0-sources.jar} +0 -0
- package/Detox-android/com/wix/detox/20.0.12-prerelease.0/detox-20.0.12-prerelease.0-sources.jar.md5 +1 -0
- package/Detox-android/com/wix/detox/20.0.12-prerelease.0/detox-20.0.12-prerelease.0-sources.jar.sha1 +1 -0
- package/Detox-android/com/wix/detox/20.0.12-prerelease.0/detox-20.0.12-prerelease.0-sources.jar.sha256 +1 -0
- package/Detox-android/com/wix/detox/20.0.12-prerelease.0/detox-20.0.12-prerelease.0-sources.jar.sha512 +1 -0
- package/Detox-android/com/wix/detox/{20.0.11-prerelease.0/detox-20.0.11-prerelease.0.aar → 20.0.12-prerelease.0/detox-20.0.12-prerelease.0.aar} +0 -0
- package/Detox-android/com/wix/detox/{20.0.11-prerelease.0/detox-20.0.11-prerelease.0.aar.md5 → 20.0.12-prerelease.0/detox-20.0.12-prerelease.0.aar.md5} +0 -0
- package/Detox-android/com/wix/detox/{20.0.11-prerelease.0/detox-20.0.11-prerelease.0.aar.sha1 → 20.0.12-prerelease.0/detox-20.0.12-prerelease.0.aar.sha1} +0 -0
- package/Detox-android/com/wix/detox/{20.0.11-prerelease.0/detox-20.0.11-prerelease.0.aar.sha256 → 20.0.12-prerelease.0/detox-20.0.12-prerelease.0.aar.sha256} +0 -0
- package/Detox-android/com/wix/detox/{20.0.11-prerelease.0/detox-20.0.11-prerelease.0.aar.sha512 → 20.0.12-prerelease.0/detox-20.0.12-prerelease.0.aar.sha512} +0 -0
- package/Detox-android/com/wix/detox/{20.0.11-prerelease.0/detox-20.0.11-prerelease.0.pom → 20.0.12-prerelease.0/detox-20.0.12-prerelease.0.pom} +1 -1
- package/Detox-android/com/wix/detox/20.0.12-prerelease.0/detox-20.0.12-prerelease.0.pom.md5 +1 -0
- package/Detox-android/com/wix/detox/20.0.12-prerelease.0/detox-20.0.12-prerelease.0.pom.sha1 +1 -0
- package/Detox-android/com/wix/detox/20.0.12-prerelease.0/detox-20.0.12-prerelease.0.pom.sha256 +1 -0
- package/Detox-android/com/wix/detox/20.0.12-prerelease.0/detox-20.0.12-prerelease.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/index.d.ts +18 -2
- package/internals.d.ts +36 -14
- package/local-cli/cli.js +7 -5
- package/local-cli/init.js +1 -1
- package/local-cli/reset-lock-file.js +16 -0
- package/local-cli/test.test.js +58 -14
- package/local-cli/testCommand/TestRunnerCommand.js +10 -3
- package/package.json +2 -2
- package/runners/jest/reporters/DetoxReporter.js +22 -2
- package/runners/jest/testEnvironment/index.js +83 -82
- package/runners/jest/testEnvironment/listeners/DetoxCoreListener.js +9 -24
- package/runners/jest/testEnvironment/listeners/DetoxPlatformFilterListener.js +1 -1
- package/src/configuration/composeRunnerConfig.js +3 -1
- package/src/devices/allocation/drivers/android/emulator/AVDValidator.js +4 -4
- package/src/devices/allocation/drivers/android/emulator/EmulatorAllocDriver.js +1 -1
- package/src/ipc/IPCClient.js +9 -5
- package/src/ipc/IPCServer.js +17 -13
- package/src/ipc/SessionState.js +2 -4
- package/src/realms/DetoxContext.js +2 -2
- package/src/realms/DetoxInternalsFacade.js +1 -1
- package/src/realms/DetoxPrimaryContext.js +6 -8
- package/src/realms/DetoxSecondaryContext.js +2 -2
- package/src/symbols.js +2 -2
- package/src/utils/Timer.js +55 -38
- package/src/utils/errorUtils.js +20 -0
- package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0-javadoc.jar.md5 +0 -1
- package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0-javadoc.jar.sha1 +0 -1
- package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0-javadoc.jar.sha256 +0 -1
- package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0-javadoc.jar.sha512 +0 -1
- package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0-sources.jar.md5 +0 -1
- package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0-sources.jar.sha1 +0 -1
- package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0-sources.jar.sha256 +0 -1
- package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0-sources.jar.sha512 +0 -1
- package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0.pom.md5 +0 -1
- package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0.pom.sha1 +0 -1
- package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0.pom.sha256 +0 -1
- package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0.pom.sha512 +0 -1
package/src/utils/Timer.js
CHANGED
@@ -1,65 +1,82 @@
|
|
1
|
-
|
2
|
-
const DetoxRuntimeError = require('../errors/DetoxRuntimeError');
|
1
|
+
const { DetoxRuntimeError, DetoxInternalError } = require('../errors');
|
3
2
|
|
4
3
|
const Deferred = require('./Deferred');
|
5
4
|
|
6
5
|
class Timer {
|
6
|
+
constructor() {
|
7
|
+
/** @private */
|
8
|
+
this._eta = NaN;
|
9
|
+
/** @private */
|
10
|
+
this._timeout = NaN;
|
11
|
+
/** @type {NodeJS.Timer | null} */
|
12
|
+
this._timeoutHandle = null;
|
13
|
+
/** @type {Deferred | null} */
|
14
|
+
this._timeoutDeferred = null;
|
15
|
+
}
|
16
|
+
|
17
|
+
clear() {
|
18
|
+
if (this._timeoutHandle) {
|
19
|
+
clearTimeout(this._timeoutHandle);
|
20
|
+
this._timeoutHandle = null;
|
21
|
+
}
|
22
|
+
|
23
|
+
this._eta = NaN;
|
24
|
+
this._timeout = NaN;
|
25
|
+
this._timeoutDeferred = null;
|
26
|
+
}
|
27
|
+
|
28
|
+
get expired() {
|
29
|
+
return this._timeoutDeferred ? this._timeoutDeferred.isResolved() : false;
|
30
|
+
}
|
31
|
+
|
7
32
|
/**
|
8
|
-
* @param {string} description - gives more context for thrown errors
|
9
33
|
* @param {number} timeout - maximal allowed duration in milliseconds
|
10
34
|
*/
|
11
|
-
|
12
|
-
|
35
|
+
schedule(timeout) {
|
36
|
+
this.clear();
|
37
|
+
|
38
|
+
this._eta = Date.now() + timeout;
|
13
39
|
this._timeout = timeout;
|
14
|
-
|
15
|
-
this.
|
40
|
+
this._timeoutDeferred = new Deferred();
|
41
|
+
this._timeoutHandle = setTimeout(() => {
|
42
|
+
this._timeoutDeferred.resolve();
|
43
|
+
}, this._timeout);
|
16
44
|
|
17
|
-
this
|
45
|
+
return this;
|
18
46
|
}
|
19
47
|
|
20
|
-
|
21
|
-
this.
|
22
|
-
|
48
|
+
extend(ms) {
|
49
|
+
if (this.expired) {
|
50
|
+
return this.schedule(ms);
|
51
|
+
}
|
52
|
+
|
53
|
+
clearTimeout(this._timeoutHandle);
|
54
|
+
this._eta += ms;
|
55
|
+
this._timeout += ms;
|
23
56
|
this._timeoutHandle = setTimeout(() => {
|
24
57
|
this._timeoutDeferred.resolve();
|
25
|
-
}, this.
|
58
|
+
}, this._eta - Date.now());
|
26
59
|
}
|
27
60
|
|
28
|
-
async run(action) {
|
61
|
+
async run(description, action) {
|
62
|
+
if (!this._timeoutDeferred) {
|
63
|
+
throw new DetoxInternalError('Cannot run a timer action from an uninitialized timer');
|
64
|
+
}
|
65
|
+
|
29
66
|
const error = new DetoxRuntimeError({
|
30
|
-
message: `Exceeded timeout of ${this._timeout}ms while ${
|
67
|
+
message: `Exceeded timeout of ${this._timeout}ms while ${description}`,
|
31
68
|
noStack: true,
|
32
69
|
});
|
33
70
|
|
71
|
+
if (this.expired) {
|
72
|
+
throw error;
|
73
|
+
}
|
74
|
+
|
34
75
|
return Promise.race([
|
35
76
|
this._timeoutDeferred.promise.then(() => { throw error; }),
|
36
77
|
Promise.resolve().then(action),
|
37
78
|
]);
|
38
79
|
}
|
39
|
-
|
40
|
-
dispose() {
|
41
|
-
clearTimeout(this._timeoutHandle);
|
42
|
-
}
|
43
|
-
|
44
|
-
reset(extraDelayMs) {
|
45
|
-
this._timeout = extraDelayMs;
|
46
|
-
|
47
|
-
if (this._timeoutDeferred.status !== Deferred.PENDING) {
|
48
|
-
this._schedule();
|
49
|
-
} else {
|
50
|
-
clearTimeout(this._timeoutHandle);
|
51
|
-
this._timeoutHandle = setTimeout(() => this._timeoutDeferred.resolve(), extraDelayMs);
|
52
|
-
}
|
53
|
-
}
|
54
|
-
|
55
|
-
static async run({ description, timeout, fn }) {
|
56
|
-
const timer = new Timer({ description, timeout });
|
57
|
-
try {
|
58
|
-
await timer.run(fn);
|
59
|
-
} finally {
|
60
|
-
timer.dispose();
|
61
|
-
}
|
62
|
-
}
|
63
80
|
}
|
64
81
|
|
65
82
|
module.exports = Timer;
|
package/src/utils/errorUtils.js
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
const { isError } = require('lodash');
|
2
|
+
const { deserializeError, serializeError } = require('serialize-error');
|
3
|
+
|
2
4
|
const CLEAN_AT = /\n\s*at [\s\S]*/m;
|
3
5
|
|
4
6
|
function filterErrorStack(error, predicate) {
|
@@ -38,9 +40,27 @@ function asError(error) {
|
|
38
40
|
return isError(error) ? error : new Error(error);
|
39
41
|
}
|
40
42
|
|
43
|
+
function serializeObjectWithError(obj, errorKey) {
|
44
|
+
if (obj[errorKey]) {
|
45
|
+
return { ...obj, [errorKey]: serializeError(obj[errorKey]) };
|
46
|
+
}
|
47
|
+
|
48
|
+
return obj;
|
49
|
+
}
|
50
|
+
|
51
|
+
function deserializeObjectWithError(obj, errorKey) {
|
52
|
+
if (typeof obj[errorKey] === 'object' && !(obj[errorKey] instanceof Error)) {
|
53
|
+
return { ...obj, [errorKey]: deserializeError(obj[errorKey]) };
|
54
|
+
}
|
55
|
+
|
56
|
+
return obj;
|
57
|
+
}
|
58
|
+
|
41
59
|
module.exports = {
|
42
60
|
asError,
|
43
61
|
replaceErrorStack,
|
44
62
|
filterErrorStack,
|
45
63
|
createErrorWithUserStack,
|
64
|
+
serializeObjectWithError,
|
65
|
+
deserializeObjectWithError,
|
46
66
|
};
|
package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0-javadoc.jar.md5
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
47812b0a46970666a8ed5133588f83b9
|
package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0-javadoc.jar.sha1
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
3ac292deb3e60c7f80bb4e138e61decdacb32673
|
@@ -1 +0,0 @@
|
|
1
|
-
5d4183bf7d91e2375e527f7886a374bcdc227328e09fbe8c5705c82750cb5a80
|
@@ -1 +0,0 @@
|
|
1
|
-
b149751c26413a63ea98c69ff3a4cb19a4d449b4b626e277ecdd1508b725ef5179dbcbb68aca4c4427651de00ebdf30efb517ea981302eb50ec4aed6e26c432f
|
package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0-sources.jar.md5
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
123907367c42d213beeb25fac892c1c8
|
package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0-sources.jar.sha1
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
35e4d7a489d2b9ce8bc3298d4e05ace381938968
|
@@ -1 +0,0 @@
|
|
1
|
-
ba003c4e1afb9667e62a7d1e73db455775e1c082d6f3780d4ed172844e1dcec3
|
@@ -1 +0,0 @@
|
|
1
|
-
a8254a5574422d06bbe1b256abf87d111b2fb56d82a1e82dd9a827407e95321a81279eaeaa79cc68e985d313f547e70b60251c374d784195d05d90c042f6e93a
|
@@ -1 +0,0 @@
|
|
1
|
-
e1de6a89002fc682019853172c69830c
|
package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0.pom.sha1
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
489bc3e987d66596a3d04353e50a9b7528a2ca8f
|
package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0.pom.sha256
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
40f07b6d97cc2f6143e7bf5456fc0070af5ee9316a8585c4abdca7d796409d71
|
package/Detox-android/com/wix/detox/20.0.11-prerelease.0/detox-20.0.11-prerelease.0.pom.sha512
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
9eae7ac091f209b9ddd0282e6e8eb2dcef416c06d2906857f7d065276787c56cd7a14e19883c710f934005f5831890c33a66218dabb5dbfe6a9143089b6a3462
|