detox 20.0.8-prerelease.0 → 20.0.9-prerelease.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. package/Detox-android/com/wix/detox/{20.0.8-prerelease.0/detox-20.0.8-prerelease.0-javadoc.jar → 20.0.9-prerelease.0/detox-20.0.9-prerelease.0-javadoc.jar} +0 -0
  2. package/Detox-android/com/wix/detox/20.0.9-prerelease.0/detox-20.0.9-prerelease.0-javadoc.jar.md5 +1 -0
  3. package/Detox-android/com/wix/detox/20.0.9-prerelease.0/detox-20.0.9-prerelease.0-javadoc.jar.sha1 +1 -0
  4. package/Detox-android/com/wix/detox/20.0.9-prerelease.0/detox-20.0.9-prerelease.0-javadoc.jar.sha256 +1 -0
  5. package/Detox-android/com/wix/detox/20.0.9-prerelease.0/detox-20.0.9-prerelease.0-javadoc.jar.sha512 +1 -0
  6. package/Detox-android/com/wix/detox/{20.0.8-prerelease.0/detox-20.0.8-prerelease.0-sources.jar → 20.0.9-prerelease.0/detox-20.0.9-prerelease.0-sources.jar} +0 -0
  7. package/Detox-android/com/wix/detox/20.0.9-prerelease.0/detox-20.0.9-prerelease.0-sources.jar.md5 +1 -0
  8. package/Detox-android/com/wix/detox/20.0.9-prerelease.0/detox-20.0.9-prerelease.0-sources.jar.sha1 +1 -0
  9. package/Detox-android/com/wix/detox/20.0.9-prerelease.0/detox-20.0.9-prerelease.0-sources.jar.sha256 +1 -0
  10. package/Detox-android/com/wix/detox/20.0.9-prerelease.0/detox-20.0.9-prerelease.0-sources.jar.sha512 +1 -0
  11. package/Detox-android/com/wix/detox/20.0.9-prerelease.0/detox-20.0.9-prerelease.0.aar +0 -0
  12. package/Detox-android/com/wix/detox/20.0.9-prerelease.0/detox-20.0.9-prerelease.0.aar.md5 +1 -0
  13. package/Detox-android/com/wix/detox/20.0.9-prerelease.0/detox-20.0.9-prerelease.0.aar.sha1 +1 -0
  14. package/Detox-android/com/wix/detox/20.0.9-prerelease.0/detox-20.0.9-prerelease.0.aar.sha256 +1 -0
  15. package/Detox-android/com/wix/detox/20.0.9-prerelease.0/detox-20.0.9-prerelease.0.aar.sha512 +1 -0
  16. package/Detox-android/com/wix/detox/{20.0.8-prerelease.0/detox-20.0.8-prerelease.0.pom → 20.0.9-prerelease.0/detox-20.0.9-prerelease.0.pom} +1 -1
  17. package/Detox-android/com/wix/detox/20.0.9-prerelease.0/detox-20.0.9-prerelease.0.pom.md5 +1 -0
  18. package/Detox-android/com/wix/detox/20.0.9-prerelease.0/detox-20.0.9-prerelease.0.pom.sha1 +1 -0
  19. package/Detox-android/com/wix/detox/20.0.9-prerelease.0/detox-20.0.9-prerelease.0.pom.sha256 +1 -0
  20. package/Detox-android/com/wix/detox/20.0.9-prerelease.0/detox-20.0.9-prerelease.0.pom.sha512 +1 -0
  21. package/Detox-android/com/wix/detox/maven-metadata.xml +4 -4
  22. package/Detox-android/com/wix/detox/maven-metadata.xml.md5 +1 -1
  23. package/Detox-android/com/wix/detox/maven-metadata.xml.sha1 +1 -1
  24. package/Detox-android/com/wix/detox/maven-metadata.xml.sha256 +1 -1
  25. package/Detox-android/com/wix/detox/maven-metadata.xml.sha512 +1 -1
  26. package/Detox-ios-src.tbz +0 -0
  27. package/Detox-ios.tbz +0 -0
  28. package/android/detox/src/main/java/com/wix/detox/common/TextFileReader.kt +1 -1
  29. package/internals.d.ts +11 -0
  30. package/package.json +2 -2
  31. package/src/{utils → logger/utils}/streamUtils.js +28 -1
  32. package/src/realms/DetoxContext.js +8 -0
  33. package/src/realms/DetoxInternalsFacade.js +1 -1
  34. package/src/realms/DetoxPrimaryContext.js +2 -5
  35. package/src/symbols.js +2 -0
  36. package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-javadoc.jar.md5 +0 -1
  37. package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-javadoc.jar.sha1 +0 -1
  38. package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-javadoc.jar.sha256 +0 -1
  39. package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-javadoc.jar.sha512 +0 -1
  40. package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-sources.jar.md5 +0 -1
  41. package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-sources.jar.sha1 +0 -1
  42. package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-sources.jar.sha256 +0 -1
  43. package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0-sources.jar.sha512 +0 -1
  44. package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.aar +0 -0
  45. package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.aar.md5 +0 -1
  46. package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.aar.sha1 +0 -1
  47. package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.aar.sha256 +0 -1
  48. package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.aar.sha512 +0 -1
  49. package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.pom.md5 +0 -1
  50. package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.pom.sha1 +0 -1
  51. package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.pom.sha256 +0 -1
  52. package/Detox-android/com/wix/detox/20.0.8-prerelease.0/detox-20.0.8-prerelease.0.pom.sha512 +0 -1
@@ -0,0 +1 @@
1
+ 479a8a437141b197d5f9cbfbd03bd5936db53c90
@@ -0,0 +1 @@
1
+ d2faa54168f473cdd6a8722f3ec7c59712008702b1554274cc19305827cf7fe4
@@ -0,0 +1 @@
1
+ a2bcad3ee3323b9f83008b71bcba34bf26e46d8dd212a2713b194c6849cd466dddb4779bafad829a34243c0b1c2d8b6c266dfedd586bb1dfa859e081eccd0945
@@ -0,0 +1 @@
1
+ 0df7c293d7fae97a8babb9e837b77ad4fe6e3b10
@@ -0,0 +1 @@
1
+ 72d1d1c6c448733647d734e08cba3aa9c3aa8c3cf3c4f8d3d5991ef5862929d0
@@ -0,0 +1 @@
1
+ d3e516eab1667f4225ab6274560001a7276cf83c857050e6d3dd18659991295336cc537a4641b5e9df69f4d0a6e0587351b54f4324a5b543a24c886be7809151
@@ -0,0 +1 @@
1
+ 7a46662622c24f8677074374fd81b604
@@ -0,0 +1 @@
1
+ 43bfd8fb25e7b0c24e0d1ed4b250f138b8f21537
@@ -0,0 +1 @@
1
+ 0df8f8ebf03215da2f15fe8e6a093b65dd808d6870b69eabbb4ae8f680b18bdc
@@ -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.8-prerelease.0</version>
6
+ <version>20.0.9-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
+ 77932be77cbd2ba95da1a87343bf21b5
@@ -0,0 +1 @@
1
+ 5fc8d9a54e4caaa793e781e8399670e097f6720b
@@ -0,0 +1 @@
1
+ 799f03c9e88873767c88547cb753f1c222f47a4b7b3d9e1983cc7c46d3fc8c24
@@ -0,0 +1 @@
1
+ 9f39874f93ac8ddd1af9db2bb62fd17ff6b5af94d8e32c3474b029a604f53471d70247f46d496369262797e0ae230cd83d8d6d8fd91b72ec9b94689b9232a4f7
@@ -3,11 +3,11 @@
3
3
  <groupId>com.wix</groupId>
4
4
  <artifactId>detox</artifactId>
5
5
  <versioning>
6
- <latest>20.0.8-prerelease.0</latest>
7
- <release>20.0.8-prerelease.0</release>
6
+ <latest>20.0.9-prerelease.0</latest>
7
+ <release>20.0.9-prerelease.0</release>
8
8
  <versions>
9
- <version>20.0.8-prerelease.0</version>
9
+ <version>20.0.9-prerelease.0</version>
10
10
  </versions>
