File: 0004-Extend-timeout-limit.patch

package info (click to toggle)
calibre 6.13.0%2Brepack-2%2Bdeb12u5
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-proposed-updates
  • size: 1,147,768 kB
  • sloc: python: 461,364; ansic: 80,698; cpp: 18,081; javascript: 2,855; xml: 1,297; sh: 892; sql: 683; objc: 544; makefile: 71; perl: 66; sed: 6
file content (134 lines) | stat: -rw-r--r-- 6,361 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
From: YOKOTA Hiroshi <yokota.hgml@gmail.com>
Date: Fri, 17 Apr 2020 20:10:46 +0900
Subject: Extend timeout limit

Forwarded: not-needed

Some non-x86 architecture is much slower than x86.
Add some more time to wait test results.
---
 src/calibre/srv/tests/base.py |  2 +-
 src/calibre/srv/tests/http.py | 16 ++++++++--------
 src/calibre/srv/tests/loop.py |  6 +++---
 src/calibre/test_build.py     |  2 +-
 4 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/src/calibre/srv/tests/base.py b/src/calibre/srv/tests/base.py
index cf2ce9c..b077747 100644
--- a/src/calibre/srv/tests/base.py
+++ b/src/calibre/srv/tests/base.py
@@ -118,7 +118,7 @@ class TestServer(Thread):
         self.log = self.loop.log
 
     def setup_defaults(self, kwargs):
-        kwargs['shutdown_timeout'] = kwargs.get('shutdown_timeout', 0.1)
+        kwargs['shutdown_timeout'] = kwargs.get('shutdown_timeout', 10)
         kwargs['listen_on'] = kwargs.get('listen_on', 'localhost')
         kwargs['port'] = kwargs.get('port', 0)
         kwargs['userdb'] = kwargs.get('userdb', ':memory:')
diff --git a/src/calibre/srv/tests/http.py b/src/calibre/srv/tests/http.py
index 5f217d5..0e39f9f 100644
--- a/src/calibre/srv/tests/http.py
+++ b/src/calibre/srv/tests/http.py
@@ -100,7 +100,7 @@ class TestHTTP(BaseTest):
         def handler(data):
             return data.lang_code + data._('Unknown')
 
-        with TestServer(handler, timeout=1) as server:
+        with TestServer(handler, timeout=100) as server:
             conn = server.connect()
 
             def test(al, q):
@@ -159,7 +159,7 @@ class TestHTTP(BaseTest):
             conn._HTTPConnection__state = http_client._CS_REQ_SENT
             return conn.getresponse()
 
-        base_timeout = 0.5 if is_ci else 0.1
+        base_timeout = 50 if is_ci else 10
 
         with TestServer(handler, timeout=base_timeout, max_header_line_size=100./1024, max_request_body_size=100./(1024*1024)) as server:
             conn = server.connect()
@@ -285,7 +285,7 @@ class TestHTTP(BaseTest):
             conn = server.connect()
 
             # Test closing
-            server.loop.opts.timeout = 10  # ensure socket is not closed because of timeout
+            server.loop.opts.timeout = 1000  # ensure socket is not closed because of timeout
             conn.request('GET', '/close', headers={'Connection':'close'})
             r = conn.getresponse()
             self.ae(r.status, 200), self.ae(r.read(), b'close')
@@ -298,8 +298,8 @@ class TestHTTP(BaseTest):
             self.assertIsNone(conn.sock)
 
             # Test timeout
-            server.loop.opts.timeout = 0.1
-            conn = server.connect(timeout=1)
+            server.loop.opts.timeout = 10
+            conn = server.connect(timeout=100)
             conn.request('GET', '/something')
             r = conn.getresponse()
             self.ae(r.status, 200), self.ae(r.read(), b'something')
@@ -313,7 +313,7 @@ class TestHTTP(BaseTest):
         def handler(conn):
             return conn.generate_static_output('test', lambda : ''.join(conn.path))
         with NamedTemporaryFile(suffix='test.epub') as f, open(P('localization/locales.zip'), 'rb') as lf, \
-                TestServer(handler, timeout=1, compress_min_size=0) as server:
+                TestServer(handler, timeout=100, compress_min_size=0) as server:
             fdata = (string.ascii_letters * 100).encode('ascii')
             f.write(fdata), f.seek(0)
 
@@ -414,7 +414,7 @@ class TestHTTP(BaseTest):
                 lf.seek(0)
                 data =  lf.read()
                 server.change_handler(lambda conn: lf)
-                conn = server.connect(timeout=1)
+                conn = server.connect(timeout=100)
                 conn.request('GET', '/test')
                 r = conn.getresponse()
                 self.ae(r.status, http_client.OK)
@@ -423,7 +423,7 @@ class TestHTTP(BaseTest):
                 self.ae(hashlib.sha1(data).hexdigest(), hashlib.sha1(rdata).hexdigest())
                 self.ae(data, rdata)
                 time_taken = monotonic() - start_time
-                self.assertLess(time_taken, 1, 'Large file transfer took too long')
+                self.assertLess(time_taken, 100, 'Large file transfer took too long')
 
     # }}}
 
diff --git a/src/calibre/srv/tests/loop.py b/src/calibre/srv/tests/loop.py
index 13870ce..8c1507b 100644
--- a/src/calibre/srv/tests/loop.py
+++ b/src/calibre/srv/tests/loop.py
@@ -80,7 +80,7 @@ class LoopTest(BaseTest):
         self.ae(0, sum(int(w.is_alive()) for w in server.loop.pool.workers))
         # Test shutdown with hung worker
         block = Event()
-        with TestServer(lambda data:block.wait(), worker_count=3, shutdown_timeout=0.1, timeout=0.1) as server:
+        with TestServer(lambda data:block.wait(), worker_count=3, shutdown_timeout=10, timeout=10) as server:
             pool = server.loop.pool
             self.ae(3, sum(int(w.is_alive()) for w in pool.workers))
             conn = server.connect()
@@ -109,8 +109,8 @@ class LoopTest(BaseTest):
         from calibre.srv.bonjour import BonJour
         from zeroconf import Zeroconf
         b = BonJour(wait_for_stop=False)
-        with TestServer(lambda data:(data.path[0] + data.read()), plugins=(b,), shutdown_timeout=5) as server:
-            self.assertTrue(b.started.wait(5), 'BonJour not started')
+        with TestServer(lambda data:(data.path[0] + data.read()), plugins=(b,), shutdown_timeout=500) as server:
+            self.assertTrue(b.started.wait(50), 'BonJour not started')
             self.ae(b.advertised_port, server.address[1])
             service = b.services[0]
             self.ae(service.type, '_calibre._tcp.local.')
diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py
index c30a544..e8853fa 100644
--- a/src/calibre/test_build.py
+++ b/src/calibre/test_build.py
@@ -370,7 +370,7 @@ class BuildTest(unittest.TestCase):
 
             p.titleChanged.connect(do_webengine_test)
             p.runJavaScript(f'document.title = "test-run-{os.getpid()}";')
-            timeout = 10
+            timeout = 1000
             QTimer.singleShot(timeout * 1000, lambda: QApplication.instance().quit())
             QApplication.instance().exec()
             self.assertTrue(hasattr(callback, 'result'), f'Qt WebEngine failed to run in {timeout} seconds')