From 4e84b7634220701857a25ba404026994f386f145 Mon Sep 17 00:00:00 2001
From: Chris Larsen <clarsen@yahoo-inc.com>
Date: Tue, 19 Sep 2017 11:53:06 -0700
Subject: [PATCH] [core] Change the RemainingFormatter to reflect non-plural
 times, fixing #825. NOTE if you parse the standard out of YCSB, you'll be
 missing the "s" sometimes.

---
 core/src/main/java/com/yahoo/ycsb/Client.java | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/core/src/main/java/com/yahoo/ycsb/Client.java b/core/src/main/java/com/yahoo/ycsb/Client.java
index 94d14ce2..1e31c112 100644
--- a/core/src/main/java/com/yahoo/ycsb/Client.java
+++ b/core/src/main/java/com/yahoo/ycsb/Client.java
@@ -331,25 +331,25 @@ final class RemainingFormatter {
     StringBuilder time = new StringBuilder();
     long days = TimeUnit.SECONDS.toDays(seconds);
     if (days > 0) {
-      time.append(days).append(" days ");
+      time.append(days).append(days == 1 ? " day " : " days ");
       seconds -= TimeUnit.DAYS.toSeconds(days);
     }
     long hours = TimeUnit.SECONDS.toHours(seconds);
     if (hours > 0) {
-      time.append(hours).append(" hours ");
+      time.append(hours).append(hours == 1 ? " hour " : " hours ");
       seconds -= TimeUnit.HOURS.toSeconds(hours);
     }
     /* Only include minute granularity if we're < 1 day. */
     if (days < 1) {
       long minutes = TimeUnit.SECONDS.toMinutes(seconds);
       if (minutes > 0) {
-        time.append(minutes).append(" minutes ");
+        time.append(minutes).append(minutes == 1 ? " minute " : " minutes ");
         seconds -= TimeUnit.MINUTES.toSeconds(seconds);
       }
     }
     /* Only bother to include seconds if we're < 1 minute */
     if (time.length() == 0) {
-      time.append(seconds).append(" seconds ");
+      time.append(seconds).append(time.length() == 1 ? " second " : " seconds ");
     }
     return time;
   }
-- 
GitLab