flashdb_utest.py 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import flashdb
  2. import unittest
  3. import struct
  4. kvdb=None
  5. fdb=flashdb.FDB()
  6. DB_PATH = "test/out/fdb_kvdb"
  7. class FlashDBUnitTest(unittest.TestCase):
  8. def test_boot_count1(self):
  9. print('test boot_count increment 1')
  10. if fdb is None:
  11. fdb = flashdb.FDB()
  12. boot_count=0
  13. boot_count_blob = struct.pack('i', boot_count)
  14. boot_times = [0,1,2,3,0,0,0,0,0,0]
  15. boot_time_tuple = tuple(boot_times)
  16. boot_time_blob = struct.pack('@10Q', *boot_time_tuple)
  17. default_kv={
  18. 'username': 'armink', # string KV
  19. 'password': "123456", # string KV
  20. 'boot_count': boot_count_blob, # int type kv
  21. 'boot_time': boot_time_blob, # array type kv
  22. }
  23. #print(default_kv)
  24. kvdb = fdb.kvdb_init("env", DB_PATH, default_kv, None)
  25. return
  26. res = fdb.kv_get_blob(kvdb, "boot_count", len(boot_count_blob))
  27. self.assertIsNotNone(res)
  28. boot_count = struct.unpack("i", res)[0]
  29. boot_count= boot_count+1
  30. boot_count_blob = struct.pack('i', boot_count)
  31. fdb.kv_set_blob(kvdb, "boot_count", boot_count_blob)
  32. res = fdb.kv_get_blob(kvdb, "boot_count", len(boot_count_blob))
  33. self.assertIsNotNone(res)
  34. new_boot_count = struct.unpack("i", res)[0]
  35. self.assertEqual(new_boot_count, boot_count)
  36. def xtest_boot_count2(self):
  37. print('test boot_count increment 2')
  38. if fdb is None:
  39. fdb = flashdb.FDB()
  40. boot_count=0
  41. boot_count_fmt='i'
  42. boot_count_blob = struct.pack(boot_count_fmt, boot_count)
  43. boot_count_size = len(boot_count_blob)
  44. boot_time = [0,1,2,3,0,0,0,0,0,0]
  45. boot_time_fmt='@10Q'
  46. boot_time_tuple = tuple(boot_time)
  47. boot_time_blob = struct.pack(boot_time_fmt, *boot_time_tuple)
  48. default_kv={
  49. 'username': 'armink', # string KV
  50. 'password': "123456", # string KV
  51. 'boot_count': boot_count_blob, # int type kv
  52. 'boot_time': boot_time_blob, # array type kv
  53. }
  54. #print(default_kv)
  55. kvdb = fdb.kvdb_init("env", DB_PATH, default_kv, None)
  56. boot_count = fdb.kv_get_by_fmt(kvdb, "boot_count", boot_count_size, boot_count_fmt)
  57. self.assertIsNotNone(boot_count)
  58. print("==================== kvdb_basic_sample ====================")
  59. print( "get the 'boot_count' value is %d" % boot_count)
  60. boot_count = boot_count +1
  61. res =fdb.kv_set_by_fmt(kvdb, "boot_count", boot_count, boot_count_fmt)
  62. new_boot_count = fdb.kv_get_by_fmt(kvdb, "boot_count", boot_count_size, boot_count_fmt)
  63. self.assertIsNotNone(new_boot_count)
  64. print( "get the 'boot_count' value is %d" % new_boot_count)
  65. print("===========================================================")
  66. self.assertEqual(new_boot_count, boot_count)
  67. def utest():
  68. suit = unittest.TestSuite("test1")
  69. suit.addTest(FlashDBUnitTest())
  70. runner = unittest.TextTestRunner()
  71. res = runner.run(suit)
  72. utest()