|
1 |
| -using System; |
2 |
| -using System.IO; |
3 |
| -using System.Text; |
4 |
| -using GitTools.Testing; |
| 1 | +using GitTools.Testing; |
5 | 2 | using GitVersion;
|
6 | 3 | using GitVersion.Helpers;
|
7 | 4 | using NUnit.Framework;
|
8 | 5 | using Shouldly;
|
| 6 | +using System; |
| 7 | +using System.IO; |
| 8 | +using System.Text; |
9 | 9 |
|
10 | 10 | [TestFixture]
|
11 | 11 | public class ExecuteCoreTests
|
@@ -60,6 +60,59 @@ public void CacheFileExistsOnDisk()
|
60 | 60 | info.ShouldContain("Deserializing version variables from cache file", () => info);
|
61 | 61 | }
|
62 | 62 |
|
| 63 | + |
| 64 | + [Test] |
| 65 | + public void CacheFileExistsOnDiskWhenOverrideConfigIsSpecifiedVersionShouldBeDynamicallyCalculatedWithoutSavingInCache() |
| 66 | + { |
| 67 | + const string versionCacheFileContent = @" |
| 68 | +Major: 4 |
| 69 | +Minor: 10 |
| 70 | +Patch: 3 |
| 71 | +PreReleaseTag: test.19 |
| 72 | +PreReleaseTagWithDash: -test.19 |
| 73 | +PreReleaseLabel: test |
| 74 | +PreReleaseNumber: 19 |
| 75 | +BuildMetaData: |
| 76 | +BuildMetaDataPadded: |
| 77 | +FullBuildMetaData: Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f |
| 78 | +MajorMinorPatch: 4.10.3 |
| 79 | +SemVer: 4.10.3-test.19 |
| 80 | +LegacySemVer: 4.10.3-test19 |
| 81 | +LegacySemVerPadded: 4.10.3-test0019 |
| 82 | +AssemblySemVer: 4.10.3.0 |
| 83 | +FullSemVer: 4.10.3-test.19 |
| 84 | +InformationalVersion: 4.10.3-test.19+Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f |
| 85 | +BranchName: feature/test |
| 86 | +Sha: dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f |
| 87 | +NuGetVersionV2: 4.10.3-test0019 |
| 88 | +NuGetVersion: 4.10.3-test0019 |
| 89 | +CommitsSinceVersionSource: 19 |
| 90 | +CommitsSinceVersionSourcePadded: 0019 |
| 91 | +CommitDate: 2015-11-10 |
| 92 | +"; |
| 93 | + |
| 94 | + var versionAndBranchFinder = new ExecuteCore(fileSystem); |
| 95 | + |
| 96 | + var info = RepositoryScope(versionAndBranchFinder, (fixture, vv) => |
| 97 | + { |
| 98 | + fileSystem.WriteAllText(vv.FileName, versionCacheFileContent); |
| 99 | + |
| 100 | + var gitPreparer = new GitPreparer(null, null, null, false, fixture.RepositoryPath); |
| 101 | + var cacheDirectory = GitVersionCache.GetCacheDirectory(gitPreparer); |
| 102 | + |
| 103 | + var cacheDirectoryTimestamp = fileSystem.GetLastDirectoryWrite(cacheDirectory); |
| 104 | + |
| 105 | + vv = versionAndBranchFinder.ExecuteGitVersion(null, null, null, null, false, fixture.RepositoryPath, null, new Config() { TagPrefix = "prefix" }); |
| 106 | + |
| 107 | + vv.AssemblySemVer.ShouldBe("0.1.0.0"); |
| 108 | + |
| 109 | + var cachedDirectoryTimestampAfter = fileSystem.GetLastDirectoryWrite(cacheDirectory); |
| 110 | + cachedDirectoryTimestampAfter.ShouldBe(cacheDirectoryTimestamp, () => "Cache was updated when override config was set"); |
| 111 | + }); |
| 112 | + |
| 113 | + info.ShouldContain("Override config from command line", () => info); |
| 114 | + } |
| 115 | + |
63 | 116 | [Test]
|
64 | 117 | public void CacheFileIsMissing()
|
65 | 118 | {
|
|
0 commit comments