43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
from tiny_test_fw import Utility
|
|
import random
|
|
import re
|
|
import time
|
|
import ttfw_idf
|
|
|
|
|
|
@ttfw_idf.idf_example_test(env_tag='Example_GENERIC')
|
|
def test_examples_nvs_rw_blob(env, extra_data):
|
|
|
|
dut = env.get_dut('nvs_rw_blob', 'examples/storage/nvs_rw_blob')
|
|
dut.start_app()
|
|
|
|
def expect_start_msg(index):
|
|
dut.expect_all('Restart counter = {}'.format(index),
|
|
'Run time:',
|
|
timeout=10)
|
|
|
|
expect_start_msg(0)
|
|
dut.expect('Nothing saved yet!', timeout=5)
|
|
|
|
nvs_store = []
|
|
for i in range(1, 10):
|
|
time.sleep(random.uniform(0.1, 2)) # in order to randomize the runtimes stored in NVS
|
|
try:
|
|
# Pulling GPIO0 low using DTR
|
|
dut.port_inst.setDTR(True)
|
|
dut.expect('Restarting...', timeout=5) # the application waits for a second
|
|
finally:
|
|
dut.port_inst.setDTR(False)
|
|
|
|
expect_start_msg(i)
|
|
|
|
dut.expect_all(*nvs_store, timeout=10)
|
|
Utility.console_log('Received: {}'.format(', '.join(nvs_store)))
|
|
|
|
new_runtime = dut.expect(re.compile(r'{}: (\d+)'.format(i)), timeout=10)[0]
|
|
nvs_store.append('{}: {}'.format(i, new_runtime))
|
|
Utility.console_log('loop {} has finished with runtime {}'.format(i, new_runtime))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
test_examples_nvs_rw_blob()
|