@@ -200,42 +200,45 @@ public void PrepeareRelease_ReleaseBranchWithVersionDecrement(string initialVers
200200
201201 [ Theory ]
202202 // base test cases
203- [ InlineData ( "1.2-beta" , null , null , null , null , null , "v1.2" , "1.2" , "1.3-alpha" ) ]
204- [ InlineData ( "1.2-beta" , null , null , null , "rc" , null , "v1.2" , "1.2-rc" , "1.3-alpha" ) ]
205- [ InlineData ( "1.2-beta.{height}" , null , null , null , null , null , "v1.2" , "1.2" , "1.3-alpha.{height}" ) ]
206- [ InlineData ( "1.2-beta.{height}" , null , null , null , "rc" , null , "v1.2" , "1.2-rc.{height}" , "1.3-alpha.{height}" ) ]
203+ [ InlineData ( "1.2-beta" , null , null , null , null , null , null , "v1.2" , "1.2" , "1.3-alpha" ) ]
204+ [ InlineData ( "1.2-beta" , null , null , null , "rc" , null , null , "v1.2" , "1.2-rc" , "1.3-alpha" ) ]
205+ [ InlineData ( "1.2-beta.{height}" , null , null , null , null , null , null , "v1.2" , "1.2" , "1.3-alpha.{height}" ) ]
206+ [ InlineData ( "1.2-beta.{height}" , null , null , null , "rc" , null , null , "v1.2" , "1.2-rc.{height}" , "1.3-alpha.{height}" ) ]
207207 // modify release.branchName
208- [ InlineData ( "1.2-beta" , "v{version}release" , ReleaseVersionIncrement . Minor , "alpha" , null , null , "v1.2release" , "1.2" , "1.3-alpha" ) ]
209- [ InlineData ( "1.2-beta" , "v{version}release" , ReleaseVersionIncrement . Minor , "alpha" , "rc" , null , "v1.2release" , "1.2-rc" , "1.3-alpha" ) ]
210- [ InlineData ( "1.2-beta.{height}" , "v{version}release" , ReleaseVersionIncrement . Minor , "alpha" , null , null , "v1.2release" , "1.2" , "1.3-alpha.{height}" ) ]
211- [ InlineData ( "1.2-beta.{height}" , "v{version}release" , ReleaseVersionIncrement . Minor , "alpha" , "rc" , null , "v1.2release" , "1.2-rc.{height}" , "1.3-alpha.{height}" ) ]
208+ [ InlineData ( "1.2-beta" , "v{version}release" , ReleaseVersionIncrement . Minor , "alpha" , null , null , null , "v1.2release" , "1.2" , "1.3-alpha" ) ]
209+ [ InlineData ( "1.2-beta" , "v{version}release" , ReleaseVersionIncrement . Minor , "alpha" , "rc" , null , null , "v1.2release" , "1.2-rc" , "1.3-alpha" ) ]
210+ [ InlineData ( "1.2-beta.{height}" , "v{version}release" , ReleaseVersionIncrement . Minor , "alpha" , null , null , null , "v1.2release" , "1.2" , "1.3-alpha.{height}" ) ]
211+ [ InlineData ( "1.2-beta.{height}" , "v{version}release" , ReleaseVersionIncrement . Minor , "alpha" , "rc" , null , null , "v1.2release" , "1.2-rc.{height}" , "1.3-alpha.{height}" ) ]
212212 // modify release.versionIncrement: "Major"
213- [ InlineData ( "1.2-beta" , null , ReleaseVersionIncrement . Major , "alpha" , null , null , "v1.2" , "1.2" , "2.0-alpha" ) ]
214- [ InlineData ( "1.2-beta" , null , ReleaseVersionIncrement . Major , "alpha" , "rc" , null , "v1.2" , "1.2-rc" , "2.0-alpha" ) ]
215- [ InlineData ( "1.2-beta.{height}" , null , ReleaseVersionIncrement . Major , "alpha" , null , null , "v1.2" , "1.2" , "2.0-alpha.{height}" ) ]
216- [ InlineData ( "1.2-beta.{height}" , null , ReleaseVersionIncrement . Major , "alpha" , "rc" , null , "v1.2" , "1.2-rc.{height}" , "2.0-alpha.{height}" ) ]
213+ [ InlineData ( "1.2-beta" , null , ReleaseVersionIncrement . Major , "alpha" , null , null , null , "v1.2" , "1.2" , "2.0-alpha" ) ]
214+ [ InlineData ( "1.2-beta" , null , ReleaseVersionIncrement . Major , "alpha" , "rc" , null , null , "v1.2" , "1.2-rc" , "2.0-alpha" ) ]
215+ [ InlineData ( "1.2-beta.{height}" , null , ReleaseVersionIncrement . Major , "alpha" , null , null , null , "v1.2" , "1.2" , "2.0-alpha.{height}" ) ]
216+ [ InlineData ( "1.2-beta.{height}" , null , ReleaseVersionIncrement . Major , "alpha" , "rc" , null , null , "v1.2" , "1.2-rc.{height}" , "2.0-alpha.{height}" ) ]
217217 // modify release.versionIncrement: "Build"
218- [ InlineData ( "1.2.3-beta" , null , ReleaseVersionIncrement . Build , "alpha" , null , null , "v1.2.3" , "1.2.3" , "1.2.4-alpha" ) ]
219- [ InlineData ( "1.2.3-beta" , null , ReleaseVersionIncrement . Build , "alpha" , "rc" , null , "v1.2.3" , "1.2.3-rc" , "1.2.4-alpha" ) ]
220- [ InlineData ( "1.2.3-beta.{height}" , null , ReleaseVersionIncrement . Build , "alpha" , null , null , "v1.2.3" , "1.2.3" , "1.2.4-alpha.{height}" ) ]
221- [ InlineData ( "1.2.3-beta.{height}" , null , ReleaseVersionIncrement . Build , "alpha" , "rc" , null , "v1.2.3" , "1.2.3-rc.{height}" , "1.2.4-alpha.{height}" ) ]
218+ [ InlineData ( "1.2.3-beta" , null , ReleaseVersionIncrement . Build , "alpha" , null , null , null , "v1.2.3" , "1.2.3" , "1.2.4-alpha" ) ]
219+ [ InlineData ( "1.2.3-beta" , null , ReleaseVersionIncrement . Build , "alpha" , "rc" , null , null , "v1.2.3" , "1.2.3-rc" , "1.2.4-alpha" ) ]
220+ [ InlineData ( "1.2.3-beta.{height}" , null , ReleaseVersionIncrement . Build , "alpha" , null , null , null , "v1.2.3" , "1.2.3" , "1.2.4-alpha.{height}" ) ]
221+ [ InlineData ( "1.2.3-beta.{height}" , null , ReleaseVersionIncrement . Build , "alpha" , "rc" , null , null , "v1.2.3" , "1.2.3-rc.{height}" , "1.2.4-alpha.{height}" ) ]
222222 // modify release.firstUnstableTag
223- [ InlineData ( "1.2-beta" , null , ReleaseVersionIncrement . Minor , "preview" , null , null , "v1.2" , "1.2" , "1.3-preview" ) ]
224- [ InlineData ( "1.2-beta" , null , ReleaseVersionIncrement . Minor , "preview" , "rc" , null , "v1.2" , "1.2-rc" , "1.3-preview" ) ]
225- [ InlineData ( "1.2-beta.{height}" , null , ReleaseVersionIncrement . Minor , "preview" , null , null , "v1.2" , "1.2" , "1.3-preview.{height}" ) ]
226- [ InlineData ( "1.2-beta.{height}" , null , ReleaseVersionIncrement . Minor , "preview" , "rc" , null , "v1.2" , "1.2-rc.{height}" , "1.3-preview.{height}" ) ]
223+ [ InlineData ( "1.2-beta" , null , ReleaseVersionIncrement . Minor , "preview" , null , null , null , "v1.2" , "1.2" , "1.3-preview" ) ]
224+ [ InlineData ( "1.2-beta" , null , ReleaseVersionIncrement . Minor , "preview" , "rc" , null , null , "v1.2" , "1.2-rc" , "1.3-preview" ) ]
225+ [ InlineData ( "1.2-beta.{height}" , null , ReleaseVersionIncrement . Minor , "preview" , null , null , null , "v1.2" , "1.2" , "1.3-preview.{height}" ) ]
226+ [ InlineData ( "1.2-beta.{height}" , null , ReleaseVersionIncrement . Minor , "preview" , "rc" , null , null , "v1.2" , "1.2-rc.{height}" , "1.3-preview.{height}" ) ]
227227 // include build metadata in version
228- [ InlineData ( "1.2-beta+metadata" , null , ReleaseVersionIncrement . Minor , "alpha" , null , null , "v1.2" , "1.2+metadata" , "1.3-alpha+metadata" ) ]
229- [ InlineData ( "1.2-beta+metadata" , null , ReleaseVersionIncrement . Minor , "alpha" , "rc" , null , "v1.2" , "1.2-rc+metadata" , "1.3-alpha+metadata" ) ]
230- [ InlineData ( "1.2-beta.{height}+metadata" , null , ReleaseVersionIncrement . Minor , "alpha" , null , null , "v1.2" , "1.2+metadata" , "1.3-alpha.{height}+metadata" ) ]
231- [ InlineData ( "1.2-beta.{height}+metadata" , null , ReleaseVersionIncrement . Minor , "alpha" , "rc" , null , "v1.2" , "1.2-rc.{height}+metadata" , "1.3-alpha.{height}+metadata" ) ]
228+ [ InlineData ( "1.2-beta+metadata" , null , ReleaseVersionIncrement . Minor , "alpha" , null , null , null , "v1.2" , "1.2+metadata" , "1.3-alpha+metadata" ) ]
229+ [ InlineData ( "1.2-beta+metadata" , null , ReleaseVersionIncrement . Minor , "alpha" , "rc" , null , null , "v1.2" , "1.2-rc+metadata" , "1.3-alpha+metadata" ) ]
230+ [ InlineData ( "1.2-beta.{height}+metadata" , null , ReleaseVersionIncrement . Minor , "alpha" , null , null , null , "v1.2" , "1.2+metadata" , "1.3-alpha.{height}+metadata" ) ]
231+ [ InlineData ( "1.2-beta.{height}+metadata" , null , ReleaseVersionIncrement . Minor , "alpha" , "rc" , null , null , "v1.2" , "1.2-rc.{height}+metadata" , "1.3-alpha.{height}+metadata" ) ]
232232 // versions without prerelease tags
233- [ InlineData ( "1.2" , null , ReleaseVersionIncrement . Minor , "alpha" , null , null , "v1.2" , "1.2" , "1.3-alpha" ) ]
234- [ InlineData ( "1.2" , null , ReleaseVersionIncrement . Major , "alpha" , null , null , "v1.2" , "1.2" , "2.0-alpha" ) ]
233+ [ InlineData ( "1.2" , null , ReleaseVersionIncrement . Minor , "alpha" , null , null , null , "v1.2" , "1.2" , "1.3-alpha" ) ]
234+ [ InlineData ( "1.2" , null , ReleaseVersionIncrement . Major , "alpha" , null , null , null , "v1.2" , "1.2" , "2.0-alpha" ) ]
235235 // explicitly set next version (firstUnstableTag setting will be ignored)
236- [ InlineData ( "1.2-beta" , null , null , null , null , "4.5" , "v1.2" , "1.2" , "4.5" ) ]
237- [ InlineData ( "1.2-beta" , null , null , null , null , "4.5-pre" , "v1.2" , "1.2" , "4.5-pre" ) ]
238- [ InlineData ( "1.2-beta.{height}" , null , null , null , null , "4.5-pre.{height}" , "v1.2" , "1.2" , "4.5-pre.{height}" ) ]
236+ [ InlineData ( "1.2-beta" , null , null , null , null , "4.5" , null , "v1.2" , "1.2" , "4.5" ) ]
237+ [ InlineData ( "1.2-beta" , null , null , null , null , "4.5-pre" , null , "v1.2" , "1.2" , "4.5-pre" ) ]
238+ [ InlineData ( "1.2-beta.{height}" , null , null , null , null , "4.5-pre.{height}" , null , "v1.2" , "1.2" , "4.5-pre.{height}" ) ]
239+ // explicitly set version increment overriding the setting from version.json
240+ [ InlineData ( "1.2-beta" , null , ReleaseVersionIncrement . Minor , null , null , null , ReleaseVersionIncrement . Major , "v1.2" , "1.2" , "2.0-alpha" ) ]
241+ [ InlineData ( "1.2.3-beta" , null , ReleaseVersionIncrement . Minor , null , null , null , ReleaseVersionIncrement . Build , "v1.2.3" , "1.2.3" , "1.2.4-alpha" ) ]
239242 public void PrepareRelease_Master (
240243 // data for initial setup (version and release options configured in version.json)
241244 string initialVersion ,
@@ -245,6 +248,7 @@ public void PrepareRelease_Master(
245248 // arguments passed to PrepareRelease()
246249 string releaseUnstableTag ,
247250 string nextVersion ,
251+ ReleaseVersionIncrement ? parameterVersionIncrement ,
248252 // expected versions and branch name after running PrepareRelease()
249253 string expectedBranchName ,
250254 string resultingReleaseVersion ,
@@ -295,7 +299,7 @@ public void PrepareRelease_Master(
295299
296300 // prepare release
297301 var releaseManager = new ReleaseManager ( ) ;
298- releaseManager . PrepareRelease ( this . RepoPath , releaseUnstableTag , ( nextVersion == null ? null : SemanticVersion . Parse ( nextVersion ) ) ) ;
302+ releaseManager . PrepareRelease ( this . RepoPath , releaseUnstableTag , ( nextVersion == null ? null : SemanticVersion . Parse ( nextVersion ) ) , parameterVersionIncrement ) ;
299303
300304 // check if a branch was created
301305 Assert . Contains ( this . Repo . Branches , branch => branch . FriendlyName == expectedBranchName ) ;
0 commit comments