提交 759d4d90 编写于 作者: K kohsuke

Hudson renders durations in milliseconds if the total duration is very short.

    (<a href="http://www.nabble.com/Unit-tests-duration-in-milliseconds-tt21417767.html">report</a>)


git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@14409 71c3de6d-444a-0410-be80-ed276b4c234a
上级 e1153d51
......@@ -487,6 +487,8 @@ public class Util {
long minutes = duration / ONE_MINUTE_MS;
duration %= ONE_MINUTE_MS;
long seconds = duration / ONE_SECOND_MS;
duration %= ONE_SECOND_MS;
long millisecs = duration;
if (years > 0)
return makeTimeSpanString(years, Messages.Util_year(years), months, Messages.Util_month(months));
......@@ -498,9 +500,14 @@ public class Util {
return makeTimeSpanString(hours, Messages.Util_hour(hours), minutes, Messages.Util_minute(minutes));
else if (minutes > 0)
return makeTimeSpanString(minutes, Messages.Util_minute(minutes), seconds, Messages.Util_second(seconds));
else
// Durations less than a minute are only expressed in seconds (no ms).
else if (seconds >= 10)
return Messages.Util_second(seconds);
else if (seconds >= 1)
return Messages.Util_second(seconds+"."+millisecs/100); // render "1.2 sec"
else if(millisecs>=100)
return Messages.Util_second(String.format("0.%02d",millisecs/10)); // render "0.12 sec".
else
return Messages.Util_millisecond(millisecs);
}
......
......@@ -3,6 +3,7 @@ FilePath.validateAntFileMask.whitespaceSeprator=\
FilePath.validateAntFileMask.doesntMatchAndSuggest=\
''{0}'' doesn''t match anything, but ''{1}'' does. Perhaps that''s what you mean?
Util.millisecond={0} ms
Util.second={0} sec
Util.minute={0} min
Util.hour ={0} hr
......
......@@ -55,6 +55,16 @@ public class UtilTest extends TestCase {
assertEquals(Messages.Util_minute(1) + " " + Messages.Util_second(7), Util.getTimeSpanString(67000L));
// 17 seconds - Check that times less than a minute only use seconds.
assertEquals(Messages.Util_second(17), Util.getTimeSpanString(17000L));
// 1712ms -> 1.7sec
assertEquals(Messages.Util_second(1.7), Util.getTimeSpanString(1712L));
// 171ms -> 0.17sec
assertEquals(Messages.Util_second(0.17), Util.getTimeSpanString(171L));
// 101ms -> 0.10sec
assertEquals(Messages.Util_second("0.10"), Util.getTimeSpanString(101L));
// 17ms
assertEquals(Messages.Util_millisecond(17), Util.getTimeSpanString(17L));
// 1ms
assertEquals(Messages.Util_millisecond(1), Util.getTimeSpanString(1L));
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册