mirror of
https://github.com/httprunner/httprunner.git
synced 2026-09-08 08:57:40 +08:00
fix #707: duration stat error in multiple testsuites
Thanks @lijuelijue and @plmmilove
This commit is contained in:
@@ -15,6 +15,10 @@
|
||||
- log httprunner version before running tests
|
||||
- remove unused import & code
|
||||
|
||||
**Fixed**
|
||||
|
||||
- fix #707: duration stat error in multiple testsuites
|
||||
|
||||
## 2.2.6 (2019-09-18)
|
||||
|
||||
**Added**
|
||||
|
||||
@@ -80,10 +80,16 @@ def aggregate_stat(origin_stat, new_stat):
|
||||
for key in new_stat:
|
||||
if key not in origin_stat:
|
||||
origin_stat[key] = new_stat[key]
|
||||
|
||||
elif key == "duration":
|
||||
# duration = max_end_time - min_start_time
|
||||
max_end_time = max(origin_stat["start_at"] + origin_stat["duration"],
|
||||
new_stat["start_at"] + new_stat["duration"])
|
||||
min_start_time = min(origin_stat["start_at"], new_stat["start_at"])
|
||||
origin_stat["duration"] = max_end_time - min_start_time
|
||||
elif key == "start_at":
|
||||
# start datetime , duration=current_time - min(stat_at)
|
||||
origin_stat[key] = min(origin_stat[key], new_stat[key])
|
||||
origin_stat["duration"] = time.time() - origin_stat[key]
|
||||
# start datetime
|
||||
origin_stat["start_at"] = min(origin_stat["start_at"], new_stat["start_at"])
|
||||
else:
|
||||
origin_stat[key] += new_stat[key]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user