Example #1
0
 static void DumpVersionInfo( CIBuildDescriptor buildInfo, ReleaseTagVersion t )
 {
     var nugetV2Build = t.ToString( ReleaseTagFormat.NugetPackageV2, buildInfo );
     int nugetV2BuildSNLen = SemVersion.Parse( nugetV2Build ).Prerelease.Length;
     Console.WriteLine( "{0}, CI = {1}, NuGet = {2}, NuGet CI = {3}, NugetV2Build.SpecialName.Length = {4}",
                         t,
                         t.ToString( ReleaseTagFormat.SemVer, buildInfo ),
                         t.ToString( ReleaseTagFormat.NugetPackageV2 ),
                         nugetV2Build,
                         nugetV2BuildSNLen
                         );
     Assert.That( nugetV2BuildSNLen, Is.LessThanOrEqualTo( 20 ) );
 }
Example #2
0
        public void CIBuildVersion_LastReleaseBased_are_correctely_ordered( string tag )
        {
            ReleaseTagFormat formatV2 = ReleaseTagFormat.NugetPackageV2;

            var t = ReleaseTagVersion.TryParse( tag );
            var v = SemVersion.Parse( t.ToString( ReleaseTagFormat.SemVer ), true );
            var tNext = new ReleaseTagVersion( t.OrderedVersion + 1 );
            var vNext = SemVersion.Parse( tNext.ToString( ReleaseTagFormat.SemVer ), true );
            var tPrev = new ReleaseTagVersion( t.OrderedVersion - 1 );
            var vPrev = SemVersion.Parse( tPrev.ToString( ReleaseTagFormat.SemVer ), true );
            Assert.That( vPrev < v, "{0} < {1}", vPrev, v );
            Assert.That( v < vNext, "{0} < {1}", v, vNext );
            
            var sNuGet = t.ToString( formatV2 );
            var sNuGetPrev = tPrev.ToString( formatV2 );
            var sNuGetNext = tNext.ToString( formatV2 );
            Assert.That( NuGetV2StringComparer.DefaultComparer.Compare( sNuGetPrev, sNuGet ) < 0, "{0} < {1}", sNuGetPrev, sNuGet );
            Assert.That( NuGetV2StringComparer.DefaultComparer.Compare( sNuGet, sNuGetNext ) < 0, "{0} < {1}", sNuGet, sNuGetNext );


            CIBuildDescriptor ci = new CIBuildDescriptor { BranchName = "dev", BuildIndex = 1 };

            string sCI =  t.ToString( ReleaseTagFormat.SemVer, ci );
            SemVersion vCi = SemVersion.Parse( sCI, true );
            Assert.That( v < vCi, "{0} < {1}", v, vCi );
            Assert.That( vCi < vNext, "{0} < {1}", vCi, vNext );

            var sNuGetCI = t.ToString( formatV2, ci );
            Assert.That( NuGetV2StringComparer.DefaultComparer.Compare( sNuGet, sNuGetCI ) < 0, "{0} < {1}", sNuGet, sNuGetCI );
            Assert.That( NuGetV2StringComparer.DefaultComparer.Compare( sNuGetCI, sNuGetNext ) < 0, "{0} < {1}", sNuGetCI, sNuGetNext );
            
            string sCiNext = tNext.ToString( ReleaseTagFormat.SemVer, ci );
            SemVersion vCiNext = SemVersion.Parse( sCiNext, true );
            Assert.That( vCiNext > vCi, "{0} > {1}", vCiNext, vCi );
            Assert.That( vCiNext > vNext, "{0} > {1}", vCiNext, vNext );

            var sNuGetCINext = tNext.ToString( formatV2, ci );
            Assert.That( NuGetV2StringComparer.DefaultComparer.Compare( sNuGetCINext, sNuGetCI ) > 0, "{0} > {1}", sNuGetCINext, sNuGetCI );
            Assert.That( NuGetV2StringComparer.DefaultComparer.Compare( sNuGetCINext, sNuGetNext ) > 0, "{0} > {1}", sNuGetCINext, sNuGetNext );

            string sCiPrev = tPrev.ToString( ReleaseTagFormat.SemVer, ci );
            SemVersion vCiPrev = SemVersion.Parse( sCiPrev, true );
            Assert.That( vCiPrev > vPrev, "{0} > {1}", vCiPrev, vPrev );
            Assert.That( vCiPrev < v, "{0} < {1}", vCiPrev, v );
            Assert.That( vCiPrev < vCiNext, "{0} < {1}", vCiPrev, vCiNext );

            var sNuGetCIPrev = tPrev.ToString( formatV2, ci );
            Assert.That( NuGetV2StringComparer.DefaultComparer.Compare( sNuGetCIPrev, sNuGetPrev ) > 0, "{0} > {1}", sNuGetCIPrev, sNuGetPrev );
            Assert.That( NuGetV2StringComparer.DefaultComparer.Compare( sNuGetCIPrev,  sNuGet ) < 0, "{0} < {1}", sNuGetCIPrev, sNuGet );
            Assert.That( NuGetV2StringComparer.DefaultComparer.Compare( sNuGetCIPrev, sNuGetCINext ) < 0, "{0} < {1}", sNuGetCIPrev, sNuGetCINext );
        }
