mirror of
https://github.com/trufflesecurity/trufflehog.git
synced 2024-09-20 14:42:03 +00:00
Add ElapsedTime method to JobProgressMetrics (#1660)
This commit is contained in:
parent
519646342e
commit
a4401939a8
2 changed files with 24 additions and 0 deletions
|
@ -284,3 +284,16 @@ func (m JobProgressMetrics) PercentComplete() int {
|
|||
}
|
||||
return int(num * 100 / den)
|
||||
}
|
||||
|
||||
// ElapsedTime is a convenience method that provides the elapsed time the job
|
||||
// has been running. If it hasn't started yet, 0 is returned. If it has
|
||||
// finished, the total time is returned.
|
||||
func (m JobProgressMetrics) ElapsedTime() time.Duration {
|
||||
if m.StartTime.IsZero() {
|
||||
return 0
|
||||
}
|
||||
if m.EndTime.IsZero() {
|
||||
return time.Since(m.StartTime)
|
||||
}
|
||||
return m.EndTime.Sub(m.StartTime)
|
||||
}
|
||||
|
|
|
@ -115,3 +115,14 @@ func TestJobProgressDone(t *testing.T) {
|
|||
assert.FailNow(t, "done should not block for a nil job")
|
||||
}
|
||||
}
|
||||
|
||||
func TestJobProgressElapsedTime(t *testing.T) {
|
||||
metrics := JobProgressMetrics{}
|
||||
assert.Equal(t, time.Duration(0), metrics.ElapsedTime())
|
||||
|
||||
metrics.StartTime = time.Now()
|
||||
assert.Greater(t, metrics.ElapsedTime(), time.Duration(0))
|
||||
|
||||
metrics.EndTime = metrics.StartTime.Add(1 * time.Hour)
|
||||
assert.Equal(t, metrics.ElapsedTime(), 1*time.Hour)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue