Skip to content

Commit bcbf146

Browse files
ruhullahshahRuh Ullah Shah
authored and
Ruh Ullah Shah
committed
Added Testcases
1 parent 4f70ef7 commit bcbf146

File tree

4 files changed

+109
-157
lines changed

4 files changed

+109
-157
lines changed

src/GitVersionCore/GitVersionCore.csproj

Lines changed: 0 additions & 156 deletions
Original file line numberDiff line numberDiff line change
@@ -24,132 +24,11 @@
2424
<PackageReference Include="JetBrains.Annotations" Version="$(PackageVersion_JetBrainsAnnotations)"></PackageReference>
2525
<PackageReference Include="YamlDotNet" Version="$(PackageVersion_YamlDotNet)" />
2626
</ItemGroup>
27-
<<<<<<< HEAD
2827

2928
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
3029
<PackageReference Include="System.Net.Requests" Version="4.3.0" />
3130
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
3231
<PackageReference Include="System.Reflection.TypeExtensions" Version="4.5.1" />
33-
=======
34-
<ItemGroup>
35-
<Compile Include="AssemblyFileVersioningScheme.cs" />
36-
<Compile Include="AssemblyVersioningScheme.cs" />
37-
<Compile Include="AssemblyVersionsGenerator.cs" />
38-
<Compile Include="Authentication.cs" />
39-
<Compile Include="BranchCommit.cs" />
40-
<Compile Include="BranchConfigurationCalculator.cs" />
41-
<Compile Include="BuildServers\AppVeyor.cs" />
42-
<Compile Include="BuildServers\BuildServerBase.cs" />
43-
<Compile Include="BuildServers\BuildServerList.cs" />
44-
<Compile Include="BuildServers\ContinuaCi.cs" />
45-
<Compile Include="BuildServers\GitLabCi.cs" />
46-
<Compile Include="BuildServers\IBuildServer.cs" />
47-
<Compile Include="BuildServers\Jenkins.cs" />
48-
<Compile Include="BuildServers\MyGet.cs" />
49-
<Compile Include="BuildServers\TeamCity.cs" />
50-
<Compile Include="BuildServers\VsoAgent.cs" />
51-
<Compile Include="Configuration\BranchConfig.cs" />
52-
<Compile Include="Configuration\Config.cs" />
53-
<Compile Include="Configuration\ConsoleAdapter.cs" />
54-
<Compile Include="Configuration\GitVersionConfigurationException.cs" />
55-
<Compile Include="Configuration\IConsole.cs" />
56-
<Compile Include="Configuration\IgnoreConfig.cs" />
57-
<Compile Include="Configuration\Init\BuildServer\AppveyorPublicPrivate.cs" />
58-
<Compile Include="Configuration\Init\BuildServer\AppVeyorSetup.cs" />
59-
<Compile Include="Configuration\Init\BuildServer\SetupBuildScripts.cs" />
60-
<Compile Include="Configuration\Init\SetConfig\AssemblyVersioningSchemeSetting.cs" />
61-
<Compile Include="Configuration\Init\SetNextVersion.cs" />
62-
<Compile Include="Configuration\Init\Wizard\ConfigInitWizard.cs" />
63-
<Compile Include="Configuration\ConfigSerialiser.cs" />
64-
<Compile Include="Configuration\ConfigurationProvider.cs" />
65-
<Compile Include="Configuration\IncrementStrategy.cs" />
66-
<Compile Include="Configuration\LegacyBranchConfig.cs" />
67-
<Compile Include="Configuration\LegacyConfig.cs" />
68-
<Compile Include="Configuration\LegacyConfigNotifier.cs" />
69-
<Compile Include="Configuration\OldConfigurationException.cs" />
70-
<Compile Include="Configuration\Init\Wizard\ConfigInitWizardStep.cs" />
71-
<Compile Include="Configuration\Init\SetConfig\ConfigureBranch.cs" />
72-
<Compile Include="Configuration\Init\SetConfig\ConfigureBranches.cs" />
73-
<Compile Include="Configuration\Init\EditConfigStep.cs" />
74-
<Compile Include="Configuration\Init\Wizard\FinishedSetupStep.cs" />
75-
<Compile Include="Configuration\Init\Wizard\GitFlowSetupStep.cs" />
76-
<Compile Include="Configuration\Init\Wizard\GitHubFlowStep.cs" />
77-
<Compile Include="Configuration\Init\Wizard\PickBranchingStrategy2Step.cs" />
78-
<Compile Include="Configuration\Init\Wizard\PickBranchingStrategy3Step.cs" />
79-
<Compile Include="Configuration\Init\Wizard\PickBranchingStrategy1Step.cs" />
80-
<Compile Include="Configuration\Init\SetConfig\SetBranchIncrementMode.cs" />
81-
<Compile Include="Configuration\Init\SetConfig\SetBranchTag.cs" />
82-
<Compile Include="Configuration\Init\SetConfig\GlobalModeSetting.cs" />
83-
<Compile Include="Configuration\Init\Wizard\PickBranchingStrategyStep.cs" />
84-
<Compile Include="Configuration\Init\StepResult.cs" />
85-
<Compile Include="EffectiveConfiguration.cs" />
86-
<Compile Include="ExecuteCore.cs" />
87-
<Compile Include="Extensions\ReadEmbeddedResourceExtensions.cs" />
88-
<Compile Include="GitPreparer.cs" />
89-
<Compile Include="GitRepoMetadataProvider.cs" />
90-
<Compile Include="GitVersionCache.cs" />
91-
<Compile Include="GitVersionCacheKey.cs" />
92-
<Compile Include="GitVersionCacheKeyFactory.cs" />
93-
<Compile Include="GitVersionException.cs" />
94-
<Compile Include="GitVersionInformationResources\GitVersionInformationGenerator.cs" />
95-
<Compile Include="Helpers\EncodingHelper.cs" />
96-
<Compile Include="Helpers\FileSystem.cs" />
97-
<Compile Include="Helpers\IFileSystem.cs" />
98-
<Compile Include="Helpers\IThreadSleep.cs" />
99-
<Compile Include="Helpers\OperationWithExponentialBackoff.cs" />
100-
<Compile Include="Helpers\ServiceMessageEscapeHelper.cs" />
101-
<Compile Include="Helpers\ThreadSleep.cs" />
102-
<Compile Include="IncrementStrategyFinder.cs" />
103-
<Compile Include="LoggerWrapper.cs" />
104-
<Compile Include="MergeMessage.cs" />
105-
<Compile Include="OutputVariables\VersionVariables.cs" />
106-
<Compile Include="SemanticVersionExtensions.cs" />
107-
<Compile Include="SemanticVersionFormatValues.cs" />
108-
<Compile Include="VerbosityLevel.cs" />
109-
<Compile Include="VersionAssemblyInfoResources\AssemblyInfoFileUpdater.cs" />
110-
<Compile Include="TemplateManager.cs" />
111-
<Compile Include="VersionCalculation\MainlineVersionCalculator.cs" />
112-
<Compile Include="VersionFilters\MinDateVersionFilter.cs" />
113-
<Compile Include="VersionFilters\IVersionFilter.cs" />
114-
<Compile Include="VersionFilters\ShaVersionFilter.cs" />
115-
<Compile Include="StringFormatWith.cs" />
116-
<Compile Include="VersionCalculation\BaseVersionCalculator.cs" />
117-
<Compile Include="VersionCalculation\BaseVersionCalculators\BaseVersion.cs" />
118-
<Compile Include="VersionCalculation\BaseVersionCalculators\ConfigNextVersionBaseVersionStrategy.cs" />
119-
<Compile Include="VersionCalculation\BaseVersionCalculators\TaggedCommitVersionStrategy.cs" />
120-
<Compile Include="VersionCalculation\BaseVersionCalculators\MergeMessageBaseVersionStrategy.cs" />
121-
<Compile Include="VersionCalculation\BaseVersionCalculators\VersionInBranchNameBaseVersionStrategy.cs" />
122-
<Compile Include="VersionCalculation\BaseVersionStrategy.cs" />
123-
<Compile Include="VersionCalculation\DevelopVersionStrategy.cs" />
124-
<Compile Include="VersionCalculation\FallbackBaseVersionStrategy.cs" />
125-
<Compile Include="VersionCalculation\IBaseVersionCalculator.cs" />
126-
<Compile Include="VersionCalculation\IMetaDataCalculator.cs" />
127-
<Compile Include="VersionCalculation\MetaDataCalculator.cs" />
128-
<Compile Include="VersionCalculation\NextVersionCalculator.cs" />
129-
<Compile Include="VersioningModes\ContinuousDeliveryMode.cs" />
130-
<Compile Include="VersioningModes\ContinuousDeploymentMode.cs" />
131-
<Compile Include="VersioningModes\VersioningMode.cs" />
132-
<Compile Include="VersioningModes\VersioningModeBase.cs" />
133-
<Compile Include="VersioningModes\VersioningModeExtension.cs" />
134-
<Compile Include="Extensions\ExtensionMethods.cs" />
135-
<Compile Include="GitVersionContext.cs" />
136-
<Compile Include="GitVersionFinder.cs" />
137-
<Compile Include="Helpers\DeleteHelper.cs" />
138-
<Compile Include="LambdaEqualityHelper.cs" />
139-
<Compile Include="LibGitExtensions.cs" />
140-
<Compile Include="Logger.cs" />
141-
<Compile Include="OutputFormatters\BuildOutputFormatter.cs" />
142-
<Compile Include="OutputFormatters\JsonOutputFormatter.cs" />
143-
<Compile Include="OutputType.cs" />
144-
<Compile Include="OutputVariables\VariableProvider.cs" />
145-
<Compile Include="AssemblyInfo.cs" />
146-
<Compile Include="SearchPath.cs" />
147-
<Compile Include="SemanticVersion.cs" />
148-
<Compile Include="SemanticVersionBuildMetaData.cs" />
149-
<Compile Include="SemanticVersionPreReleaseTag.cs" />
150-
<Compile Include="BuildServers\TravisCI.cs" />
151-
<Compile Include="WixVersionFileUpdater.cs" />
152-
>>>>>>> Adding support to generate Wix version files
15332
</ItemGroup>
15433

