detox 20.0.8-prerelease.0 → 20.0.10-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.8-prerelease.0/detox-20.0.8-prerelease.0-javadoc.jar → 20.0.10-prerelease.0/detox-20.0.10-prerelease.0-javadoc.jar} +0 -0
- package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0-javadoc.jar.md5 +1 -0
- package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0-javadoc.jar.sha1 +1 -0
- package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0-javadoc.jar.sha256 +1 -0
- package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0-javadoc.jar.sha512 +1 -0
- package/Detox-android/com/wix/detox/{20.0.8-prerelease.0/detox-20.0.8-prerelease.0-sources.jar → 20.0.10-prerelease.0/detox-20.0.10-prerelease.0-sources.jar} +0 -0
- package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0-sources.jar.md5 +1 -0
- package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0-sources.jar.sha1 +1 -0
- package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0-sources.jar.sha256 +1 -0
- package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0-sources.jar.sha512 +1 -0
- package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0.aar +0 -0
- package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0.aar.md5 +1 -0
- package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0.aar.sha1 +1 -0
- package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0.aar.sha256 +1 -0
- package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0.aar.sha512 +1 -0
- package/Detox-android/com/wix/detox/{20.0.8-prerelease.0/detox-20.0.8-prerelease.0.pom → 20.0.10-prerelease.0/detox-20.0.10-prerelease.0.pom} +1 -1
- package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0.pom.md5 +1 -0
- package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0.pom.sha1 +1 -0
- package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0.pom.sha256 +1 -0
- package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-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/android/detox/src/main/java/com/wix/detox/common/TextFileReader.kt +1 -1
- package/internals.d.ts +11 -0
- package/local-cli/build.js +1 -1
- package/local-cli/init.js +59 -20
- package/local-cli/templates/jest.js +11 -10
- package/package.json +2 -2
- package/runners/jest/testEnvironment/index.js +25 -10
- package/src/logger/DetoxLogger.js +5 -3
- package/src/{utils → logger/utils}/streamUtils.js +28 -1
- package/src/realms/DetoxContext.js +8 -0
- package/src/realms/DetoxInternalsFacade.js +1 -1
- package/src/realms/DetoxPrimaryContext.js +2 -5
- package/src/symbols.js +2 -0
- package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-javadoc.jar.md5 +0 -1
- package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-javadoc.jar.sha1 +0 -1
- package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-javadoc.jar.sha256 +0 -1
- package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-javadoc.jar.sha512 +0 -1
- package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-sources.jar.md5 +0 -1
- package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-sources.jar.sha1 +0 -1
- package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-sources.jar.sha256 +0 -1
- package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-sources.jar.sha512 +0 -1
- package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.aar +0 -0
- package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.aar.md5 +0 -1
- package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.aar.sha1 +0 -1
- package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.aar.sha256 +0 -1
- package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.aar.sha512 +0 -1
- package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.pom.md5 +0 -1
- package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.pom.sha1 +0 -1
- package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.pom.sha256 +0 -1
- package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.pom.sha512 +0 -1
Binary file
|
package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0-javadoc.jar.md5
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
9bde09ebc6c2e1d48446c96c8c395bf0
|
package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0-javadoc.jar.sha1
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
6f4375b8d626c5e56010bb9079d2def1daf66206
|
@@ -0,0 +1 @@
|
|
1
|
+
5f2296afd84c0b9887d0f69d5ce484c193e2337f457156755dd5dbd1b18e1f2e
|
@@ -0,0 +1 @@
|
|
1
|
+
9d30f9d43a3483289b0d34cd1c7f052328167aaf404558cb174f3134561d5cfda3440439af1c58239447ab8b18f6386ac3e3e06acde12db9753993d45fadb254
|
Binary file
|
package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0-sources.jar.md5
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
215ed320f30e45f5ea71f65aa033306e
|
package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0-sources.jar.sha1
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
b39c10ee0d40e56d89210314cf5ddaf2d2aa96bb
|
@@ -0,0 +1 @@
|
|
1
|
+
83099d2c42349ecefa7540645d893fd1f57545a3d4a4176e64b6ea775cd1e624
|
@@ -0,0 +1 @@
|
|
1
|
+
ef17949935df0db02792f2b6c75ed22010258c48da606b417bd69e5ad41e9951810739c19f607f77ca245059573399e76310ac70fb5cfbcb1784be605fefb0d8
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
7a46662622c24f8677074374fd81b604
|
@@ -0,0 +1 @@
|
|
1
|
+
43bfd8fb25e7b0c24e0d1ed4b250f138b8f21537
|
package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0.aar.sha256
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0df8f8ebf03215da2f15fe8e6a093b65dd808d6870b69eabbb4ae8f680b18bdc
|
package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0.aar.sha512
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
e0721afc0568f85c754e4741cc58a885a77c8f6f485b9eda322290d906eae9707473016ca97ea6cef6583c9f98e82622dd13343d0fa5a7f9d77daf62f97791df
|
@@ -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.0.
|
6
|
+
<version>20.0.10-prerelease.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
|
+
332c4d3da54dd80f67e23eda984e156b
|
@@ -0,0 +1 @@
|
|
1
|
+
c67b0ded2e25005ab37a36e40f69f2c7ddac7afc
|
package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0.pom.sha256
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
f888b95186a4212d022b0288320cf4408d343bc0070522d91ebad8254f4fc20b
|
package/Detox-android/com/wix/detox/20.0.10-prerelease.0/detox-20.0.10-prerelease.0.pom.sha512
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
67a61376843dba1e684c928d6cab78c2682f7b20424cd75d06f67aae3a9a782ac3f9ca1208c68f5568067698fe7e909c236723a0a7ca11f67033d09292b55fe6
|
@@ -3,11 +3,11 @@
|
|
3
3
|
<groupId>com.wix</groupId>
|
4
4
|
<artifactId>detox</artifactId>
|
5
5
|
<versioning>
|
6
|
-
<latest>20.0.
|
7
|
-
<release>20.0.
|
6
|
+
<latest>20.0.10-prerelease.0</latest>
|
7
|
+
<release>20.0.10-prerelease.0</release>
|
8
8
|
<versions>
|
9
|
-
<version>20.0.
|
9
|
+
<version>20.0.10-prerelease.0</version>
|
10
10
|
</versions>
|
11
|
-
<lastUpdated>
|
11
|
+
<lastUpdated>20220915145552</lastUpdated>
|
12
12
|
</versioning>
|
13
13
|
</metadata>
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
1191a5f6183621bd8fee757b41eb2d43
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
0aff1596476fa2a5c51711508d7d9afdb1bb1464
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2f27894de27a5a63d47e2fce362ad81bb48dd9ea28c4ff01ede9f19158626db6
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2a3a2ba69037611029babb76220f61d51b9b586ea450b6604f7ce9ae7dddfee84712b308ec877f5a626daf4b5ba8c16aca10168017180b0266a7904577c6ac33
|
package/Detox-ios-src.tbz
CHANGED
Binary file
|
package/Detox-ios.tbz
CHANGED
Binary file
|
package/internals.d.ts
CHANGED
@@ -67,6 +67,17 @@ declare global {
|
|
67
67
|
readonly config: RuntimeConfig;
|
68
68
|
readonly log: Detox.Logger;
|
69
69
|
readonly session: SessionState;
|
70
|
+
readonly tracing: {
|
71
|
+
/**
|
72
|
+
* Creates a readable stream of the currently recorded events in Chrome Trace Event format.
|
73
|
+
*
|
74
|
+
* @see {@link https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU}
|
75
|
+
* @see {import('trace-event-lib').DurationBeginEvent}
|
76
|
+
* @see {import('trace-event-lib').DurationEndEvent}
|
77
|
+
* @see {import('trace-event-lib').InstantEvent}
|
78
|
+
*/
|
79
|
+
createEventStream(): NodeJS.ReadableStream;
|
80
|
+
};
|
70
81
|
|
71
82
|
readonly worker: Worker;
|
72
83
|
}
|
package/local-cli/build.js
CHANGED
@@ -65,7 +65,7 @@ module.exports.handler = async function build(argv) {
|
|
65
65
|
}
|
66
66
|
|
67
67
|
if (app.binaryPath && !fs.existsSync(app.binaryPath)) {
|
68
|
-
detox.log.warn('
|
68
|
+
detox.log.warn('After running the build command, Detox could not find your app at the given binary path:\n\t' + app.binaryPath + "\nMake sure it is correct, otherwise you'll get an error on an attempt to install your app.\n");
|
69
69
|
}
|
70
70
|
}
|
71
71
|
};
|
package/local-cli/init.js
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
const fs = require('fs');
|
2
2
|
const path = require('path');
|
3
|
+
const util = require('util');
|
3
4
|
|
4
5
|
const detox = require('../internals');
|
5
6
|
|
@@ -12,6 +13,7 @@ module.exports.desc = 'Scaffold initial E2E test folder structure for Detox';
|
|
12
13
|
module.exports.builder = {};
|
13
14
|
|
14
15
|
module.exports.handler = async function init() {
|
16
|
+
createDetoxConfig();
|
15
17
|
createJestFolderE2E();
|
16
18
|
process.exit(exitCode); // eslint-disable-line
|
17
19
|
};
|
@@ -51,44 +53,65 @@ function createFile(filename, content) {
|
|
51
53
|
|
52
54
|
function createJestFolderE2E() {
|
53
55
|
createFolder('e2e', {
|
54
|
-
'config.
|
56
|
+
'jest.config.js': jestTemplates.runnerConfig,
|
55
57
|
'starter.test.js': jestTemplates.starter,
|
56
58
|
});
|
59
|
+
}
|
57
60
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
...createDefaultConfigurations(),
|
66
|
-
}, null, 2));
|
61
|
+
function createDetoxConfig() {
|
62
|
+
createFile('.detoxrc.js',
|
63
|
+
'/** @type {Detox.DetoxConfig} */\n' +
|
64
|
+
'module.exports = ' +
|
65
|
+
util.inspect(createDefaultConfigurations(), { compact: false, depth: Infinity }) +
|
66
|
+
';\n'
|
67
|
+
);
|
67
68
|
}
|
68
69
|
|
70
|
+
/** @returns {Detox.DetoxConfig} */
|
69
71
|
function createDefaultConfigurations() {
|
70
72
|
return {
|
71
73
|
testRunner: {
|
72
74
|
args: {
|
73
75
|
$0: 'jest',
|
74
|
-
config: 'e2e/config.
|
76
|
+
config: 'e2e/jest.config.js',
|
77
|
+
},
|
78
|
+
jest: {
|
79
|
+
initTimeout: 120000,
|
75
80
|
},
|
76
81
|
},
|
77
82
|
apps: {
|
78
|
-
ios: {
|
83
|
+
'ios.debug': {
|
79
84
|
type: 'ios.app',
|
80
|
-
binaryPath: '
|
85
|
+
binaryPath: 'ios/build/Build/Products/Debug-iphonesimulator/YOUR_APP.app',
|
86
|
+
build: 'xcodebuild -workspace ios/YOUR_APP.xcworkspace -scheme YOUR_APP -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build',
|
87
|
+
},
|
88
|
+
'ios.release': {
|
89
|
+
type: 'ios.app',
|
90
|
+
binaryPath: 'ios/build/Build/Products/Release-iphonesimulator/YOUR_APP.app',
|
91
|
+
build: 'xcodebuild -workspace ios/YOUR_APP.xcworkspace -scheme YOUR_APP -configuration Release -sdk iphonesimulator -derivedDataPath ios/build',
|
92
|
+
},
|
93
|
+
'android.debug': {
|
94
|
+
type: 'android.apk',
|
95
|
+
binaryPath: 'android/app/build/outputs/apk/debug/app-debug.apk',
|
96
|
+
build: 'cd android ; ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug ; cd -',
|
81
97
|
},
|
82
|
-
android: {
|
98
|
+
'android.release': {
|
83
99
|
type: 'android.apk',
|
84
|
-
binaryPath: '
|
100
|
+
binaryPath: 'android/app/build/outputs/apk/release/app-release.apk',
|
101
|
+
build: 'cd android ; ./gradlew assembleRelease assembleAndroidTest -DtestBuildType=release ; cd -',
|
85
102
|
},
|
86
103
|
},
|
87
104
|
devices: {
|
88
105
|
simulator: {
|
89
106
|
type: 'ios.simulator',
|
90
107
|
device: {
|
91
|
-
type: 'iPhone
|
108
|
+
type: 'iPhone 12',
|
109
|
+
},
|
110
|
+
},
|
111
|
+
attached: {
|
112
|
+
type: 'android.attached',
|
113
|
+
device: {
|
114
|
+
adbName: '.*',
|
92
115
|
},
|
93
116
|
},
|
94
117
|
emulator: {
|
@@ -99,13 +122,29 @@ function createDefaultConfigurations() {
|
|
99
122
|
},
|
100
123
|
},
|
101
124
|
configurations: {
|
102
|
-
ios: {
|
125
|
+
'ios.sim.debug': {
|
126
|
+
device: 'simulator',
|
127
|
+
app: 'ios.debug',
|
128
|
+
},
|
129
|
+
'ios.sim.release': {
|
103
130
|
device: 'simulator',
|
104
|
-
app: 'ios',
|
131
|
+
app: 'ios.release',
|
132
|
+
},
|
133
|
+
'android.att.debug': {
|
134
|
+
device: 'attached',
|
135
|
+
app: 'android.debug',
|
136
|
+
},
|
137
|
+
'android.att.release': {
|
138
|
+
device: 'attached',
|
139
|
+
app: 'android.release',
|
140
|
+
},
|
141
|
+
'android.emu.debug': {
|
142
|
+
device: 'emulator',
|
143
|
+
app: 'android.debug',
|
105
144
|
},
|
106
|
-
android: {
|
145
|
+
'android.emu.release': {
|
107
146
|
device: 'emulator',
|
108
|
-
app: 'android',
|
147
|
+
app: 'android.release',
|
109
148
|
},
|
110
149
|
},
|
111
150
|
};
|
@@ -1,15 +1,16 @@
|
|
1
1
|
const firstTestContent = require('./firstTestContent');
|
2
2
|
|
3
|
-
const runnerConfig = `{
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
3
|
+
const runnerConfig = `module.exports = {
|
4
|
+
rootDir: '..',
|
5
|
+
testMatch: ['<rootDir>/e2e/**/*.test.js'],
|
6
|
+
testTimeout: 120000,
|
7
|
+
maxWorkers: 1,
|
8
|
+
globalSetup: 'detox/runners/jest/globalSetup',
|
9
|
+
globalTeardown: 'detox/runners/jest/globalTeardown',
|
10
|
+
reporters: ['detox/runners/jest/reporter'],
|
11
|
+
testEnvironment: 'detox/runners/jest/testEnvironment',
|
12
|
+
verbose: true,
|
13
|
+
};
|
13
14
|
`;
|
14
15
|
|
15
16
|
exports.starter = firstTestContent;
|
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.0.
|
4
|
+
"version": "20.0.10-prerelease.0",
|
5
5
|
"bin": {
|
6
6
|
"detox": "local-cli/cli.js"
|
7
7
|
},
|
@@ -184,5 +184,5 @@
|
|
184
184
|
}
|
185
185
|
}
|
186
186
|
},
|
187
|
-
"gitHead": "
|
187
|
+
"gitHead": "3116a188b0e4d57613dc2f7d26ca80292b74f192"
|
188
188
|
}
|
@@ -45,6 +45,8 @@ class DetoxCircusEnvironment extends NodeEnvironment {
|
|
45
45
|
};
|
46
46
|
/** @private */
|
47
47
|
this._shouldManageDetox = detox.getStatus() === 'inactive';
|
48
|
+
/** @private */
|
49
|
+
this._setupFailed = false;
|
48
50
|
/** @internal */
|
49
51
|
this.testPath = context.testPath;
|
50
52
|
/** @protected */
|
@@ -67,15 +69,20 @@ class DetoxCircusEnvironment extends NodeEnvironment {
|
|
67
69
|
|
68
70
|
/** @override */
|
69
71
|
async setup() {
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
72
|
+
try {
|
73
|
+
await super.setup();
|
74
|
+
await Timer.run({
|
75
|
+
description: `setting up Detox environment`,
|
76
|
+
timeout: this.initTimeout,
|
77
|
+
fn: async () => {
|
78
|
+
await this.initDetox();
|
79
|
+
this._instantiateListeners();
|
80
|
+
},
|
81
|
+
});
|
82
|
+
} catch (e) {
|
83
|
+
this._setupFailed = true;
|
84
|
+
throw e;
|
85
|
+
}
|
79
86
|
}
|
80
87
|
|
81
88
|
/** @override */
|
@@ -115,7 +122,15 @@ class DetoxCircusEnvironment extends NodeEnvironment {
|
|
115
122
|
await Timer.run({
|
116
123
|
description: `tearing down Detox environment`,
|
117
124
|
timeout: this.initTimeout,
|
118
|
-
fn: async () =>
|
125
|
+
fn: async () => {
|
126
|
+
try {
|
127
|
+
if (this._setupFailed) {
|
128
|
+
await detox.reportFailedTests([this.testPath], false);
|
129
|
+
}
|
130
|
+
} finally {
|
131
|
+
await this.cleanupDetox();
|
132
|
+
}
|
133
|
+
},
|
119
134
|
});
|
120
135
|
}
|
121
136
|
|
@@ -57,9 +57,11 @@ class DetoxLogger {
|
|
57
57
|
level: 'info',
|
58
58
|
overrideConsole: 'none',
|
59
59
|
options: {
|
60
|
-
showDate:
|
61
|
-
showLoggerName:
|
62
|
-
|
60
|
+
showDate: false,
|
61
|
+
showLoggerName: false,
|
62
|
+
showProcess: false,
|
63
|
+
showPid: false,
|
64
|
+
showLevel: false,
|
63
65
|
showPrefixes: false,
|
64
66
|
showMetadata: false,
|
65
67
|
},
|
@@ -2,13 +2,16 @@ const { PassThrough, Transform } = require('stream');
|
|
2
2
|
|
3
3
|
const bunyanDebugStream = require('bunyan-debug-stream');
|
4
4
|
const duplexify = require('duplexify');
|
5
|
+
const fs = require('fs-extra');
|
6
|
+
const glob = require('glob');
|
5
7
|
const multiSort = require('multi-sort-stream');
|
6
8
|
const pipe = require('multipipe');
|
7
9
|
const JsonlParser = require('stream-json/jsonl/Parser');
|
8
10
|
const stripAnsi = require('strip-ansi');
|
9
11
|
const { AbstractEventBuilder } = require('trace-event-lib');
|
10
12
|
|
11
|
-
const
|
13
|
+
const temporary = require('../../artifacts/utils/temporaryPath');
|
14
|
+
const log = require('../../utils/logger').child({ cat: 'logger' });
|
12
15
|
|
13
16
|
function compareTimestamps(a, b) {
|
14
17
|
return +(a.value.time > b.value.time) - +(a.value.time < b.value.time);
|
@@ -203,6 +206,29 @@ function readJSONL() {
|
|
203
206
|
return duplexify.obj(preventErrorSubscriptions(writable), writable.pipe(readable));
|
204
207
|
}
|
205
208
|
|
209
|
+
/**
|
210
|
+
* @param {string} sessionId
|
211
|
+
* @returns {NodeJS.ReadableStream}
|
212
|
+
*/
|
213
|
+
function uniteSessionLogs(sessionId) {
|
214
|
+
const readable = through();
|
215
|
+
|
216
|
+
glob(temporary.for.jsonl(`${sessionId}.*`), function (err, logs) {
|
217
|
+
if (err) {
|
218
|
+
return readable.emit('error', err);
|
219
|
+
}
|
220
|
+
|
221
|
+
if (logs.length === 0) {
|
222
|
+
return;
|
223
|
+
}
|
224
|
+
|
225
|
+
const jsonlStreams = logs.map(filePath => fs.createReadStream(filePath).pipe(readJSONL()));
|
226
|
+
mergeSortedJSONL(jsonlStreams).pipe(readable);
|
227
|
+
});
|
228
|
+
|
229
|
+
return readable;
|
230
|
+
}
|
231
|
+
|
206
232
|
module.exports = {
|
207
233
|
readJSONL,
|
208
234
|
writeJSON,
|
@@ -210,4 +236,5 @@ module.exports = {
|
|
210
236
|
mergeSortedJSONL,
|
211
237
|
debugStream,
|
212
238
|
chromeTraceStream,
|
239
|
+
uniteSessionLogs,
|
213
240
|
};
|
@@ -94,6 +94,14 @@ class DetoxContext {
|
|
94
94
|
[symbols.onRunFinish] = (...args) => this[symbols.worker].onRunFinish(...args);
|
95
95
|
[symbols.config] = funpermaproxy(() => this[symbols.session].detoxConfig);
|
96
96
|
[symbols.session] = funpermaproxy(() => this[$sessionState]);
|
97
|
+
[symbols.tracing] = Object.freeze({
|
98
|
+
createEventStream: () => {
|
99
|
+
const streamUtils = require('../logger/utils/streamUtils');
|
100
|
+
return streamUtils
|
101
|
+
.uniteSessionLogs(this[$sessionState].id)
|
102
|
+
.pipe(streamUtils.chromeTraceStream());
|
103
|
+
},
|
104
|
+
});
|
97
105
|
/** @abstract */
|
98
106
|
[symbols.reportFailedTests](_testFilePaths, _permanent) {}
|
99
107
|
/**
|
@@ -29,7 +29,7 @@ class DetoxInternalsFacade {
|
|
29
29
|
this.reportFailedTests = context[symbols.reportFailedTests];
|
30
30
|
this.resolveConfig = context[symbols.resolveConfig];
|
31
31
|
this.session = context[symbols.session];
|
32
|
-
this.
|
32
|
+
this.tracing = context[symbols.tracing];
|
33
33
|
this.worker = funpermaproxy(() => context[symbols.worker]);
|
34
34
|
}
|
35
35
|
}
|
@@ -232,17 +232,14 @@ class DetoxPrimaryContext extends DetoxContext {
|
|
232
232
|
}
|
233
233
|
|
234
234
|
if (this[_areLogsEnabled]()) {
|
235
|
-
const streamUtils = require('../utils/streamUtils');
|
235
|
+
const streamUtils = require('../logger/utils/streamUtils');
|
236
236
|
const { rootDir } = this[symbols.config].artifacts;
|
237
237
|
|
238
238
|
await fs.mkdirp(rootDir);
|
239
239
|
const [out1Stream, out2Stream, out3Stream] = ['detox.log.jsonl', 'detox.log', 'detox.trace.json']
|
240
240
|
.map((filename) => fs.createWriteStream(path.join(rootDir, filename)));
|
241
241
|
|
242
|
-
const mergedStream = streamUtils
|
243
|
-
.mergeSortedJSONL(
|
244
|
-
logs.map(filePath => fs.createReadStream(filePath).pipe(streamUtils.readJSONL()))
|
245
|
-
);
|
242
|
+
const mergedStream = streamUtils.uniteSessionLogs(sessionId);
|
246
243
|
|
247
244
|
await Promise.all([
|
248
245
|
pipe(mergedStream, streamUtils.writeJSONL(), out1Stream),
|
package/src/symbols.js
CHANGED
@@ -21,6 +21,7 @@
|
|
21
21
|
* readonly reportFailedTests: unique symbol;
|
22
22
|
* readonly resolveConfig: unique symbol;
|
23
23
|
* readonly session: unique symbol;
|
24
|
+
* readonly tracing: unique symbol;
|
24
25
|
* readonly uninstallWorker: unique symbol;
|
25
26
|
* readonly worker: unique symbol;
|
26
27
|
* }}
|
@@ -54,6 +55,7 @@ module.exports = {
|
|
54
55
|
logger: Symbol('logger'),
|
55
56
|
resolveConfig: Symbol('resolveConfig'),
|
56
57
|
session: Symbol('session'),
|
58
|
+
tracing: Symbol('tracing'),
|
57
59
|
uninstallWorker: Symbol('uninstallWorker'),
|
58
60
|
worker: Symbol('worker'),
|
59
61
|
//#endregion
|
package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-javadoc.jar.md5
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
fd8a1feca61c400f9120a5954c277c4c
|
package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-javadoc.jar.sha1
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
c822315686adf622857908c74ac136e1a053bf8f
|
package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-javadoc.jar.sha256
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
05c829e58cafe9ae9c7f186ecc23f105eb795180020e98cb9fcc6519e6a4c1c3
|
package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-javadoc.jar.sha512
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
ec9749320550216fc8e85faf96c3cae741b6c0db3a0d65053e8837131e2545a060c8aa836f212b2be53b1b6fd588cef55b4c4a51ca10eb5dbc5cc43f9752ab48
|
package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-sources.jar.md5
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
703a2d89ea5341a4b10b05b4480b6d95
|
package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-sources.jar.sha1
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
1d05d4bdb8a07e3dc2f4b8350f673d5cca5ea9fe
|
package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-sources.jar.sha256
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
b9d8c4f11d73bd0dd4e7536d4d160b2a71cd6464848a4079a656c9a1af4a5514
|
package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-sources.jar.sha512
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
6f78b1dd5b0ac9ee3e64744fda135e4fc637187fddbd85f625e2cf36d0c5ac7c8fd01f31155536f49fae1cfce75fe9ed2abb8c2e0522fbf278a433ee4292e1f1
|
Binary file
|
@@ -1 +0,0 @@
|
|
1
|
-
fdd88ee21e7da1b14bda4b49205eceec
|
@@ -1 +0,0 @@
|
|
1
|
-
c03bccd8a1a300d6859c75672e06c0aa49fb4965
|
package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.aar.sha256
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
251e1ca4bd82c503575e86cc6506d957e7fee327ecd19280a35f4761d11cf422
|
package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.aar.sha512
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
d51f289616a8d801d977b4ef996ec23139c65084e8f3f2a0d62603b712706caa6e6e7ee40949abb4d36c77064c3af6966851d2bd7601525c4d17092dbf4f55cc
|
@@ -1 +0,0 @@
|
|
1
|
-
9511a52e99b74eba29e508b05a893e99
|
@@ -1 +0,0 @@
|
|
1
|
-
27eace42fa75812951d39c03e36ed07797946718
|
package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.pom.sha256
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
93da305e085d1ab09802a1983f1f706b7171f701082f5a5161f2bd606b0fdc36
|
package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.pom.sha512
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
6a2bce2993c09e8c261339e10b6f2c9af48910789dc7b76233cf7b6090226746571edfae4b6c90e451fbc2d26a871720732c507ad1892f467be9db8a693267d3
|