You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

test_logger.py 896 B

12345678910111213141516171819202122232425262728293031323334
  1. from fastNLP import logger
  2. import unittest
  3. from unittest.mock import patch
  4. import os
  5. import io
  6. import tempfile
  7. import shutil
  8. class TestLogger(unittest.TestCase):
  9. msg = 'some test logger msg'
  10. def setUp(self):
  11. self.tmpdir = tempfile.mkdtemp()
  12. def tearDown(self):
  13. pass
  14. # shutil.rmtree(self.tmpdir)
  15. def test_add_file(self):
  16. fn = os.path.join(self.tmpdir, 'log.txt')
  17. logger.add_file(fn)
  18. logger.info(self.msg)
  19. with open(fn, 'r') as f:
  20. line = ''.join([l for l in f])
  21. print(line)
  22. self.assertTrue(self.msg in line)
  23. @patch('sys.stdout', new_callable=io.StringIO)
  24. def test_stdout(self, mock_out):
  25. for i in range(3):
  26. logger.info(self.msg)
  27. logger.debug('aabbc')
  28. self.assertEqual([self.msg for i in range(3)], mock_out.getvalue().strip().split('\n'))