15534
<ItemGroup>
@@ -165,40 +44,5 @@
16544
<EmbeddedResource Include="VersionAssemblyInfoResources\AddFormats\**\*.*" />
16645
<EmbeddedResource Include="VersionAssemblyInfoResources\Templates\**\*.*" />
16746
</ItemGroup>
168-
<<<<<<< HEAD
16947

17048
</Project>
171-
=======
172-
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
173-
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
174-
<PropertyGroup>
175-
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
176-
</PropertyGroup>
177-
<Error Condition="!Exists('..\packages\PepitaPackage.1.21.4\build\PepitaPackage.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\PepitaPackage.1.21.4\build\PepitaPackage.targets'))" />
178-
<Error Condition="!Exists('..\packages\LibGit2Sharp.NativeBinaries.1.0.160\build\LibGit2Sharp.NativeBinaries.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\LibGit2Sharp.NativeBinaries.1.0.160\build\LibGit2Sharp.NativeBinaries.props'))" />
179-
<Error Condition="!Exists('..\packages\Fody.2.0.8\build\portable-net+sl+win+wpa+wp\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.2.0.8\build\portable-net+sl+win+wpa+wp\Fody.targets'))" />
180-
</Target>
181-
<PropertyGroup>
182-
<PostBuildEvent>
183-
</PostBuildEvent>
184-
</PropertyGroup>
185-
<Target Name="Clean">
186-
<ItemGroup>
187-
<RefFilesToDelete Include="$(BuildDir)NuGetRefBuild\**\*.*" />
188-
</ItemGroup>
189-
<Delete Files="@(RefFilesToDelete)" />
190-
</Target>
191-
<Target Name="AfterBuild" DependsOnTargets="Clean">
192-
<!-- NugetRefBuild -->
193-
<MakeDir Directories="$(SolutionDir)NuGetRefBuild\lib\Net45" />
194-
<Copy SourceFiles="$(OutputPath)GitVersionCore.dll" DestinationFolder="$(BuildDir)NuGetRefBuild\lib\Net45" />
195-
<Copy SourceFiles="$(OutputPath)GitVersionCore.pdb" DestinationFolder="$(BuildDir)NuGetRefBuild\lib\Net45" Condition="Exists('$(OutputPath)GitVersionCore.pdb')" />
196-
<Copy SourceFiles="$(OutputPath)GitVersionCore.dll.mdb" DestinationFolder="$(BuildDir)NuGetRefBuild\lib\Net45" Condition="Exists('$(OutputPath)GitVersionCore.dll.mdb')" />
197-
<Copy SourceFiles="$(OutputPath)GitVersionCore.xml" DestinationFolder="$(BuildDir)NuGetRefBuild\lib\Net45" />
198-
<Copy SourceFiles="$(ProjectDir)NugetAssets\GitVersion.nuspec" DestinationFolder="$(BuildDir)NuGetRefBuild" />
199-
<PepitaPackage.CreatePackageTask NuGetBuildDirectory="$(BuildDir)NuGetRefBuild" MetadataAssembly="$(OutputPath)GitVersionCore.dll" Version="$(GitVersion_NuGetVersion)" />
200-
</Target>
201-
<Import Project="..\packages\PepitaPackage.1.21.4\build\PepitaPackage.targets" Condition="Exists('..\packages\PepitaPackage.1.21.4\build\PepitaPackage.targets')" />
202-
<Import Project="..\packages\Fody.2.0.8\build\portable-net+sl+win+wpa+wp\Fody.targets" Condition="Exists('..\packages\Fody.2.0.8\build\portable-net+sl+win+wpa+wp\Fody.targets')" />
203-
</Project>
204-
>>>>>>> Adding support to generate Wix version files

