Changeset View
Changeset View
Standalone View
Standalone View
src/unit/renderer/ArcanistUnitConsoleRenderer.php
Show First 20 Lines • Show All 59 Lines • ▼ Show 20 Lines | private function formatTestDuration($seconds) { | ||||
if (phutil_is_windows()) { | if (phutil_is_windows()) { | ||||
// Fall-back to normal asterisk for Windows consoles. | // Fall-back to normal asterisk for Windows consoles. | ||||
$star = '*'; | $star = '*'; | ||||
} | } | ||||
$acceptableness = array( | $acceptableness = array( | ||||
50 => "<fg:green>%s</fg><fg:yellow>{$star}</fg> ", | 50 => "<fg:green>%s</fg><fg:yellow>{$star}</fg> ", | ||||
200 => '<fg:green>%s</fg> ', | 200 => '<fg:green>%s</fg> ', | ||||
500 => '<fg:yellow>%s</fg> ', | 500 => '<fg:yellow>%s</fg> ', | ||||
INF => '<fg:red>%s</fg> ', | |||||
); | ); | ||||
$least_acceptable = '<fg:red>%s</fg> '; | |||||
$milliseconds = $seconds * 1000; | $milliseconds = $seconds * 1000; | ||||
$duration = $this->formatTime($seconds); | $duration = $this->formatTime($seconds); | ||||
foreach ($acceptableness as $upper_bound => $formatting) { | foreach ($acceptableness as $upper_bound => $formatting) { | ||||
if ($milliseconds <= $upper_bound) { | if ($milliseconds <= $upper_bound) { | ||||
return phutil_console_format($formatting, $duration); | return phutil_console_format($formatting, $duration); | ||||
} | } | ||||
} | } | ||||
return phutil_console_format(end($acceptableness), $duration); | |||||
return phutil_console_format($least_acceptable, $duration); | |||||
} | } | ||||
private function formatTime($seconds) { | private function formatTime($seconds) { | ||||
if ($seconds >= 60) { | if ($seconds >= 60) { | ||||
$minutes = floor($seconds / 60); | $minutes = floor($seconds / 60); | ||||
return pht('%dm%02ds', $minutes, round($seconds % 60)); | return pht('%dm%02ds', $minutes, round($seconds % 60)); | ||||
} | } | ||||
Show All 13 Lines |
Content licensed under Creative Commons Attribution-ShareAlike 4.0 (CC-BY-SA) unless otherwise noted; code licensed under Apache 2.0 or other open source licenses. · CC BY-SA 4.0 · Apache 2.0