11
- <lastUpdated>20220907153612</lastUpdated>
11
+ <lastUpdated>20220908132030</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- e922bb0e5ca1b5b017338c3185a6ef89
1
+ a912933c6edc8a76b5b7fe0cf3bcfff5
@@ -1 +1 @@
1
- e4c6e03fcf50237cac24bda1c7a5d1bd5476b0fa
1
+ ad34a193510b0fdadf237b9cfc974ddbb723cc2a
@@ -1 +1 @@
1
- 282b526b0da3c6dd360a2379d3c2d6e176cf67f32564fdb11d64295582d29ac9
1
+ ce9234863e7d5b7481fea1ddebd7affac948f79e80fa95ba80ad48bed1783ce6
@@ -1 +1 @@
1
- 012dafdd2fbae8b112f7a8baccd7214cc3f716af5a54878f580d3ea40a4a571c268462b579a1f8033e1af185450bd696a626fb99143ae4c356f27593e7c89a32
1
+ 6d405dfa8baaef3382ef88476d38f42c43713091030713c2f66ee03e56726e34f57a23427a7f91fda0f95631bdc8506d4c04ed7db02fa5df48b03ead85920d20
package/Detox-ios-src.tbz CHANGED
Binary file
package/Detox-ios.tbz CHANGED
Binary file
@@ -3,5 +3,5 @@ package com.wix.detox.common
3
3
  import java.io.File
4
4
 
5
5
  internal class TextFileReader(private val fileName: String) {
6
- fun read() = File(fileName).inputStream().readBytes().toString(Charsets.UTF_8)
6
+ fun read() = File(fileName).readText(Charsets.UTF_8)
7
7
  }
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/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.8-prerelease.0",
4
+ "version": "20.0.9-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": "205099aa94b9c7c5e0fa47985e24255f8aee3b1b"
187
+ "gitHead": "4e8d6dc955949b36b173f272787ac2258bec34ff"
188
188
  }
@@ -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 log = require('./logger').child({ cat: 'logger' });
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.trace = context.trace;
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
@@ -1 +0,0 @@
1
- c822315686adf622857908c74ac136e1a053bf8f
@@ -1 +0,0 @@
1
- 05c829e58cafe9ae9c7f186ecc23f105eb795180020e98cb9fcc6519e6a4c1c3
@@ -1 +0,0 @@
1
- ec9749320550216fc8e85faf96c3cae741b6c0db3a0d65053e8837131e2545a060c8aa836f212b2be53b1b6fd588cef55b4c4a51ca10eb5dbc5cc43f9752ab48
@@ -1 +0,0 @@
1
- 1d05d4bdb8a07e3dc2f4b8350f673d5cca5ea9fe
@@ -1 +0,0 @@
1
- b9d8c4f11d73bd0dd4e7536d4d160b2a71cd6464848a4079a656c9a1af4a5514
@@ -1 +0,0 @@
1
- 6f78b1dd5b0ac9ee3e64744fda135e4fc637187fddbd85f625e2cf36d0c5ac7c8fd01f31155536f49fae1cfce75fe9ed2abb8c2e0522fbf278a433ee4292e1f1
@@ -1 +0,0 @@
1
- fdd88ee21e7da1b14bda4b49205eceec
@@ -1 +0,0 @@
1
- c03bccd8a1a300d6859c75672e06c0aa49fb4965
@@ -1 +0,0 @@
1
- 251e1ca4bd82c503575e86cc6506d957e7fee327ecd19280a35f4761d11cf422
@@ -1 +0,0 @@
1
- d51f289616a8d801d977b4ef996ec23139c65084e8f3f2a0d62603b712706caa6e6e7ee40949abb4d36c77064c3af6966851d2bd7601525c4d17092dbf4f55cc
@@ -1 +0,0 @@
1
- 9511a52e99b74eba29e508b05a893e99
@@ -1 +0,0 @@
1
- 27eace42fa75812951d39c03e36ed07797946718
@@ -1 +0,0 @@
1
- 93da305e085d1ab09802a1983f1f706b7171f701082f5a5161f2bd606b0fdc36
@@ -1 +0,0 @@
1
- 6a2bce2993c09e8c261339e10b6f2c9af48910789dc7b76233cf7b6090226746571edfae4b6c90e451fbc2d26a871720732c507ad1892f467be9db8a693267d3