src/GitVersionCore/WixVersionFileUpdater.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ public WixVersionFileUpdater(string workingDirectory, VersionVariables variables
2020
this.fileSystem = fileSystem;
2121
}
2222

23+
public static string GetWixVersionFileName()
24+
{
25+
return WIX_VERSION_FILE;
26+
}
27+
2328
public void Update()
2429
{
2530
Logger.WriteInfo("Updating GitVersion_WixVersion.wxi");

src/GitVersionExe.Tests/HelpWriterTests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ public void AllArgsAreInHelp()
1717
{ "LogFilePath" , "/l" },
1818
{ "DynamicRepositoryLocation" , "/dynamicRepoLocation" },
1919
{ "IsHelp", "/?" },
20-
{ "IsVersion", "/version" }
20+
{ "IsVersion", "/version" },
21+
{ "UpdateWixVersionFile", "/updatewixversionfile" }
2122
};
2223
string helpText = null;
2324

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
namespace GitVersionExe.Tests
2+
{
3+
using System.IO;
4+
using System.Linq;
5+
using NUnit.Framework;
6+
7+
using GitVersion;
8+
using GitTools.Testing;
9+
using System.Collections.Generic;
10+
using System.Xml;
11+
12+
[TestFixture]
13+
class UpdateWixVersionFileTests
14+
{
15+
private string WixVersionFileName;
16+
17+
[SetUp]
18+
public void Setup()
19+
{
20+
WixVersionFileName = WixVersionFileUpdater.GetWixVersionFileName();
21+
}
22+
23+
[Test]
24+
public void WixVersionFileCreationTest()
25+
{
26+
using (var fixture = new EmptyRepositoryFixture())
27+
{
28+
fixture.MakeATaggedCommit("1.2.3");
29+
fixture.MakeACommit();
30+
31+
GitVersionHelper.ExecuteIn(fixture.RepositoryPath, arguments: " /updatewixversionfile");
32+
Assert.IsTrue(File.Exists(Path.Combine(fixture.RepositoryPath, WixVersionFileName)));
33+
}
34+
}
35+
36+
[Test]
37+
public void WixVersionFileVarCountTest()
38+
{
39+
//Make sure we have captured all the version variables by count in the Wix version file
40+
using (var fixture = new EmptyRepositoryFixture())
41+
{
42+
fixture.MakeATaggedCommit("1.2.3");
43+
fixture.MakeACommit();
44+
45+
var gitVersionExecutionResults = GitVersionHelper.ExecuteIn(fixture.RepositoryPath, arguments: null);
46+
VersionVariables vars = gitVersionExecutionResults.OutputVariables;
47+
48+
GitVersionHelper.ExecuteIn(fixture.RepositoryPath, arguments: " /updatewixversionfile");
49+
50+
var gitVersionVarsInWix = GetGitVersionVarsInWixFile(Path.Combine(fixture.RepositoryPath, WixVersionFileName));
51+
var gitVersionVars = VersionVariables.AvailableVariables;
52+
53+
Assert.AreEqual(gitVersionVars.Count(), gitVersionVarsInWix.Count);
54+
}
55+
}
56+
57+
[Test]
58+
public void WixVersionFileContentTest()
59+
{
60+
using (var fixture = new EmptyRepositoryFixture())
61+
{
62+
fixture.MakeATaggedCommit("1.2.3");
63+
fixture.MakeACommit();
64+
65+
var gitVersionExecutionResults = GitVersionHelper.ExecuteIn(fixture.RepositoryPath, arguments: null);
66+
VersionVariables vars = gitVersionExecutionResults.OutputVariables;
67+
68+
GitVersionHelper.ExecuteIn(fixture.RepositoryPath, arguments: " /updatewixversionfile");
69+
70+
var gitVersionVarsInWix = GetGitVersionVarsInWixFile(Path.Combine(fixture.RepositoryPath, WixVersionFileName));
71+
var gitVersionVars = VersionVariables.AvailableVariables;
72+
73+
foreach (var variable in gitVersionVars)
74+
{
75+
string value = null;
76+
vars.TryGetValue(variable, out value);
77+
//Make sure the variable is present in the Wix file
78+
Assert.IsTrue(gitVersionVarsInWix.ContainsKey(variable));
79+
//Make sure the values are equal
80+
Assert.AreEqual(value, gitVersionVarsInWix[variable]);
81+
}
82+
}
83+
}
84+
85+
private Dictionary<string, string> GetGitVersionVarsInWixFile(string file)
86+
{
87+
var gitVersionVarsInWix = new Dictionary<string, string>();
88+
using (var reader = new XmlTextReader(file))
89+
{
90+
while (reader.Read())
91+
{
92+
if (reader.Name == "define")
93+
{
94+
string[] component = reader.Value.Split('=');
95+
gitVersionVarsInWix[component[0]] = component[1].TrimStart('"').TrimEnd('"');
96+
}
97+
}
98+
}
99+
return gitVersionVarsInWix;
100+
}
101+
}
102+
}

0 commit comments

Comments
 (0)