mirror of
https://github.com/httprunner/httprunner.git
synced 2026-09-05 15:37:35 +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
|
- log httprunner version before running tests
|
||||||
- remove unused import & code
|
- remove unused import & code
|
||||||
|
|
||||||
|
**Fixed**
|
||||||
|
|
||||||
|
- fix #707: duration stat error in multiple testsuites
|
||||||
|
|
||||||
## 2.2.6 (2019-09-18)
|
## 2.2.6 (2019-09-18)
|
||||||
|
|
||||||
**Added**
|
**Added**
|
||||||
|
|||||||
+14
-8
@@ -54,11 +54,11 @@ def get_summary(result):
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
summary["stat"]["successes"] = summary["stat"]["total"] \
|
summary["stat"]["successes"] = summary["stat"]["total"] \
|
||||||
- summary["stat"]["failures"] \
|
- summary["stat"]["failures"] \
|
||||||
- summary["stat"]["errors"] \
|
- summary["stat"]["errors"] \
|
||||||
- summary["stat"]["skipped"] \
|
- summary["stat"]["skipped"] \
|
||||||
- summary["stat"]["expectedFailures"] \
|
- summary["stat"]["expectedFailures"] \
|
||||||
- summary["stat"]["unexpectedSuccesses"]
|
- summary["stat"]["unexpectedSuccesses"]
|
||||||
|
|
||||||
summary["time"] = {
|
summary["time"] = {
|
||||||
'start_at': result.start_at,
|
'start_at': result.start_at,
|
||||||
@@ -80,10 +80,16 @@ def aggregate_stat(origin_stat, new_stat):
|
|||||||
for key in new_stat:
|
for key in new_stat:
|
||||||
if key not in origin_stat:
|
if key not in origin_stat:
|
||||||
origin_stat[key] = new_stat[key]
|
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":
|
elif key == "start_at":
|
||||||
# start datetime , duration=current_time - min(stat_at)
|
# start datetime
|
||||||
origin_stat[key] = min(origin_stat[key], new_stat[key])
|
origin_stat["start_at"] = min(origin_stat["start_at"], new_stat["start_at"])
|
||||||
origin_stat["duration"] = time.time() - origin_stat[key]
|
|
||||||
else:
|
else:
|
||||||
origin_stat[key] += new_stat[key]
|
origin_stat[key] += new_stat[key]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user