UNPKG

1.26 kBJavaScriptView Raw
1'use strict'
2
3module.exports = {
4 getPageTimeout (job) {
5 if (job.pageTimeout || job.globalTimeout) {
6 if (job.globalTimeout) {
7 return Math.min(job.globalTimeout - (new Date() - job.start), job.pageTimeout || Number.MAX_SAFE_INTEGER)
8 }
9 return job.pageTimeout
10 }
11 return 0
12 },
13
14 globallyTimedOut (job) {
15 if (job.globalTimeout) {
16 return new Date() - job.start > job.globalTimeout
17 }
18 return false
19 },
20
21 pageTimedOut (job, url) {
22 const page = job.qunitPages && job.qunitPages[url]
23 if (page) {
24 const now = new Date()
25 page.end = now
26 page.timedOut = true
27 page.modules.forEach(module => {
28 module.tests.forEach(test => {
29 if (!test.report) {
30 ++page.failed
31 if (test.start && !test.end) {
32 test.end = now
33 }
34 test.logs ??= []
35 test.logs.push({
36 result: false,
37 message: 'Page timed out'
38 })
39 test.report = {
40 skipped: false,
41 todo: false,
42 failed: 1,
43 passed: 0,
44 total: 1
45 }
46 }
47 })
48 })
49 job.failed = true
50 job.timedOut = true
51 }
52 }
53}