uploader.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. print "SP", SERIALPORT
  20. uploader = Uploader(SERIALPORT)
  21. uploader.close()
  22. @unittest.skipUnless(is_real(), 'Needs a configured SERIALPORT')
  23. class UploaderTestCase(unittest.TestCase):
  24. uploader = None
  25. def setUp(self):
  26. self.uploader = Uploader(SERIALPORT)
  27. def tearDown(self):
  28. if is_real():
  29. self.uploader.node_restart()
  30. self.uploader.close()
  31. time.sleep(1)
  32. def test_upload_and_verify_raw(self):
  33. self.uploader.prepare()
  34. self.uploader.write_file('tests/fixtures/big_file.txt', verify='raw')
  35. def test_upload_and_verify_sha1(self):
  36. self.uploader.prepare()
  37. self.uploader.write_file('tests/fixtures/big_file.txt', verify='sha1')
  38. def test_upload_strange_file(self):
  39. self.uploader.prepare()
  40. self.uploader.write_file('tests/fixtures/testuploadfail.txt', verify='raw')
  41. def test_file_list(self):
  42. lst = self.uploader.file_list()
  43. self.assertIsInstance(lst, type([]))
  44. self.assertGreaterEqual(len(lst), 1)
  45. self.assertLess(len(lst), 50)
  46. def test_node_heap(self):
  47. size = self.uploader.node_heap()
  48. self.assertGreater(size, 20000)
  49. self.assertLess(size, 60000)