ui5-test-runner 5.7.2 → 5.7.4
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/index.js +9 -2
- package/package.json +2 -2
- package/src/capabilities/index.js +4 -1
- package/src/clean.js +1 -1
- package/src/defaults/junit-xml-report.js +2 -2
- package/src/output.js +43 -3
package/index.js
CHANGED
|
@@ -85,7 +85,10 @@ async function main () {
|
|
|
85
85
|
output.debug('reserve', 'configuration', configuration)
|
|
86
86
|
const server = serve(configuration)
|
|
87
87
|
if (job.logServer) {
|
|
88
|
-
server
|
|
88
|
+
server
|
|
89
|
+
.on('incoming', output.logServerIncoming)
|
|
90
|
+
.on('redirected', output.logServerRedirected)
|
|
91
|
+
.on('closed', output.logServerClosed)
|
|
89
92
|
}
|
|
90
93
|
|
|
91
94
|
const { promise: serverStarted, resolve: serverReady, reject: serverError } = allocPromise()
|
|
@@ -148,7 +151,11 @@ async function main () {
|
|
|
148
151
|
await end(job)
|
|
149
152
|
}
|
|
150
153
|
output.stop()
|
|
151
|
-
await server.close()
|
|
154
|
+
await server.close({ close: true })
|
|
155
|
+
await new Promise(resolve => setTimeout(resolve, 100)) // wait for server handles to be released
|
|
156
|
+
if (job.logServer) {
|
|
157
|
+
output.logServerSummary()
|
|
158
|
+
}
|
|
152
159
|
if (startedCommand) {
|
|
153
160
|
await startedCommand.stop()
|
|
154
161
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ui5-test-runner",
|
|
3
|
-
"version": "5.7.
|
|
3
|
+
"version": "5.7.4",
|
|
4
4
|
"description": "Standalone test runner for UI5",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"ps-tree": "^1.2.0",
|
|
50
50
|
"punybind": "^1.2.1",
|
|
51
51
|
"punyexpr": "1.1.1",
|
|
52
|
-
"reserve": "2.
|
|
52
|
+
"reserve": "2.3.1"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@openui5/types": "^1.136.0",
|
|
@@ -81,7 +81,10 @@ async function capabilities (job) {
|
|
|
81
81
|
})
|
|
82
82
|
const server = serve(configuration)
|
|
83
83
|
if (job.logServer) {
|
|
84
|
-
server
|
|
84
|
+
server
|
|
85
|
+
.on('incoming', output.logServerIncoming)
|
|
86
|
+
.on('redirected', output.logServerRedirected)
|
|
87
|
+
.on('closed', output.logServerClosed)
|
|
85
88
|
}
|
|
86
89
|
server.on('error', (error) => {
|
|
87
90
|
output.error('REserve error:', error)
|
package/src/clean.js
CHANGED
|
@@ -16,7 +16,7 @@ module.exports = {
|
|
|
16
16
|
let info
|
|
17
17
|
if (handle._httpMessage) {
|
|
18
18
|
const { path, method, host, protocol } = handle._httpMessage
|
|
19
|
-
info = `${method} ${protocol}
|
|
19
|
+
info = `${method} ${protocol}//${host}${path}`
|
|
20
20
|
} else {
|
|
21
21
|
const { localAddress, localPort, remoteAddress, remotePort } = handle
|
|
22
22
|
info = `from ${localAddress}:${localPort} to ${remoteAddress}:${remotePort}`
|
|
@@ -24,9 +24,9 @@ async function main () {
|
|
|
24
24
|
const job = require(join(reportDir, 'job.js'))
|
|
25
25
|
o('<?xml version="1.0" encoding="UTF-8"?>')
|
|
26
26
|
o('<testsuites>')
|
|
27
|
-
const urls = Object.keys(job.qunitPages)
|
|
27
|
+
const urls = Object.keys(job.qunitPages || {})
|
|
28
28
|
for (const url of urls) {
|
|
29
|
-
const qunitPage = job.qunitPages[url]
|
|
29
|
+
const qunitPage = job.qunitPages[url] || { modules: [] }
|
|
30
30
|
for (const module of qunitPage.modules) {
|
|
31
31
|
o(` <testsuite
|
|
32
32
|
name="${xmlEscape(url)}"
|
package/src/output.js
CHANGED
|
@@ -15,6 +15,10 @@ const interactive = process.stdout.columns !== undefined && !inJest
|
|
|
15
15
|
const $output = Symbol('output')
|
|
16
16
|
const $outputStart = Symbol('output-start')
|
|
17
17
|
const $outputProgress = Symbol('output-progress')
|
|
18
|
+
const $logServerIncomingCount = Symbol('log-server-incoming')
|
|
19
|
+
const $logServerRedirectedCount = Symbol('log-server-redirected')
|
|
20
|
+
const $logServerClosedCount = Symbol('log-server-closed')
|
|
21
|
+
const $logServerRequests = Symbol('log-server-requests')
|
|
18
22
|
|
|
19
23
|
if (!interactive) {
|
|
20
24
|
const UTF8_BOM_CODE = '\ufeff'
|
|
@@ -295,8 +299,18 @@ function build (job) {
|
|
|
295
299
|
}
|
|
296
300
|
},
|
|
297
301
|
|
|
298
|
-
|
|
299
|
-
if (url.startsWith('/_/
|
|
302
|
+
logServerIncoming: wrap(({ id, method, url }) => {
|
|
303
|
+
if (url.startsWith('/_/')) {
|
|
304
|
+
return // avoids pollution
|
|
305
|
+
}
|
|
306
|
+
job[$logServerIncomingCount] = (job[$logServerIncomingCount] || 0) + 1
|
|
307
|
+
job[$logServerRequests] ??= {}
|
|
308
|
+
job[$logServerRequests][id] = { method, url }
|
|
309
|
+
log(job, p80()`🛜 INC ${id.toString(36).toUpperCase().padStart(4, ' ')} ${method.padEnd(7, ' ')} ${pad.lt(url)}`)
|
|
310
|
+
}),
|
|
311
|
+
|
|
312
|
+
logServerRedirected: wrap(({ id, method, url, statusCode, timeSpent }) => {
|
|
313
|
+
if (url.startsWith('/_/')) {
|
|
300
314
|
return // avoids pollution
|
|
301
315
|
}
|
|
302
316
|
let statusText
|
|
@@ -305,7 +319,33 @@ function build (job) {
|
|
|
305
319
|
} else {
|
|
306
320
|
statusText = statusCode
|
|
307
321
|
}
|
|
308
|
-
|
|
322
|
+
job[$logServerRedirectedCount] = (job[$logServerRedirectedCount] || 0) + 1
|
|
323
|
+
const request = job[$logServerRequests][id]
|
|
324
|
+
request.redirected = true
|
|
325
|
+
if (request.closed) {
|
|
326
|
+
delete job[$logServerRequests][id]
|
|
327
|
+
}
|
|
328
|
+
log(job, p80()`🛜 SRV ${id.toString(36).toUpperCase().padStart(4, ' ')} ${method.padEnd(7, ' ')} ${pad.lt(url)} ${statusText} ${timeSpent.toString().padStart(4, ' ')}ms`)
|
|
329
|
+
}),
|
|
330
|
+
|
|
331
|
+
logServerClosed: wrap(({ id, method, url }) => {
|
|
332
|
+
if (url.startsWith('/_/')) {
|
|
333
|
+
return // avoids pollution
|
|
334
|
+
}
|
|
335
|
+
job[$logServerClosedCount] = (job[$logServerClosedCount] || 0) + 1
|
|
336
|
+
const request = job[$logServerRequests][id]
|
|
337
|
+
request.closed = true
|
|
338
|
+
if (request.redirected) {
|
|
339
|
+
delete job[$logServerRequests][id]
|
|
340
|
+
}
|
|
341
|
+
log(job, p80()`🛜 CLS ${id.toString(36).toUpperCase().padStart(4, ' ')} ${method.padEnd(7, ' ')} ${pad.lt(url)}`)
|
|
342
|
+
}),
|
|
343
|
+
|
|
344
|
+
logServerSummary: wrap(() => {
|
|
345
|
+
log(job, p80()`🛜 requests: ${job[$logServerIncomingCount] || 0} incoming, ${job[$logServerRedirectedCount] || 0} redirected, ${job[$logServerClosedCount] || 0} closed.`)
|
|
346
|
+
if (job[$logServerRequests] && Object.keys(job[$logServerRequests]).length) {
|
|
347
|
+
log(job, job[$logServerRequests])
|
|
348
|
+
}
|
|
309
349
|
}),
|
|
310
350
|
|
|
311
351
|
status (status) {
|