From d65502a67a3ae356f7af3c40f68139ca90b66ed0 Mon Sep 17 00:00:00 2001 From: Mark Rages Date: Thu, 14 Sep 2017 11:37:46 -0600 Subject: [PATCH] Test script for parameter detemination. see https://github.com/pellepl/spiffs/issues/169 --- py/sp_test.py | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100755 py/sp_test.py diff --git a/py/sp_test.py b/py/sp_test.py new file mode 100755 index 0000000..685c31b --- /dev/null +++ b/py/sp_test.py @@ -0,0 +1,70 @@ +#!/usr/bin/python + +"Test spiffs filesystem with a range of parameters" + +import spiffs + +class SpiffsInstr(spiffs.SpiffsCharsBack): + "Keeps count of issued reads / writes / erases" + def __init__(self, *args, **kwargs): + self.reset_counters() + supe = super(SpiffsInstr, self) + + self.super_read = supe.on_read + self.super_write = supe.on_write + self.super_erase = supe.on_erase + + supe.__init__(*args, **kwargs) + + def reset_counters(self): + self.read_requests = [] + self.write_requests = [] + self.erase_requests = [] + + def on_read(self, addr, size): + self.read_requests.append([addr, size]) + return self.super_read(addr, size) + def on_write(self, addr, data): + self.write_requests.append([addr, len(data)]) + return self.super_write(addr, data) + def on_erase(self, addr, size): + self.erase_requests.append([addr, size]) + return self.super_erase(addr, size) + +# Physical parameters +flash_size = 8*1024*1024 +erase_size = 256 + +print "filesystem size =",flash_size + +header = "log_block_size","log_page_size","reads","read_bytes","writes","written_bytes" +print '| %s |'%(' | '.join(header)) +header2 = ['-'*len(x) for x in header] +print '| %s |'%(' | '.join(header2)) + +for log2_log_block_size in range(14,19): + log_block_size = 1<