Example #3
0
        static void DumpVersionInfo(CIBuildDescriptor buildInfo, ReleaseTagVersion t)
        {
            var nugetV2Build      = t.ToString(ReleaseTagFormat.NugetPackageV2, buildInfo);
            int nugetV2BuildSNLen = SemVersion.Parse(nugetV2Build).Prerelease.Length;

            Console.WriteLine("{0}, CI = {1}, NuGet = {2}, NuGet CI = {3}, NugetV2Build.SpecialName.Length = {4}",
                              t,
                              t.ToString(ReleaseTagFormat.SemVer, buildInfo),
                              t.ToString(ReleaseTagFormat.NugetPackageV2),
                              nugetV2Build,
                              nugetV2BuildSNLen
                              );
            Assert.That(nugetV2BuildSNLen, Is.LessThanOrEqualTo(20));
        }
 public void display_name_for_CI_build_and_check_20_characters_limit( string versions, int range )
 {
     var buildInfo = new CIBuildDescriptor() { BranchName = "develop", BuildIndex = 21 };
     foreach( var v in versions.Split( ',' ).Select( s => s.Trim() ) )
     {
         ReleaseTagVersion t = ReleaseTagVersion.TryParse( v );
         Console.WriteLine( t );
         for( int i = -range; i <= range; ++i )
         {
             var num = t.OrderedVersion + i;
             if( num > 0m && num <= ReleaseTagVersion.VeryLastVersion.OrderedVersion )
             {
                 ReleaseTagVersion tD = new ReleaseTagVersion( num );
                 DumpVersionInfo( buildInfo, tD );
             }
         }
     }
 }
Example #5
0
        public void display_versions_and_CI_version( string version, string after )
        {
            var buildInfo = new CIBuildDescriptor() { BranchName = "develop", BuildIndex = 15 };
            ReleaseTagVersion v = ReleaseTagVersion.TryParse( version );
            string vCI = v.ToString( ReleaseTagFormat.SemVer, buildInfo );
            ReleaseTagVersion vNext = new ReleaseTagVersion( v.OrderedVersion + 1 );

            Console.WriteLine( "Version = {0}, CI = {1}, Next = {2}", v, vCI, vNext );

            var vSemVer = SemVersion.Parse( v.ToString( ReleaseTagFormat.SemVer ) );
            var vCISemVer = SemVersion.Parse( vCI );
            var vNextSemVer = SemVersion.Parse( vNext.ToString( ReleaseTagFormat.SemVer ) );
            Assert.That( vSemVer < vCISemVer, "{0} < {1}", vSemVer, vCISemVer );
            Assert.That( vCISemVer < vNextSemVer, "{0} < {1}", vCISemVer, vNextSemVer );

            foreach( var vAfter in after.Split( ',' ).Select( s => SemVersion.Parse( s.Trim() )) ) 
            {
                Assert.That( vAfter.CompareTo( vCISemVer ) > 0, "{0} > {1}", vAfter, vCISemVer );
            }
        }
        public void testing_cibuild_timebased()
        {
            var now  = DateTime.UtcNow;
            var more = now.AddSeconds(1);
            {
                var sV = CIBuildDescriptor.CreateSemVerZeroTimed("develop", now);
                var v  = SVersion.Parse(sV);
                v.AsCSVersion.Should().BeNull();

                var vMore = SVersion.Parse(CIBuildDescriptor.CreateSemVerZeroTimed("develop", more));
                vMore.Should().BeGreaterThan(v);
            }
            {
                var sV = CIBuildDescriptor.CreateShortFormZeroTimed("develop", now);
                var v  = SVersion.Parse(sV);
                v.AsCSVersion.Should().BeNull();

                var vMore = SVersion.Parse(CIBuildDescriptor.CreateShortFormZeroTimed("develop", more));
                vMore.Should().BeGreaterThan(v);
            }
        }
