Skip to content

Commit 984e1fe

Browse files
committed
refine tests
- mysqlutil: build docker image by utdocker.py - cgrouparch: ignore blkio test in travis - fsutil/test/test_iostat.py: more tolerance - cacheable: adjust waiting time for slow machine. - logutil: use test dir as log dir instead of `/tmp`. - priorityqueue: adjust time for slow machine. - utfjson: load other module from pykit instead of `..`: `python -m unittest pykit` does issue: it strip top level module.
1 parent ff8b632 commit 984e1fe

File tree

10 files changed

+55
-28
lines changed

10 files changed

+55
-28
lines changed

cacheable/test/test_cacheable.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ def test_cache_item_timeout_and_cache_again(self):
176176

177177
cases = (
178178
(2, False),
179-
(3, True),
179+
(4, True),
180180
)
181181

182182
tm = get_cache_data('key')['tm']

cgrouparch/test/test_blkio.py

100644100755
+4
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ def worker(self, index, duration, result_dict):
5757
return
5858

5959
def test_blkio_weight(self):
60+
61+
if ututil.has_env('TRAVIS=true'):
62+
return
63+
6064
manager = multiprocessing.Manager()
6165
result_dict = manager.dict()
6266

fsutil/test/test_iostat.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ def _write(i):
103103
th1 = threadutil.start_daemon(_write, args=(1, ))
104104
th2 = threadutil.start_daemon(_write, args=(2, ))
105105

106-
time.sleep(2)
106+
time.sleep(5)
107107
force_remove('/tmp/pykit-iostat')
108108

109109
with ututil.Timer() as t:

logutil/test/test_logutil.py

+19-17
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
logger = logging.getLogger(__name__)
1111

12+
this_base = os.path.dirname(__file__)
13+
1214

1315
def subproc(script, cwd=None):
1416

@@ -49,7 +51,7 @@ class TestFileHandler(unittest.TestCase):
4951

5052
def test_concurrent_write_and_remove(self):
5153

