blob: 2a002c1d82e75c680497fef8d5f21c2c236dcce8 (
plain)
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
|
# gemato: Test utility functions
# vim:fileencoding=utf-8
# (c) 2017 Michał Górny
# Licensed under the terms of 2-clause BSD license
import io
import logging
import os
import os.path
import sys
import tempfile
import unittest
class LoggingTestCase(unittest.TestCase):
def setUp(self):
if sys.hexversion < 0x03000000:
self.log = io.BytesIO()
else:
self.log = io.StringIO()
self.log_handler = logging.getLogger().addHandler(
logging.StreamHandler(self.log))
def tearDown(self):
# TODO: make some use of the log output?
logging.getLogger().removeHandler(self.log_handler)
class TempDirTestCase(LoggingTestCase):
DIRS = []
FILES = {}
def setUp(self):
super(TempDirTestCase, self).setUp()
self.dir = tempfile.mkdtemp()
for k in self.DIRS:
os.mkdir(os.path.join(self.dir, k))
for k, v in self.FILES.items():
with io.open(os.path.join(self.dir, k), 'w', encoding='utf8') as f:
f.write(v)
def tearDown(self):
for k in self.FILES:
os.unlink(os.path.join(self.dir, k))
for k in reversed(self.DIRS):
os.rmdir(os.path.join(self.dir, k))
os.rmdir(self.dir)
super(TempDirTestCase, self).tearDown()
|