Example #7
0
        public void display_name_for_CI_build_and_check_20_characters_limit(string versions, int range)
        {
            var buildInfo = new CIBuildDescriptor()
            {
                BranchName = "develop", BuildIndex = 21
            };

            foreach (var v in versions.Split(',').Select(s => s.Trim()))
            {
                ReleaseTagVersion t = ReleaseTagVersion.TryParse(v);
                Console.WriteLine(t);
                for (int i = -range; i <= range; ++i)
                {
                    var num = t.OrderedVersion + i;
                    if (num > 0m && num <= ReleaseTagVersion.VeryLastVersion.OrderedVersion)
                    {
                        ReleaseTagVersion tD = new ReleaseTagVersion(num);
                        DumpVersionInfo(buildInfo, tD);
                    }
                }
            }
        }
        public void display_versions_and_CI_version(string version, string after)
        {
            var buildInfo = new CIBuildDescriptor()
            {
                BranchName = "develop", BuildIndex = 15
            };
            CSVersion v     = CSVersion.TryParse(version);
            string    vCI   = v.ToString(CSVersionFormat.Normalized, buildInfo);
            CSVersion vNext = CSVersion.Create(v.OrderedVersion + 1);

            Console.WriteLine("Version = {0}, CI = {1}, Next = {2}", v, vCI, vNext);

            var vSemVer     = SVersion.Parse(v.ToString(CSVersionFormat.Normalized));
            var vCISemVer   = SVersion.Parse(vCI);
            var vNextSemVer = SVersion.Parse(vNext.ToString(CSVersionFormat.Normalized));

            Assert.That(vSemVer < vCISemVer, "{0} < {1}", vSemVer, vCISemVer);
            Assert.That(vCISemVer < vNextSemVer, "{0} < {1}", vCISemVer, vNextSemVer);

            foreach (var vAfter in after.Split(',').Select(s => SVersion.Parse(s.Trim())))
            {
                Assert.That(vAfter.CompareTo(vCISemVer) > 0, "{0} > {1}", vAfter, vCISemVer);
            }
        }
        public void CIBuildVersion_LastReleaseBased_are_correctely_ordered(string tag)
        {
            var t     = CSVersion.TryParse(tag);
            var v     = SVersion.Parse(t.ToString(CSVersionFormat.Normalized));
            var tNext = CSVersion.Create(t.OrderedVersion + 1);
            var vNext = SVersion.Parse(tNext.ToString(CSVersionFormat.Normalized));
            var tPrev = CSVersion.Create(t.OrderedVersion - 1);
            var vPrev = SVersion.Parse(tPrev.ToString(CSVersionFormat.Normalized));

            void CheckLower(SVersion v1, SVersion v2)
            {
                Assert.That(v1 < v2, "{0} < {1}", v1, v2);
                Assert.That(v2 > v1, "{0} > {1}", v2, v1);

                SVersion v1low = SVersion.Parse(v1.ParsedText.ToLowerInvariant());
                SVersion v2low = SVersion.Parse(v2.ParsedText.ToLowerInvariant());

                Assert.That(v1low < v2low, "{0} < {1} (lowercase)", v1low, v2low);
                Assert.That(v2low > v1low, "{0} > {1} (lowercase)", v2low, v1low);

                SVersion v1up = SVersion.Parse(v1.ParsedText.ToUpperInvariant());
                SVersion v2up = SVersion.Parse(v2.ParsedText.ToUpperInvariant());

                Assert.That(v1up < v2up, "{0} < {1} (uppercase)", v1up, v2up);
                Assert.That(v2up > v1up, "{0} > {1} (uppercase)", v2up, v1up);
            }

            CheckLower(vPrev, v);
            CheckLower(v, vNext);

            var sNuGet     = t.ToString(CSVersionFormat.NuGetPackage);
            var sNuGetPrev = tPrev.ToString(CSVersionFormat.NuGetPackage);
            var sNuGetNext = tNext.ToString(CSVersionFormat.NuGetPackage);

            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGetPrev, sNuGet) < 0, "{0} < {1}", sNuGetPrev, sNuGet);
            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGet, sNuGetNext) < 0, "{0} < {1}", sNuGet, sNuGetNext);


            CIBuildDescriptor ci = new CIBuildDescriptor {
                BranchName = "dev", BuildIndex = 1
            };

            string   sCI = t.ToString(CSVersionFormat.Normalized, ci);
            SVersion vCi = SVersion.Parse(sCI);

            CheckLower(v, vCi);
            CheckLower(vCi, vNext);

            var sNuGetCI = t.ToString(CSVersionFormat.NuGetPackage, ci);

            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGet, sNuGetCI) < 0, "{0} < {1}", sNuGet, sNuGetCI);
            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGetCI, sNuGetNext) < 0, "{0} < {1}", sNuGetCI, sNuGetNext);

            string   sCiNext = tNext.ToString(CSVersionFormat.Normalized, ci);
            SVersion vCiNext = SVersion.Parse(sCiNext);

            CheckLower(vCi, vCiNext);
            CheckLower(vNext, vCiNext);

            var sNuGetCINext = tNext.ToString(CSVersionFormat.NuGetPackage, ci);

            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGetCINext, sNuGetCI) > 0, "{0} > {1}", sNuGetCINext, sNuGetCI);
            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGetCINext, sNuGetNext) > 0, "{0} > {1}", sNuGetCINext, sNuGetNext);

            string   sCiPrev = tPrev.ToString(CSVersionFormat.Normalized, ci);
            SVersion vCiPrev = SVersion.Parse(sCiPrev);

            CheckLower(vPrev, vCiPrev);
            CheckLower(vCiPrev, v);
            CheckLower(vCiPrev, vCiNext);

            var sNuGetCIPrev = tPrev.ToString(CSVersionFormat.NuGetPackage, ci);

            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGetCIPrev, sNuGetPrev) > 0, "{0} > {1}", sNuGetCIPrev, sNuGetPrev);
            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGetCIPrev, sNuGet) < 0, "{0} < {1}", sNuGetCIPrev, sNuGet);
            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGetCIPrev, sNuGetCINext) < 0, "{0} < {1}", sNuGetCIPrev, sNuGetCINext);
        }
