def test_http_trend_run(self): data = list() for i in range(1,30): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.RPS = 200 if i < 10 : data.overall.RPS += i data.overall.http_codes = {'200': 100+i, '201': 100} elif i >= 10 and i < 20: if i % 2: diff = -3 else : diff = 3 data.overall.RPS += 10 + diff data.overall.http_codes = {'200': 110 + diff, '201': 100} elif i >= 20 and i < 30: diff = i - 20 data.overall.RPS += 10 - diff + i data.overall.http_codes = {'200': 110 - diff, '201': 100, '502': i} if self.http_trend.notify(data) : break if i != 28 : raise RuntimeError()
def test_negative_http_run_relative(self): data = list() for i in range(1,20): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.RPS = 200 + 2*i data.overall.http_codes = {'200': 100, '201': 100, '501': i, '503': i} if self.negative_http_relcriteria.notify(data): break if i != 13 : raise RuntimeError()
def test_run_absolute(self): data = list() for i in range(1, 20): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.RPS = 100 + i**2 + i data.overall.net_codes = {'0': 100, '71': i**2, '110': i} if self.abscriteria.notify(data): break if i != 5: raise RuntimeError()
def test_run_relative(self): data = list() for i in range(1, 20): data = SecondAggregateData() data.time = "2012-09-25 18:18:" + str(i) data.overall.RPS = 100 + i**2 data.overall.net_codes = {'0': 100, '110': i**2} if self.relcriteria.notify(data): break if i != 9: raise RuntimeError()
def test_run_absolute(self): data = list() for i in range(1, 20): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.RPS = 200 + 2 * i data.overall.http_codes = {'200': 100, '201': 100, '302': i * 2} if self.abscriteria.notify(data): break if i != 6: raise RuntimeError()
def test_http_run_relative(self): data = list() for i in range(1,20): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.RPS = 100 + i*2 data.overall.http_codes = {'200': 100, '501': i, '503': i} if self.http_relcriteria.notify(data): break if i != 7 : raise RuntimeError()
def test_negative_net_run_absolute(self): data = list() for i in range(1,20): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.RPS = 100 + i**2 data.overall.net_codes = {'0': 100, '110': i**2} if self.negative_net_abscriteria.notify(data) : break if i != 7 : raise RuntimeError()
def test_http_run_absolute(self): data = list() for i in range(1,20): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.RPS = 100 + i*2 data.overall.http_codes = {'200': 100, '501': i, '503': i} if self.http_abscriteria.notify(data) : break if i != 6 : raise RuntimeError()
def test_run(self): data = list() for i in range(0, 20): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.times_dist = [{"count": 10, "to": 10, "from": 0}, {"count": i + 1, "to": 20, "from": 10}] try: self.criteria.notify(data) except: break if i != 11: raise RuntimeError()
def test_frac_run(self): data = list() for i in range(0,20): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.times_dist = [ {'count': 10, 'to': 10, 'from': 0}, {'count': i+1, 'to': 20, 'from': 10}] if self.frac_criteria.notify(data): break if i != 11 : raise RuntimeError()
def test_null(self): data = list() for i in range(0,20): data = SecondAggregateData() data.time = "2012-09-25 18:18:" + str(i) if i%5 != 0: data.overall.times_dist = [ {'count': 10, 'to': 10, 'from': 0}, {'count': i+1, 'to': 20, 'from': 10}] if self.criteria.notify(data) : break if i != 13 : raise RuntimeError();
def test_qsat_data(self): dist = { 0: { 'count': 36, 'to': 1, 'from': 0 }, 40: { 'count': 5, 'to': 50, 'from': 40 }, 3: { 'count': 1, 'to': 4, 'from': 3 }, 20: { 'count': 5, 'to': 30, 'from': 20 }, 30: { 'count': 27, 'to': 40, 'from': 30 } } data = SecondAggregateData(SecondAggregateDataTotalItem()) data.cumulative.times_dist = dist data.cumulative.total_count = 74 self.qsat_absrel.timing = 30 self.qsat_absrel.notify(data) self.assertEquals(56.75675675675676, self.qsat_absrel.data[0])
def test_phout_import(self): self.foo.core.set_option('phantom', 'phout_file', 'data/phout_timeout_mix.txt') self.foo.core.set_option('phantom', 'instances', '1') self.foo.core.set_option('phantom', 'ammo_count', '1') self.foo.configure() self.foo.prepare_test() self.foo.start_test() self.assertEqual(self.foo.is_test_finished(), -1) sec = SecondAggregateData() sec.overall.RPS = 1 self.foo.aggregate_second(sec) self.assertEqual(self.foo.is_test_finished(), -1) self.assertEqual(self.foo.is_test_finished(), 0) self.foo.end_test(0) self.foo.post_process(0)
def callback(self, data): self.data = SecondAggregateData(data)
def test_qsat(self): for i in range(1,50): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.RPS = 100 data.overall.times_dist = list() data.overall.times_dist.append({'count': i, 'to': 200, 'from': 150}) data.overall.times_dist.append({'count': 100-i, 'to': 250, 'from': 200}) print i, data.overall.times_dist if self.qsat_absrel.notify(data) : break if i == 49: for i in range(51,100): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.RPS = 100 data.overall.times_dist = list() data.overall.times_dist.append({'count': i-25, 'to': 200, 'from': 150}) data.overall.times_dist.append({'count': 100-(i-25), 'to': 250, 'from': 200}) print i, data.overall.times_dist if self.qsat_absrel.notify(data) : break if i == 99: for i in range(100,150): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.RPS = 100 data.overall.times_dist = list() data.overall.times_dist.append({'count': i-50, 'to': 200, 'from': 150}) data.overall.times_dist.append({'count': 100-(i-50), 'to': 250, 'from': 200}) print i, data.overall.times_dist if self.qsat_absrel.notify(data) : break if i == 149: for i in range(149,200): #for i in range(100,150): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.RPS = 100 data.overall.times_dist = list() data.overall.times_dist.append({'count': i/2, 'to': 200, 'from': 150}) data.overall.times_dist.append({'count': 100-(i/2), 'to': 250, 'from': 200}) print i, data.overall.times_dist if self.qsat_absrel.notify(data) : break if i == 199: for i in range(199,300): #for i in range(100,150): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.RPS = 100 data.overall.times_dist = list() data.overall.times_dist.append({'count': 90, 'to': 200, 'from': 150}) data.overall.times_dist.append({'count': 10, 'to': 250, 'from': 200}) print i, data.overall.times_dist if self.qsat_absrel.notify(data) : break if i != 228 : raise RuntimeError()
def get_aggregate_data(self, filename): return SecondAggregateData(SecondAggregateDataTotalItem())
def callback(self, data): self.data = SecondAggregateData(data, SecondAggregateDataTotalItem())