diff options
Diffstat (limited to 'loadtest/TestConfig.py')
-rw-r--r-- | loadtest/TestConfig.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/loadtest/TestConfig.py b/loadtest/TestConfig.py new file mode 100644 index 0000000..c22e875 --- /dev/null +++ b/loadtest/TestConfig.py @@ -0,0 +1,51 @@ +''' +Created on Apr 7, 2017 + +@author: jf9860 +''' +class TestConfig(object): + ''' + The profile defines a cycle of tests. Each entry is defined as + [<seconds to wait>, [<list of ete tags to run after the wait]], + ''' + profile = [ + [0, ["health"]], + [5, ["instantiate", "distribute"]], + [300, ["distribute"]], + [300, ["distribute"]], + [300, ["distribute"]], + [300, ["distribute"]], + [300, ["distribute"]], + ] + + duration=10 + cyclelength=60 + + def __init__(self, duration=10, cyclelength=1800, json=None): + ''' + Constructor + ''' + self.duration = duration + self.cyclelength = cyclelength + running_time = 0 + for p in self.profile: + secs = p[0] + running_time = running_time + secs + if (running_time < cyclelength): + last = cyclelength - running_time + self.profile.append([last, []]) + + def to_string(self): + pstring = 'Cycle length is {} seconds'.format(self.cyclelength) + pstring = '{}\nDuration is {} seconds'.format(pstring, self.duration) + running_time = 0 + for p in self.profile: + secs = p[0] + running_time = running_time + secs + for ete in p[1]: + pstring = "{0}\n{1:08d} : {2:08d} : {3}".format(pstring, secs, running_time, ete) + if (len(p[1]) == 0): + pstring = "{0}\n{1:08d} : {2:08d} : {3}".format(pstring, secs, running_time, "") + return pstring + + |