52-
l = logutil.make_logger(base_dir='/tmp',
54+
l = logutil.make_logger(base_dir=this_base,
5355
log_name='rolling',
5456
log_fn='rolling.out',
5557
level=logging.DEBUG,
@@ -60,7 +62,7 @@ def test_concurrent_write_and_remove(self):
6062

6163
def _remove():
6264
while sess['running']:
63-
rm_file('/tmp/rolling.out')
65+
rm_file(this_base + '/rolling.out')
6466

6567
th = threading.Thread(target=_remove)
6668
th.daemon = True
@@ -77,10 +79,10 @@ class TestLogutil(unittest.TestCase):
7779

7880
def setUp(self):
7981

80-
rm_file('/tmp/t.out')
82+
rm_file(this_base + '/t.out')
8183

8284
# root logger
83-
logutil.make_logger(base_dir='/tmp',
85+
logutil.make_logger(base_dir=this_base,
8486
log_fn='t.out',
8587
level=logging.DEBUG,
8688
fmt='message')
@@ -111,7 +113,7 @@ def test_deprecate(self):
111113
fmt = '{fn}::{ln} in {func}\n {statement}'
112114
logutil.deprecate('foo', fmt=fmt, sep='\n')
113115

114-
cont = read_file('/tmp/t.out')
116+
cont = read_file(this_base + '/t.out')
115117

116118
self.assertRegexpMatches(
117119
cont,
@@ -183,9 +185,9 @@ def test_get_fmt(self):
183185

184186
def test_make_logger(self):
185187

186-
rm_file('/tmp/tt')
188+
rm_file(this_base + '/tt')
187189

188-
l = logutil.make_logger(base_dir='/tmp',
190+
l = logutil.make_logger(base_dir=this_base,
189191
log_name='m',
190192
log_fn='tt',
191193
level='INFO',
@@ -196,7 +198,7 @@ def test_make_logger(self):
196198
l.debug('debug')
197199
l.info('info')
198200

199-
cont = read_file('/tmp/tt').strip()
201+
cont = read_file(this_base + '/tt').strip()
200202

201203
self.assertEqual(cont, 'info')
202204

@@ -213,17 +215,17 @@ def test_make_formatter(self):
213215

214216
def test_make_file_handler(self):
215217

216-
rm_file('/tmp/handler_change')
218+
rm_file(this_base + '/handler_change')
217219

218-
l = logutil.make_logger(base_dir='/tmp',
220+
l = logutil.make_logger(base_dir=this_base,
219221
log_name='h',
220222
log_fn='dd',
221223
level='INFO',
222224
fmt='%(message)s',
223225
datefmt='%H%M%S'
224226
)
225227
l.handlers = []
226-
handler = logutil.make_file_handler(base_dir='/tmp',
228+
handler = logutil.make_file_handler(base_dir=this_base,
227229
log_fn='handler_change',
228230
fmt='%(message)s',
229231
datefmt='%H%M%S')
@@ -232,7 +234,7 @@ def test_make_file_handler(self):
232234
l.debug('debug')
233235
l.info('info')
234236

235-
cont = read_file('/tmp/handler_change').strip()
237+
cont = read_file(this_base + '/handler_change').strip()
236238

237239
self.assertEqual(cont, 'info')
238240

@@ -244,7 +246,7 @@ def test_make_file_handler_with_config(self):
244246
self.assertEqual(out.strip(), 'info')
245247

246248
def test_add_std_handler(self):
247-
rm_file('/tmp/stdlog')
249+
rm_file(this_base + '/stdlog')
248250

249251
code, out, err = subproc(
250252
'python stdlog.py', cwd=os.path.dirname(__file__))
@@ -262,16 +264,16 @@ def test_set_logger_level(self):
262264
)
263265

264266
for inp, expected in cases:
265-
rm_file('/tmp/ss')
267+
rm_file(this_base + '/ss')
266268

267-
logger1 = logutil.make_logger(base_dir='/tmp',
269+
logger1 = logutil.make_logger(base_dir=this_base,
268270
log_name='1_prefix_1',
269271
log_fn='ss',
270272
level='DEBUG',
271273
fmt='%(message)s',
272274
datefmt='%H%M%S')
273275

274-
logger2 = logutil.make_logger(base_dir='/tmp',
276+
logger2 = logutil.make_logger(base_dir=this_base,
275277
log_name='2_prefix_1',
276278
log_fn='ss',
277279
level='DEBUG',
@@ -285,6 +287,6 @@ def test_set_logger_level(self):
285287
logger1.debug('debug1')
286288
logger2.debug('debug2')
287289

288-
content = read_file('/tmp/ss')
290+
content = read_file(this_base + '/ss')
289291

290292
self.assertEqual(expected, content.strip())

mysqlutil/test/test_mysqlutil.py

+1-7
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,8 @@ def setUpClass(cls):
3333

3434
docker_file_dir = os.path.abspath(os.path.dirname(__file__)) + '/dep'
3535

36-
dd('build: ' + docker_file_dir)
36+
utdocker.build_image(mysql_test_tag, docker_file_dir)
3737

38-
dcli = utdocker.get_client()
39-
for line in dcli.build(path=docker_file_dir,
40-
nocache=True,
41-
tag=mysql_test_tag):
42-
43-
dd('build ' + mysql_test_tag + ':', line)
4438

4539
def setUp(self):
4640

priorityqueue/test/test_priorityqueue.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ def worker():
192192
us_per_call = t.spent() / ntimes / n_thread * 1000 * 1000
193193
dd(us_per_call, 'us/call')
194194

195-
self.assertLess(us_per_call, 50)
195+
self.assertLess(us_per_call, 100)
196196

197197
def test_concurrent(self):
198198
pq = priorityqueue.PriorityQueue()

utdocker.py

+19
Original file line numberDiff line numberDiff line change
@@ -133,3 +133,22 @@ def pull_image(image):
133133
# 'daocloud.io/zookeeper:3.4.10' --> ('daocloud.io/zookeeper', '3.4.10')
134134
rst = dcli.pull(*image.split(':'))
135135
dd(rst)
136+
137+
138+
def build_image(image, path):
139+
140+
dcli = get_client()
141+
142+
rst = dcli.images(image)
143+
if len(rst) > 0:
144+
dd(image + ' is ready')
145+
dd(rst)
146+
return
147+
148+
dd('build: ' + image + ' from ' + path)
149+
150+
for line in dcli.build(path=path,
151+
nocache=True,
152+
tag=image):
153+
154+
dd('build ' + image + ':', line)

utfjson/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
load,
44
)
55

6-
from ..p3json import (
6+
from pykit.p3json import (
77
JSONDecodeError,
88
)
99

ututil.py

+7
Original file line numberDiff line numberDiff line change
@@ -205,3 +205,10 @@ def wait_listening(ip, port, timeout=15, interval=0.5):
205205
time.sleep(.4)
206206
else:
207207
raise
208+
209+
def has_env(kv):
210+
211+
# kv: KEY=value
212+
213+
k, v = kv.split('=', 1)
214+
return os.environ.get(k) == v

wsjobd/test/test_wsjobd.py

+1
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ def test_progress_key(self):
132132
self.ws.send(utfjson.dump(job_desc))
133133

134134
resp = self.ws.recv()
135+
dd(resp)
135136
resp = utfjson.load(resp)
136137
self.assertEqual('80%', resp)
137138

0 commit comments

Comments
 (0)