Skip to content

Commit d7d1ded

Browse files
committed
Merge branch 'master' into speedup_initdb
2 parents b44e68f + 3421591 commit d7d1ded

File tree

5 files changed

+55
-2
lines changed

5 files changed

+55
-2
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
*.pyc
2-
dist
2+
dist
3+
tags

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,4 @@ Please see `testgres/tests` directory for replication configuration example.
9393

9494
Ildar Musin <i.musin(at)postgrespro.ru> Postgres Professional Ltd., Russia
9595
Dmitry Ivanov <d.ivanov(at)postgrespro.ru> Postgres Professional Ltd., Russia
96+
Ildus Kurbangaliev <i.kurbangaliev(at)postgrespro.ru> Postgres Professional Ltd., Russia

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
setup(
33
name='testgres',
44
packages=['testgres'],
5-
version='0.2.0',
5+
version='0.3.0',
66
description='Testing utility for postgresql and its extensions',
77
license='PostgreSQL',
88
author='Ildar Musin',

testgres/testgres.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,9 @@ def stop(self, params={}):
476476
_params.update(params)
477477
self.pg_ctl("stop", _params)
478478

479+
if self.logger:
480+
self.logger.stop()
481+
479482
self.working = False
480483

481484
return self

testgres/tests/test_simple.py

100644100755
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1+
#!/usr/bin/env python
2+
13
import unittest
4+
import re
25
import six
6+
import tempfile
7+
import logging.config
38

49
from testgres import get_new_node, stop_all
510

@@ -78,6 +83,49 @@ def test_users(self):
7883
self.assertEqual(value, six.b('1\n'))
7984
node.stop()
8085

86+
def test_logging(self):
87+
regex = re.compile('\w+:\s{1}LOG:.*')
88+
logfile = tempfile.NamedTemporaryFile('w', delete=True)
89+
90+
log_conf = {
91+
'version': 1,
92+
'handlers': {
93+
'file': {
94+
'class': 'logging.FileHandler',
95+
'filename': logfile.name,
96+
'formatter': 'base_format',
97+
'level': logging.DEBUG,
98+
},
99+
},
100+
'formatters': {
101+
'base_format': {
102+
'format': '%(node)-5s: %(message)s',
103+
},
104+
},
105+
'root': {
106+
'handlers': ('file', ),
107+
'level': 'DEBUG',
108+
},
109+
}
110+
111+
logging.config.dictConfig(log_conf)
112+
113+
node = get_new_node('master', use_logging=True)
114+
node1 = get_new_node('slave1', use_logging=True)
115+
node2 = get_new_node('slave2', use_logging=True)
116+
117+
node.init().start()
118+
node1.init().start()
119+
node2.init().start()
120+
121+
with open(logfile.name, 'r') as log:
122+
for line in log:
123+
self.assertTrue(regex.match(line))
124+
125+
node.stop()
126+
node1.stop()
127+
node2.stop()
128+
81129

82130
if __name__ == '__main__':
83131
unittest.main()

0 commit comments

Comments
 (0)