summaryrefslogtreecommitdiff
path: root/software/example_test.py
diff options
context:
space:
mode:
authorEric Dao <eric@erickhangdao.com>2022-07-09 22:38:28 -0400
committerEric Dao <eric@erickhangdao.com>2022-07-09 22:38:28 -0400
commitcb234a53f606de8bd136b596a316e912ddf15185 (patch)
treec5f4bf00e4e7e038c24f4ff79f3c5f7af9474ca9 /software/example_test.py
parent9dd37009b3dc7d4d155f5c1a529ace46e55c8e0d (diff)
downloadmotorized_blinds-master.tar.gz
motorized_blinds-master.tar.bz2
motorized_blinds-master.zip
added licenseHEADmaster
Diffstat (limited to 'software/example_test.py')
-rw-r--r--software/example_test.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/software/example_test.py b/software/example_test.py
new file mode 100644
index 0000000..288aefe
--- /dev/null
+++ b/software/example_test.py
@@ -0,0 +1,45 @@
+#!/usr/bin/env python
+
+from __future__ import division
+from __future__ import print_function
+from __future__ import unicode_literals
+import re
+import os
+import hashlib
+
+from tiny_test_fw import Utility
+import ttfw_idf
+
+
+def verify_elf_sha256_embedding(dut):
+ elf_file = os.path.join(dut.app.binary_path, "blink.elf")
+ sha256 = hashlib.sha256()
+ with open(elf_file, "rb") as f:
+ sha256.update(f.read())
+ sha256_expected = sha256.hexdigest()
+
+ dut.reset()
+ sha256_reported = dut.expect(re.compile(r'ELF file SHA256:\s+([a-f0-9]+)'), timeout=5)[0]
+
+ Utility.console_log('ELF file SHA256: %s' % sha256_expected)
+ Utility.console_log('ELF file SHA256 (reported by the app): %s' % sha256_reported)
+ # the app reports only the first several hex characters of the SHA256, check that they match
+ if not sha256_expected.startswith(sha256_reported):
+ raise ValueError('ELF file SHA256 mismatch')
+
+
+@ttfw_idf.idf_example_test(env_tag="Example_WIFI")
+def test_examples_blink(env, extra_data):
+ dut = env.get_dut("blink", "examples/get-started/blink")
+ binary_file = os.path.join(dut.app.binary_path, "blink.bin")
+ bin_size = os.path.getsize(binary_file)
+ ttfw_idf.log_performance("blink_bin_size", "{}KB".format(bin_size // 1024))
+ ttfw_idf.check_performance("blink_bin_size", bin_size // 1024)
+
+ dut.start_app()
+
+ verify_elf_sha256_embedding(dut)
+
+
+if __name__ == '__main__':
+ test_examples_blink()