Example #10
0
        public void CIBuildVersion_LastReleaseBased_are_correctely_ordered(string tag)
        {
            ReleaseTagFormat formatV2 = ReleaseTagFormat.NugetPackageV2;

            var t     = ReleaseTagVersion.TryParse(tag);
            var v     = SemVersion.Parse(t.ToString(ReleaseTagFormat.SemVer), true);
            var tNext = new ReleaseTagVersion(t.OrderedVersion + 1);
            var vNext = SemVersion.Parse(tNext.ToString(ReleaseTagFormat.SemVer), true);
            var tPrev = new ReleaseTagVersion(t.OrderedVersion - 1);
            var vPrev = SemVersion.Parse(tPrev.ToString(ReleaseTagFormat.SemVer), true);

            Assert.That(vPrev < v, "{0} < {1}", vPrev, v);
            Assert.That(v < vNext, "{0} < {1}", v, vNext);

            var sNuGet     = t.ToString(formatV2);
            var sNuGetPrev = tPrev.ToString(formatV2);
            var sNuGetNext = tNext.ToString(formatV2);

            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGetPrev, sNuGet) < 0, "{0} < {1}", sNuGetPrev, sNuGet);
            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGet, sNuGetNext) < 0, "{0} < {1}", sNuGet, sNuGetNext);


            CIBuildDescriptor ci = new CIBuildDescriptor {
                BranchName = "dev", BuildIndex = 1
            };

            string     sCI = t.ToString(ReleaseTagFormat.SemVer, ci);
            SemVersion vCi = SemVersion.Parse(sCI, true);

            Assert.That(v < vCi, "{0} < {1}", v, vCi);
            Assert.That(vCi < vNext, "{0} < {1}", vCi, vNext);

            var sNuGetCI = t.ToString(formatV2, ci);

            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGet, sNuGetCI) < 0, "{0} < {1}", sNuGet, sNuGetCI);
            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGetCI, sNuGetNext) < 0, "{0} < {1}", sNuGetCI, sNuGetNext);

            string     sCiNext = tNext.ToString(ReleaseTagFormat.SemVer, ci);
            SemVersion vCiNext = SemVersion.Parse(sCiNext, true);

            Assert.That(vCiNext > vCi, "{0} > {1}", vCiNext, vCi);
            Assert.That(vCiNext > vNext, "{0} > {1}", vCiNext, vNext);

            var sNuGetCINext = tNext.ToString(formatV2, ci);

            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGetCINext, sNuGetCI) > 0, "{0} > {1}", sNuGetCINext, sNuGetCI);
            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGetCINext, sNuGetNext) > 0, "{0} > {1}", sNuGetCINext, sNuGetNext);

            string     sCiPrev = tPrev.ToString(ReleaseTagFormat.SemVer, ci);
            SemVersion vCiPrev = SemVersion.Parse(sCiPrev, true);

            Assert.That(vCiPrev > vPrev, "{0} > {1}", vCiPrev, vPrev);
            Assert.That(vCiPrev < v, "{0} < {1}", vCiPrev, v);
            Assert.That(vCiPrev < vCiNext, "{0} < {1}", vCiPrev, vCiNext);

            var sNuGetCIPrev = tPrev.ToString(formatV2, ci);

            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGetCIPrev, sNuGetPrev) > 0, "{0} > {1}", sNuGetCIPrev, sNuGetPrev);
            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGetCIPrev, sNuGet) < 0, "{0} < {1}", sNuGetCIPrev, sNuGet);
            Assert.That(NuGetV2StringComparer.DefaultComparer.Compare(sNuGetCIPrev, sNuGetCINext) < 0, "{0} < {1}", sNuGetCIPrev, sNuGetCINext);
        }