diff options
| author | Phil Harvey <philharveyonline@apache.org> | 2013-01-30 13:23:07 +0000 |
|---|---|---|
| committer | Phil Harvey <philharveyonline@apache.org> | 2013-01-30 13:23:07 +0000 |
| commit | 3c6cf930db84c77a15162c773013967f881af2c3 (patch) | |
| tree | db3b49deda6c1093e9cdf80d275ccbd01fa8cc01 /qpid/java/perftests/src | |
| parent | 56ae5b5536cd437278fe50339f02993fcadf6980 (diff) | |
| download | qpid-python-3c6cf930db84c77a15162c773013967f881af2c3.tar.gz | |
QPID-4533: fixed bug in perftest ResultsDbWriter's default run ID to make it timezone-agnostic
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1440399 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/perftests/src')
| -rw-r--r-- | qpid/java/perftests/src/main/java/org/apache/qpid/disttest/db/ResultsDbWriter.java | 8 | ||||
| -rw-r--r-- | qpid/java/perftests/src/test/java/org/apache/qpid/disttest/db/ResultsDbWriterTest.java | 20 |
2 files changed, 23 insertions, 5 deletions
diff --git a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/db/ResultsDbWriter.java b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/db/ResultsDbWriter.java index bd3405eadf..549f37c2da 100644 --- a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/db/ResultsDbWriter.java +++ b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/db/ResultsDbWriter.java @@ -32,8 +32,10 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.sql.Timestamp; +import java.util.Calendar; import java.util.Date; import java.util.Hashtable; +import java.util.TimeZone; import javax.naming.Context; import javax.naming.NamingException; @@ -145,7 +147,7 @@ public class ResultsDbWriter private final Clock _clock; /** - * @param runId may be null, in which case a default value is chosen based on current time. + * @param runId may be null, in which case a default value is chosen based on current GMT time * @param context must contain environment entries {@value #DRIVER_NAME} and {@value #URL}. */ public ResultsDbWriter(Context context, String runId) @@ -167,7 +169,9 @@ public class ResultsDbWriter if(runId == null) { Date dateNow = new Date(_clock.currentTimeMillis()); - return String.format("run %1$tF %1$tT.%tL", dateNow); + Calendar calNow = Calendar.getInstance(TimeZone.getTimeZone("GMT+00:00")); + calNow.setTime(dateNow); + return String.format("run %1$tF %1$tT.%tL", calNow); } else { diff --git a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/db/ResultsDbWriterTest.java b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/db/ResultsDbWriterTest.java index e2a211911e..3bbf601550 100644 --- a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/db/ResultsDbWriterTest.java +++ b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/db/ResultsDbWriterTest.java @@ -35,6 +35,7 @@ import java.sql.ResultSet; import java.sql.Statement; import java.sql.Timestamp; import java.util.Hashtable; +import java.util.TimeZone; import javax.naming.Context; import javax.naming.NamingException; @@ -49,7 +50,6 @@ import org.apache.qpid.util.FileUtils; public class ResultsDbWriterTest extends TestCase { - private static final long _dummyTimestamp = 1234; private File _tempDbDirectory; @@ -96,8 +96,22 @@ public class ResultsDbWriterTest extends TestCase public void testDefaultRunId() throws Exception { - ResultsDbWriter resultsDbWriter = new ResultsDbWriter(getContext(), null, _clock); - assertEquals("run 1970-01-01 01:00:01.234", resultsDbWriter.getRunId()); + TimeZone defaultTimeZone = TimeZone.getDefault(); + try + { + // set non-GMT timezone to make the test more rigorous. + TimeZone.setDefault(TimeZone.getTimeZone("GMT-05:00")); + ResultsDbWriter resultsDbWriter = new ResultsDbWriter(getContext(), null, _clock); + String runId = resultsDbWriter.getRunId(); + assertEquals( + "Default run id '" + runId + "' should correspond to dummy timestamp " + _clock.currentTimeMillis(), + "run 1970-01-01 00:00:01.234", + runId); + } + finally + { + TimeZone.setDefault(defaultTimeZone); + } } @SuppressWarnings({ "unchecked", "rawtypes" }) |
