In TestRepository, use a consistent clock

The default author and committer objects in TestRepository were
initialized statically and did not use the MockSystemReader passed into
the TestRepository ctor. Make these fields non-static and initialize
them with a consistent clock.

Also make the author and commiter name and email strings public for
tests that want to verify against them.

Change-Id: I88b444b96e22743001b32824d8e4e03c2239aa86
Signed-off-by: Terry Parker <tparker@google.com>
This commit is contained in:
Terry Parker 2016-03-25 13:55:48 -07:00
parent 09810d013c
commit 10135580d0
1 changed files with 12 additions and 13 deletions

View File

@ -112,23 +112,18 @@
* type of Repository the test data is stored on.
*/
public class TestRepository<R extends Repository> {
private static final PersonIdent defaultAuthor;
private static final PersonIdent defaultCommitter;
public static final String AUTHOR = "J. Author";
static {
final MockSystemReader m = new MockSystemReader();
final long now = m.getCurrentTime();
final int tz = m.getTimezone(now);
public static final String AUTHOR_EMAIL = "jauthor@example.com";
final String an = "J. Author";
final String ae = "jauthor@example.com";
defaultAuthor = new PersonIdent(an, ae, now, tz);
public static final String COMMITTER = "J. Committer";
final String cn = "J. Committer";
final String ce = "jcommitter@example.com";
defaultCommitter = new PersonIdent(cn, ce, now, tz);
}
public static final String COMMITTER_EMAIL = "jcommitter@example.com";
private final PersonIdent defaultAuthor;
private final PersonIdent defaultCommitter;
private final R db;
@ -184,6 +179,10 @@ public TestRepository(R db, RevWalk rw, MockSystemReader reader)
this.pool = rw;
this.inserter = db.newObjectInserter();
this.mockSystemReader = reader;
long now = mockSystemReader.getCurrentTime();
int tz = mockSystemReader.getTimezone(now);
defaultAuthor = new PersonIdent(AUTHOR, AUTHOR_EMAIL, now, tz);
defaultCommitter = new PersonIdent(COMMITTER, COMMITTER_EMAIL, now, tz);
}
/** @return the repository this helper class operates against. */