uploader.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. # -*- coding: utf-8 -*-
  2. # Copyright (C) 2015-2016 Peter Magnusson <peter@birchroad.net>
  3. #pylint: disable=C0111,R0904
  4. import unittest
  5. import os, time
  6. from nodemcu_uploader import Uploader
  7. from serial import VERSION as serialversion
  8. from distutils.version import LooseVersion
  9. LOOPPORT = 'loop://'
  10. #on which port should the tests be performed
  11. SERIALPORT = os.environ.get('SERIALPORT', LOOPPORT)
  12. def is_real():
  13. if SERIALPORT.strip() == '':
  14. return False
  15. return str(SERIALPORT) != str(LOOPPORT)
  16. # @unittest.skipUnless(LooseVersion(serialversion) >= LooseVersion('3.0.0') , 'Needs pySerial >= 3.0.0')
  17. # class UploaderFakeTestCase(unittest.TestCase):
  18. # def test_init(self):
  19. # uploader = Uploader(SERIALPORT)
  20. # uploader.close()
  21. @unittest.skipUnless(is_real(), 'Needs a configured SERIALPORT')
  22. class UploaderTestCase(unittest.TestCase):
  23. uploader = None
  24. def setUp(self):
  25. self.uploader = Uploader(SERIALPORT)
  26. def tearDown(self):
  27. if is_real():
  28. self.uploader.node_restart()
  29. self.uploader.close()
  30. time.sleep(1)
  31. def test_upload_and_verify_raw(self):
  32. self.uploader.prepare()
  33. self.uploader.write_file('tests/fixtures/big_file.txt', verify='raw')
  34. def test_upload_and_verify_sha1(self):
  35. self.uploader.prepare()
  36. self.uploader.write_file('tests/fixtures/big_file.txt', verify='sha1')
  37. def test_upload_strange_file(self):
  38. self.uploader.prepare()
  39. self.uploader.write_file('tests/fixtures/testuploadfail.txt', verify='raw')
  40. def test_file_list(self):
  41. lst = self.uploader.file_list()
  42. self.assertIsInstance(lst, type([]))
  43. self.assertGreaterEqual(len(lst), 1)
  44. self.assertLess(len(lst), 50)
  45. def test_node_heap(self):
  46. size = self.uploader.node_heap()
  47. self.assertGreater(size, 20000)
  48. self.assertLess(size, 60000)