Skip to content

Commit 6ba7e4d

Browse files
authored
CI: migrate to pytest and GitHub Actions (#197)
Signed-off-by: Inada Naoki <songofacandy@gmail.com>
1 parent a77feda commit 6ba7e4d

File tree

8 files changed

+82
-107
lines changed

8 files changed

+82
-107
lines changed

.github/workflows/test.yml

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Run test
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "pypy3.9", "pypy3.10"]
15+
steps:
16+
- uses: actions/checkout@v4
17+
- name: Set up Python
18+
uses: actions/setup-python@v5
19+
with:
20+
python-version: ${{ matrix.python-version }}
21+
cache: "pip"
22+
cache-dependency-path: requirements-dev.txt
23+
- name: Install dependencies
24+
run: python -m pip install -r requirements-dev.txt
25+
- name: Run tests
26+
run: pytest --cov=fluent

.travis.yml

-33
This file was deleted.

requirements-dev.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
pytest
2+
pytest-cov
3+
msgpack

tests/mockserver.py

-3
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,3 @@ def close(self):
9292
pass
9393

9494
self.join()
95-
96-
def __del__(self):
97-
self.close()

tests/test_asynchandler.py

+21-30
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@
2020
from tests import mockserver
2121

2222

23+
def get_logger(name, level=logging.INFO):
24+
logger = logging.getLogger(name)
25+
logger.setLevel(level)
26+
return logger
27+
28+
2329
class TestHandler(unittest.TestCase):
2430
def setUp(self):
2531
super(TestHandler, self).setUp()
@@ -40,8 +46,7 @@ def test_simple(self):
4046
handler = self.get_handler_class()('app.follow', port=self._port)
4147

