@@ -26,6 +26,7 @@ public class GitVersionExecutorTests : TestBase
26
26
private ILog log ;
27
27
private IConfigFileLocator configFileLocator ;
28
28
private IBuildServerResolver buildServerResolver ;
29
+ private IGitVersionCache gitVersionCache ;
29
30
30
31
[ SetUp ]
31
32
public void SetUp ( )
@@ -35,12 +36,13 @@ public void SetUp()
35
36
log = new NullLog ( ) ;
36
37
configFileLocator = new DefaultConfigFileLocator ( fileSystem , log ) ;
37
38
buildServerResolver = new BuildServerResolver ( null , log ) ;
39
+ gitVersionCache = new GitVersionCache ( fileSystem , log ) ;
38
40
}
39
41
40
42
[ Test ]
41
43
public void CacheKeySameAfterReNormalizing ( )
42
44
{
43
- var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver ) ;
45
+ var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver , gitVersionCache ) ;
44
46
45
47
RepositoryScope ( versionAndBranchFinder , ( fixture , vv ) =>
46
48
{
@@ -55,9 +57,9 @@ public void CacheKeySameAfterReNormalizing()
55
57
var gitPreparer = new GitPreparer ( log , arguments ) ;
56
58
configFileLocator = new DefaultConfigFileLocator ( fileSystem , log ) ;
57
59
gitPreparer . Initialize ( true , targetBranch ) ;
58
- var cacheKey1 = GitVersionCacheKeyFactory . Create ( fileSystem , log , gitPreparer , null , configFileLocator ) ;
60
+ var cacheKey1 = GitVersionCacheKeyFactory . Create ( fileSystem , log , gitPreparer , configFileLocator , null ) ;
59
61
gitPreparer . Initialize ( true , targetBranch ) ;
60
- var cacheKey2 = GitVersionCacheKeyFactory . Create ( fileSystem , log , gitPreparer , null , configFileLocator ) ;
62
+ var cacheKey2 = GitVersionCacheKeyFactory . Create ( fileSystem , log , gitPreparer , configFileLocator , null ) ;
61
63
62
64
cacheKey2 . Value . ShouldBe ( cacheKey1 . Value ) ;
63
65
} ) ;
@@ -68,7 +70,7 @@ public void CacheKeySameAfterReNormalizing()
68
70
[ Description ( "LibGit2Sharp fails here when running under Mono" ) ]
69
71
public void CacheKeyForWorktree ( )
70
72
{
71
- var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver ) ;
73
+ var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver , gitVersionCache ) ;
72
74
73
75
RepositoryScope ( versionAndBranchFinder , ( fixture , vv ) =>
74
76
{
@@ -89,7 +91,7 @@ public void CacheKeyForWorktree()
89
91
90
92
var gitPreparer = new GitPreparer ( log , arguments ) ;
91
93
configFileLocator = new DefaultConfigFileLocator ( fileSystem , log ) ;
92
- var cacheKey = GitVersionCacheKeyFactory . Create ( fileSystem , log , gitPreparer , null , configFileLocator ) ;
94
+ var cacheKey = GitVersionCacheKeyFactory . Create ( fileSystem , log , gitPreparer , configFileLocator , null ) ;
93
95
cacheKey . Value . ShouldNotBeEmpty ( ) ;
94
96
}
95
97
finally
@@ -141,7 +143,8 @@ public void CacheFileExistsOnDisk()
141
143
var logAppender = new TestLogAppender ( Action ) ;
142
144
log = new Log ( logAppender ) ;
143
145
144
- var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver ) ;
146
+ gitVersionCache = new GitVersionCache ( fileSystem , log ) ;
147
+ var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver , gitVersionCache ) ;
145
148
146
149
RepositoryScope ( versionAndBranchFinder , ( fixture , vv ) =>
147
150
{
@@ -190,7 +193,7 @@ public void CacheFileExistsOnDiskWhenOverrideConfigIsSpecifiedVersionShouldBeDyn
190
193
CommitDate: 2015-11-10
191
194
" ;
192
195
193
- var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver ) ;
196
+ var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver , gitVersionCache ) ;
194
197
195
198
RepositoryScope ( versionAndBranchFinder , ( fixture , vv ) =>
196
199
{
@@ -202,7 +205,8 @@ public void CacheFileExistsOnDiskWhenOverrideConfigIsSpecifiedVersionShouldBeDyn
202
205
} ;
203
206
204
207
var gitPreparer = new GitPreparer ( log , arguments ) ;
205
- var cacheDirectory = GitVersionCache . GetCacheDirectory ( gitPreparer ) ;
208
+ var gitVersionCache = new GitVersionCache ( fileSystem , log ) ;
209
+ var cacheDirectory = gitVersionCache . GetCacheDirectory ( gitPreparer ) ;
206
210
207
211
var cacheDirectoryTimestamp = fileSystem . GetLastDirectoryWrite ( cacheDirectory ) ;
208
212
@@ -225,8 +229,9 @@ public void CacheFileIsMissing()
225
229
226
230
var logAppender = new TestLogAppender ( Action ) ;
227
231
log = new Log ( logAppender ) ;
232
+ gitVersionCache = new GitVersionCache ( fileSystem , log ) ;
228
233
229
- var executeCore = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver ) ;
234
+ var executeCore = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver , gitVersionCache ) ;
230
235
231
236
RepositoryScope ( executeCore ) ;
232
237
var logsMessages = stringBuilder . ToString ( ) ;
@@ -270,7 +275,7 @@ public void ConfigChangeInvalidatesCache()
270
275
CommitDate: 2015-11-10
271
276
" ;
272
277
273
- var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver ) ;
278
+ var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver , gitVersionCache ) ;
274
279
275
280
RepositoryScope ( versionAndBranchFinder , ( fixture , vv ) =>
276
281
{
@@ -323,7 +328,7 @@ public void NoCacheBypassesCache()
323
328
CommitDate: 2015-11-10
324
329
" ;
325
330
326
- var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver ) ;
331
+ var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver , gitVersionCache ) ;
327
332
328
333
RepositoryScope ( versionAndBranchFinder , ( fixture , vv ) =>
329
334
{
@@ -343,7 +348,7 @@ public void NoCacheBypassesCache()
343
348
[ Test ]
344
349
public void WorkingDirectoryWithoutGit ( )
345
350
{
346
- var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver ) ;
351
+ var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver , gitVersionCache ) ;
347
352
348
353
RepositoryScope ( versionAndBranchFinder , ( fixture , vv ) =>
349
354
{
@@ -359,7 +364,7 @@ public void WorkingDirectoryWithoutGit()
359
364
[ Description ( "LibGit2Sharp fails when running under Mono" ) ]
360
365
public void GetProjectRootDirectory_WorkingDirectoryWithWorktree ( )
361
366
{
362
- var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver ) ;
367
+ var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver , gitVersionCache ) ;
363
368
364
369
RepositoryScope ( versionAndBranchFinder , ( fixture , vv ) =>
365
370
{
@@ -391,7 +396,7 @@ public void GetProjectRootDirectory_WorkingDirectoryWithWorktree()
391
396
[ Test ]
392
397
public void GetProjectRootDirectory_NoWorktree ( )
393
398
{
394
- var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver ) ;
399
+ var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver , gitVersionCache ) ;
395
400
396
401
RepositoryScope ( versionAndBranchFinder , ( fixture , vv ) =>
397
402
{
@@ -412,7 +417,7 @@ public void GetProjectRootDirectory_NoWorktree()
412
417
[ Test ]
413
418
public void DynamicRepositoriesShouldNotErrorWithFailedToFindGitDirectory ( )
414
419
{
415
- var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver ) ;
420
+ var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver , gitVersionCache ) ;
416
421
417
422
RepositoryScope ( versionAndBranchFinder , ( fixture , vv ) =>
418
423
{
@@ -430,7 +435,7 @@ public void DynamicRepositoriesShouldNotErrorWithFailedToFindGitDirectory()
430
435
[ Test ]
431
436
public void GetDotGitDirectory_NoWorktree ( )
432
437
{
433
- var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver ) ;
438
+ var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver , gitVersionCache ) ;
434
439
435
440
RepositoryScope ( versionAndBranchFinder , ( fixture , vv ) =>
436
441
{
@@ -453,7 +458,7 @@ public void GetDotGitDirectory_NoWorktree()
453
458
[ Description ( "LibGit2Sharp fails when running under Mono" ) ]
454
459
public void GetDotGitDirectory_Worktree ( )
455
460
{
456
- var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver ) ;
461
+ var versionAndBranchFinder = new GitVersionComputer ( fileSystem , log , configFileLocator , buildServerResolver , gitVersionCache ) ;
457
462
458
463
RepositoryScope ( versionAndBranchFinder , ( fixture , vv ) =>
459
464
{
0 commit comments