diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2022-05-16 16:07:43 -0500 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2022-05-17 22:54:13 -0500 |
commit | 46fb0597d4d6192833ddcf836f4bcf6295ef0aaf (patch) | |
tree | bfe188365bb37b298c42238d39568ebfc8809dcb /src/api/burn | |
parent | 0ea53e27361cbfe664df98d717e55005f329aff1 (diff) | |
download | wix-46fb0597d4d6192833ddcf836f4bcf6295ef0aaf.tar.gz wix-46fb0597d4d6192833ddcf836f4bcf6295ef0aaf.tar.bz2 wix-46fb0597d4d6192833ddcf836f4bcf6295ef0aaf.zip |
Keep track of when parts of verutil/WixVersions are missing.
Return null when WixVersion.TryParse returns false.
6776
Diffstat (limited to 'src/api/burn')
-rw-r--r-- | src/api/burn/WixToolset.Mba.Core/VerUtil.cs | 4 | ||||
-rw-r--r-- | src/api/burn/WixToolset.Mba.Core/VerUtilVersion.cs | 24 | ||||
-rw-r--r-- | src/api/burn/test/WixToolsetTest.Mba.Core/VerUtilFixture.cs | 8 |
3 files changed, 36 insertions, 0 deletions
diff --git a/src/api/burn/WixToolset.Mba.Core/VerUtil.cs b/src/api/burn/WixToolset.Mba.Core/VerUtil.cs index 611f9710..14552310 100644 --- a/src/api/burn/WixToolset.Mba.Core/VerUtil.cs +++ b/src/api/burn/WixToolset.Mba.Core/VerUtil.cs | |||
@@ -68,6 +68,10 @@ namespace WixToolset.Mba.Core | |||
68 | public IntPtr rgReleaseLabels; | 68 | public IntPtr rgReleaseLabels; |
69 | public IntPtr cchMetadataOffset; | 69 | public IntPtr cchMetadataOffset; |
70 | public bool fInvalid; | 70 | public bool fInvalid; |
71 | public bool fHasMajor; | ||
72 | public bool fHasMinor; | ||
73 | public bool fHasPatch; | ||
74 | public bool fHasRevision; | ||
71 | } | 75 | } |
72 | 76 | ||
73 | internal static string VersionStringFromOffset(IntPtr wzVersion, IntPtr cchOffset, int? cchLength = null) | 77 | internal static string VersionStringFromOffset(IntPtr wzVersion, IntPtr cchOffset, int? cchLength = null) |
diff --git a/src/api/burn/WixToolset.Mba.Core/VerUtilVersion.cs b/src/api/burn/WixToolset.Mba.Core/VerUtilVersion.cs index 731dedaf..e0312474 100644 --- a/src/api/burn/WixToolset.Mba.Core/VerUtilVersion.cs +++ b/src/api/burn/WixToolset.Mba.Core/VerUtilVersion.cs | |||
@@ -25,6 +25,10 @@ namespace WixToolset.Mba.Core | |||
25 | this.ReleaseLabels = new VerUtilVersionReleaseLabel[version.cReleaseLabels]; | 25 | this.ReleaseLabels = new VerUtilVersionReleaseLabel[version.cReleaseLabels]; |
26 | this.Metadata = VerUtil.VersionStringFromOffset(version.sczVersion, version.cchMetadataOffset); | 26 | this.Metadata = VerUtil.VersionStringFromOffset(version.sczVersion, version.cchMetadataOffset); |
27 | this.IsInvalid = version.fInvalid; | 27 | this.IsInvalid = version.fInvalid; |
28 | this.HasMajor = version.fHasMajor; | ||
29 | this.HasMinor = version.fHasMinor; | ||
30 | this.HasPatch = version.fHasPatch; | ||
31 | this.HasRevision = version.fHasRevision; | ||
28 | 32 | ||
29 | for (var i = 0; i < version.cReleaseLabels; ++i) | 33 | for (var i = 0; i < version.cReleaseLabels; ++i) |
30 | { | 34 | { |
@@ -80,6 +84,26 @@ namespace WixToolset.Mba.Core | |||
80 | /// </summary> | 84 | /// </summary> |
81 | public bool IsInvalid { get; private set; } | 85 | public bool IsInvalid { get; private set; } |
82 | 86 | ||
87 | /// <summary> | ||
88 | /// Whether the Major part was specified. | ||
89 | /// </summary> | ||
90 | public bool HasMajor { get; private set; } | ||
91 | |||
92 | /// <summary> | ||
93 | /// Whether the Minor part was specified. | ||
94 | /// </summary> | ||
95 | public bool HasMinor { get; private set; } | ||
96 | |||
97 | /// <summary> | ||
98 | /// Whether the Patch part was specified. | ||
99 | /// </summary> | ||
100 | public bool HasPatch { get; private set; } | ||
101 | |||
102 | /// <summary> | ||
103 | /// Whether the Revision part was specified. | ||
104 | /// </summary> | ||
105 | public bool HasRevision { get; private set; } | ||
106 | |||
83 | /// <inheritdoc/> | 107 | /// <inheritdoc/> |
84 | public void Dispose() | 108 | public void Dispose() |
85 | { | 109 | { |
diff --git a/src/api/burn/test/WixToolsetTest.Mba.Core/VerUtilFixture.cs b/src/api/burn/test/WixToolsetTest.Mba.Core/VerUtilFixture.cs index ceb1b12a..6fb8aced 100644 --- a/src/api/burn/test/WixToolsetTest.Mba.Core/VerUtilFixture.cs +++ b/src/api/burn/test/WixToolsetTest.Mba.Core/VerUtilFixture.cs | |||
@@ -57,6 +57,10 @@ namespace WixToolsetTest.Mba.Core | |||
57 | Assert.Empty(parsedVersion.ReleaseLabels); | 57 | Assert.Empty(parsedVersion.ReleaseLabels); |
58 | Assert.Equal("", parsedVersion.Metadata); | 58 | Assert.Equal("", parsedVersion.Metadata); |
59 | Assert.False(parsedVersion.IsInvalid); | 59 | Assert.False(parsedVersion.IsInvalid); |
60 | Assert.True(parsedVersion.HasMajor); | ||
61 | Assert.True(parsedVersion.HasMinor); | ||
62 | Assert.True(parsedVersion.HasPatch); | ||
63 | Assert.True(parsedVersion.HasRevision); | ||
60 | } | 64 | } |
61 | 65 | ||
62 | [Fact] | 66 | [Fact] |
@@ -74,6 +78,10 @@ namespace WixToolsetTest.Mba.Core | |||
74 | Assert.Equal(5, parsedVersion.ReleaseLabels.Length); | 78 | Assert.Equal(5, parsedVersion.ReleaseLabels.Length); |
75 | Assert.Equal("+abc123", parsedVersion.Metadata); | 79 | Assert.Equal("+abc123", parsedVersion.Metadata); |
76 | Assert.True(parsedVersion.IsInvalid); | 80 | Assert.True(parsedVersion.IsInvalid); |
81 | Assert.True(parsedVersion.HasMajor); | ||
82 | Assert.True(parsedVersion.HasMinor); | ||
83 | Assert.True(parsedVersion.HasPatch); | ||
84 | Assert.True(parsedVersion.HasRevision); | ||
77 | 85 | ||
78 | Assert.Equal("a", parsedVersion.ReleaseLabels[0].Label); | 86 | Assert.Equal("a", parsedVersion.ReleaseLabels[0].Label); |
79 | Assert.False(parsedVersion.ReleaseLabels[0].IsNumeric); | 87 | Assert.False(parsedVersion.ReleaseLabels[0].IsNumeric); |