4248
with handler:
43-
logging.basicConfig(level=logging.INFO)
44-
log = logging.getLogger('fluent.test')
49+
log = get_logger('fluent.test')
4550
handler.setFormatter(fluent.handler.FluentRecordFormatter())
4651
log.addHandler(handler)
4752
log.info({
@@ -63,8 +68,7 @@ def test_custom_fmt(self):
6368
handler = self.get_handler_class()('app.follow', port=self._port)
6469

6570
with handler:
66-
logging.basicConfig(level=logging.INFO)
67-
log = logging.getLogger('fluent.test')
71+
log = get_logger('fluent.test')
6872
handler.setFormatter(
6973
fluent.handler.FluentRecordFormatter(fmt={
7074
'name': '%(name)s',
@@ -86,8 +90,7 @@ def test_custom_fmt_with_format_style(self):
8690
handler = self.get_handler_class()('app.follow', port=self._port)
8791

8892
with handler:
89-
logging.basicConfig(level=logging.INFO)
90-
log = logging.getLogger('fluent.test')
93+
log = get_logger('fluent.test')
9194
handler.setFormatter(
9295
fluent.handler.FluentRecordFormatter(fmt={
9396
'name': '{name}',
@@ -109,8 +112,7 @@ def test_custom_fmt_with_template_style(self):
109112
handler = self.get_handler_class()('app.follow', port=self._port)
110113

111114
with handler:
112-
logging.basicConfig(level=logging.INFO)
113-
log = logging.getLogger('fluent.test')
115+
log = get_logger('fluent.test')
114116
handler.setFormatter(
115117
fluent.handler.FluentRecordFormatter(fmt={
116118
'name': '${name}',
@@ -131,8 +133,7 @@ def test_custom_field_raise_exception(self):
131133
handler = self.get_handler_class()('app.follow', port=self._port)
132134

133135
with handler:
134-
logging.basicConfig(level=logging.INFO)
135-
log = logging.getLogger('fluent.test')
136+
log = get_logger('fluent.test')
136137
handler.setFormatter(
137138
fluent.handler.FluentRecordFormatter(fmt={
138139
'name': '%(name)s',
@@ -147,8 +148,7 @@ def test_custom_field_raise_exception(self):
147148
def test_custom_field_fill_missing_fmt_key_is_true(self):
148149
handler = self.get_handler_class()('app.follow', port=self._port)
149150
with handler:
150-
logging.basicConfig(level=logging.INFO)
151-
log = logging.getLogger('fluent.test')
151+
log = get_logger('fluent.test')
152152
handler.setFormatter(
153153
fluent.handler.FluentRecordFormatter(fmt={
154154
'name': '%(name)s',
@@ -172,8 +172,7 @@ def test_json_encoded_message(self):
172172
handler = self.get_handler_class()('app.follow', port=self._port)
173173

174174
with handler:
175-
logging.basicConfig(level=logging.INFO)
176-
log = logging.getLogger('fluent.test')
175+
log = get_logger('fluent.test')
177176
handler.setFormatter(fluent.handler.FluentRecordFormatter())
178177
log.addHandler(handler)
179178
log.info('{"key": "hello world!", "param": "value"}')
@@ -186,8 +185,7 @@ def test_unstructured_message(self):
186185
handler = self.get_handler_class()('app.follow', port=self._port)
187186

188187
with handler:
189-
logging.basicConfig(level=logging.INFO)
190-
log = logging.getLogger('fluent.test')
188+
log = get_logger('fluent.test')
191189
handler.setFormatter(fluent.handler.FluentRecordFormatter())
192190
log.addHandler(handler)
193191
log.info('hello %s', 'world')
@@ -200,8 +198,7 @@ def test_unstructured_formatted_message(self):
200198
handler = self.get_handler_class()('app.follow', port=self._port)
201199

202200
with handler:
203-
logging.basicConfig(level=logging.INFO)
204-
log = logging.getLogger('fluent.test')
201+
log = get_logger('fluent.test')
205202
handler.setFormatter(fluent.handler.FluentRecordFormatter())
206203
log.addHandler(handler)
207204
log.info('hello world, %s', 'you!')
@@ -214,8 +211,7 @@ def test_number_string_simple_message(self):
214211
handler = self.get_handler_class()('app.follow', port=self._port)
215212

216213
with handler:
217-
logging.basicConfig(level=logging.INFO)
218-
log = logging.getLogger('fluent.test')
214+
log = get_logger('fluent.test')
219215
handler.setFormatter(fluent.handler.FluentRecordFormatter())
220216
log.addHandler(handler)
221217
log.info("1")
@@ -227,8 +223,7 @@ def test_non_string_simple_message(self):
227223
handler = self.get_handler_class()('app.follow', port=self._port)
228224

229225
with handler:
230-
logging.basicConfig(level=logging.INFO)
231-
log = logging.getLogger('fluent.test')
226+
log = get_logger('fluent.test')
232227
handler.setFormatter(fluent.handler.FluentRecordFormatter())
233228
log.addHandler(handler)
234229
log.info(42)
@@ -240,8 +235,7 @@ def test_non_string_dict_message(self):
240235
handler = self.get_handler_class()('app.follow', port=self._port)
241236

242237
with handler:
243-
logging.basicConfig(level=logging.INFO)
244-
log = logging.getLogger('fluent.test')
238+
log = get_logger('fluent.test')
245239
handler.setFormatter(fluent.handler.FluentRecordFormatter())
246240
log.addHandler(handler)
247241
log.info({42: 'root'})
@@ -254,8 +248,7 @@ def test_exception_message(self):
254248
handler = self.get_handler_class()('app.follow', port=self._port)
255249

256250
with handler:
257-
logging.basicConfig(level=logging.INFO)
258-
log = logging.getLogger('fluent.test')
251+
log = get_logger('fluent.test')
259252
handler.setFormatter(fluent.handler.FluentRecordFormatter())
260253
log.addHandler(handler)
261254
try:
@@ -297,8 +290,7 @@ def test_simple(self):
297290
self.assertEqual(handler.sender.queue_circular, True)
298291
self.assertEqual(handler.sender.queue_maxsize, self.Q_SIZE)
299292

300-
logging.basicConfig(level=logging.INFO)
301-
log = logging.getLogger('fluent.test')
293+
log = get_logger('fluent.test')
302294
handler.setFormatter(fluent.handler.FluentRecordFormatter())
303295
log.addHandler(handler)
304296
log.info({'cnt': 1, 'from': 'userA', 'to': 'userB'})
@@ -359,8 +351,7 @@ def custom_full_queue():
359351
self.assertEqual(handler.sender.queue_circular, True)
360352
self.assertEqual(handler.sender.queue_maxsize, self.Q_SIZE)
361353

362-
logging.basicConfig(level=logging.INFO)
363-
log = logging.getLogger('fluent.test')
354+
log = get_logger('fluent.test')
364355
handler.setFormatter(fluent.handler.FluentRecordFormatter())
365356
log.addHandler(handler)
366357

tests/test_event.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
from tests import mockserver
77

88

9-
class TestException(BaseException): pass
9+
class TestException(BaseException):
10+
__test__ = False # teach pytest this is not test class.
1011

1112

1213
class TestEvent(unittest.TestCase):
@@ -18,7 +19,7 @@ def tearDown(self):
1819
from fluent.sender import _set_global_sender
1920
sender.close()
2021
_set_global_sender(None)
21-
22+
2223
def test_logging(self):
2324
# XXX: This tests succeeds even if the fluentd connection failed
2425
# send event with tag app.follow

0 commit comments

Comments
 (0)