Exemple #1
0
    public void VerifyCreatedCode_NoNamespaceConflict()
    {
        var semanticVersion = new SemanticVersion
        {
            Major         = 1,
            Minor         = 2,
            Patch         = 3,
            PreReleaseTag = "unstable4",
            BuildMetaData = new SemanticVersionBuildMetaData(5,
                                                             "feature1", "commitSha", DateTimeOffset.Parse("2014-03-06 23:59:59Z"))
        };
        var assemblyInfoBuilder = new AssemblyInfoBuilder();

        var config = new TestEffectiveConfiguration();

        var versionVariables = VariableProvider.GetVariablesFor(semanticVersion, config, false);
        var assemblyInfoText = assemblyInfoBuilder.GetAssemblyInfoText(versionVariables, "Fake.System");

        Approvals.Verify(assemblyInfoText);

        var compilation = CSharpCompilation.Create("Fake.System.dll")
                          .WithOptions(new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary))
                          .AddReferences(MetadataReference.CreateFromFile(typeof(object).Assembly.Location))
                          .AddSyntaxTrees(CSharpSyntaxTree.ParseText(assemblyInfoText));

        var emitResult = compilation.Emit(new MemoryStream());

        Assert.IsTrue(emitResult.Success, string.Join(Environment.NewLine, emitResult.Diagnostics.Select(x => x.Descriptor)));
    }
    public void VerifyCreatedCode()
    {
        var semanticVersion = new SemanticVersion
        {
            Major         = 1,
            Minor         = 2,
            Patch         = 3,
            PreReleaseTag = "unstable4",
            BuildMetaData = new SemanticVersionBuildMetaData(5,
                                                             "feature1", "commitSha", DateTimeOffset.Parse("2014-03-06 23:59:59Z"))
        };
        var assemblyInfoBuilder = new AssemblyInfoBuilder();
        var versionVariables    = VariableProvider.GetVariablesFor(semanticVersion, AssemblyVersioningScheme.MajorMinorPatch, VersioningMode.ContinuousDelivery, "ci", false);
        var assemblyInfoText    = assemblyInfoBuilder.GetAssemblyInfoText(versionVariables);

        Approvals.Verify(assemblyInfoText);

        var compilation = CSharpCompilation.Create("Fake.dll")
                          .WithOptions(new CSharpCompilationOptions(OutputKind.NetModule))
                          .AddReferences(MetadataReference.CreateFromFile(typeof(object).Assembly.Location))
                          .AddSyntaxTrees(CSharpSyntaxTree.ParseText(assemblyInfoText));


        var emitResult = compilation.Emit(new MemoryStream());

        Assert.IsTrue(emitResult.Success, string.Join(Environment.NewLine, emitResult.Diagnostics.Select(x => x.Descriptor)));
    }
Exemple #3
0
    static void VerifyAssemblyVersion(AssemblyVersioningScheme avs, string assemblyInformationalFormat = null)
    {
        var semanticVersion = new SemanticVersion
        {
            Major         = 2,
            Minor         = 3,
            Patch         = 4,
            PreReleaseTag = "beta.5",
            BuildMetaData = new SemanticVersionBuildMetaData(6,
                                                             "master", "commitSha", DateTimeOffset.Parse("2014-03-06 23:59:59Z")),
        };
        var assemblyInfoBuilder = new AssemblyInfoBuilder();


        var config = new TestEffectiveConfiguration(assemblyVersioningScheme: avs, assemblyInformationalFormat: assemblyInformationalFormat);

        var versionVariables = VariableProvider.GetVariablesFor(semanticVersion, config, false);
        var assemblyInfoText = assemblyInfoBuilder.GetAssemblyInfoText(versionVariables, "Fake");

        Approvals.Verify(assemblyInfoText);

        var compilation = CSharpCompilation.Create("Fake.dll")
                          .WithOptions(new CSharpCompilationOptions(OutputKind.NetModule))
                          .AddReferences(MetadataReference.CreateFromFile(typeof(object).Assembly.Location))
                          .AddSyntaxTrees(CSharpSyntaxTree.ParseText(assemblyInfoText));

        var emitResult = compilation.Emit(new MemoryStream());

        Assert.IsTrue(emitResult.Success, string.Join(Environment.NewLine, emitResult.Diagnostics.Select(x => x.Descriptor)));
    }
    public void VerifyCreatedCode()
    {
        var semanticVersion = new SemanticVersion
        {
            Major = 1,
            Minor = 2,
            Patch = 3,
            PreReleaseTag = "unstable4",
            BuildMetaData = new SemanticVersionBuildMetaData(5,
                "feature1", "commitSha", DateTimeOffset.Parse("2014-03-06 23:59:59Z"))
        };
        var assemblyInfoBuilder = new AssemblyInfoBuilder
        {
            CachedVersion = new CachedVersion
            {
                SemanticVersion = semanticVersion
            }
        };
        var assemblyInfoText = assemblyInfoBuilder.GetAssemblyInfoText(new TestEffectiveConfiguration());
        Approvals.Verify(assemblyInfoText);

        var compilation = CSharpCompilation.Create("Fake.dll")
            .WithOptions(new CSharpCompilationOptions(OutputKind.NetModule))
            .AddReferences(MetadataReference.CreateFromFile(typeof(object).Assembly.Location))
            .AddSyntaxTrees(CSharpSyntaxTree.ParseText(assemblyInfoText));

        var emitResult = compilation.Emit(new MemoryStream());
        Assert.IsTrue(emitResult.Success, string.Join(Environment.NewLine, emitResult.Diagnostics.Select(x => x.Descriptor)));
    }
    static void VerifyAssemblyVersion(AssemblyVersioningScheme avs)
    {
        var semanticVersion = new SemanticVersion
        {
            Major         = 2,
            Minor         = 3,
            Patch         = 4,
            BuildMetaData = new SemanticVersionBuildMetaData(5,
                                                             "master",
                                                             new ReleaseDate
            {
                OriginalCommitSha = "originalCommitSha",
                OriginalDate      = DateTimeOffset.Parse("2014-03-01 00:00:01Z"),
                CommitSha         = "commitSha",
                Date = DateTimeOffset.Parse("2014-03-06 23:59:59Z")
            }),
        };
        var assemblyInfoBuilder = new AssemblyInfoBuilder
        {
            SemanticVersion          = semanticVersion,
            AssemblyVersioningScheme = avs,
        };

        var assemblyInfoText = assemblyInfoBuilder.GetAssemblyInfoText();

        Approvals.Verify(assemblyInfoText);
        var syntaxTree  = SyntaxTree.ParseText(assemblyInfoText);
        var references  = new[] { new MetadataFileReference(typeof(object).Assembly.Location), };
        var compilation = Compilation.Create("Greeter.dll", new CompilationOptions(OutputKind.NetModule), new[] { syntaxTree }, references);
        var emitResult  = compilation.Emit(new MemoryStream());

        Assert.IsTrue(emitResult.Success, string.Join(Environment.NewLine, emitResult.Diagnostics.Select(x => x.Info)));
    }
 public void VerifyCreatedCode()
 {
     var semanticVersion = new SemanticVersion
     {
         Major = 1,
         Minor = 2,
         Patch = 3,
         PreReleaseTag = "unstable4",
         BuildMetaData = new SemanticVersionBuildMetaData(5,
             "feature1",
             new ReleaseDate
             {
                 OriginalCommitSha = "originalCommitSha",
                 OriginalDate = DateTimeOffset.Parse("2014-03-01 00:00:01Z"),
                 CommitSha = "commitSha",
                 Date = DateTimeOffset.Parse("2014-03-06 23:59:59Z")
             })
     };
     var assemblyInfoBuilder = new AssemblyInfoBuilder
         {
             SemanticVersion = semanticVersion
         };
     var assemblyInfoText = assemblyInfoBuilder.GetAssemblyInfoText();
     Approvals.Verify(assemblyInfoText);
     var syntaxTree = SyntaxTree.ParseText(assemblyInfoText);
     var references = new[] {new MetadataFileReference(typeof(object).Assembly.Location), };
     var compilation = Compilation.Create("Greeter.dll", new CompilationOptions(OutputKind.NetModule), new[] { syntaxTree }, references);
     var emitResult = compilation.Emit(new MemoryStream());
     Assert.IsTrue(emitResult.Success, string.Join(Environment.NewLine, emitResult.Diagnostics.Select(x => x.Info)));
 }
Exemple #7
0
    static void VerifyAssemblyVersion(AssemblyVersioningScheme avs)
    {
        var semanticVersion = new SemanticVersion
        {
            Major         = 2,
            Minor         = 3,
            Patch         = 4,
            BuildMetaData = new SemanticVersionBuildMetaData(5,
                                                             "master", "commitSha", DateTimeOffset.Parse("2014-03-06 23:59:59Z")),
        };
        var assemblyInfoBuilder = new AssemblyInfoBuilder
        {
            CachedVersion = new CachedVersion
            {
                SemanticVersion   = semanticVersion,
                MasterReleaseDate = DateTimeOffset.Parse("2014-03-01 00:00:01Z")
            },
        };

        var assemblyInfoText = assemblyInfoBuilder.GetAssemblyInfoText(new Config {
            AssemblyVersioningScheme = avs
        });

        Approvals.Verify(assemblyInfoText);

        var compilation = CSharpCompilation.Create("Fake.dll")
                          .WithOptions(new CSharpCompilationOptions(OutputKind.NetModule))
                          .AddReferences(MetadataReference.CreateFromFile(typeof(object).Assembly.Location))
                          .AddSyntaxTrees(CSharpSyntaxTree.ParseText(assemblyInfoText));

        var emitResult = compilation.Emit(new MemoryStream());

        Assert.IsTrue(emitResult.Success, string.Join(Environment.NewLine, emitResult.Diagnostics.Select(x => x.Descriptor)));
    }
    public void VerifyCreatedCode()
    {
        var semanticVersion = new SemanticVersion
        {
            Major = 1,
            Minor = 2,
            Patch = 3,
            PreReleaseTag = "unstable4",
            BuildMetaData = new SemanticVersionBuildMetaData(5,
                "feature1", "commitSha", DateTimeOffset.Parse("2014-03-06 23:59:59Z"))
        };
        var assemblyInfoBuilder = new AssemblyInfoBuilder();
        var versionVariables = VariableProvider.GetVariablesFor(semanticVersion, AssemblyVersioningScheme.MajorMinorPatch, VersioningMode.ContinuousDelivery, "ci", false);
        var assemblyInfoText = assemblyInfoBuilder.GetAssemblyInfoText(versionVariables, "Fake");
        Approvals.Verify(assemblyInfoText);

        var compilation = CSharpCompilation.Create("Fake.dll")
            .WithOptions(new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary))
            .AddReferences(MetadataReference.CreateFromFile(typeof(object).Assembly.Location))
            .AddSyntaxTrees(CSharpSyntaxTree.ParseText(assemblyInfoText));

        using (var stream = new MemoryStream())
        {
            var emitResult = compilation.Emit(stream);

            Assert.IsTrue(emitResult.Success, string.Join(Environment.NewLine, emitResult.Diagnostics.Select(x => x.Descriptor)));

            stream.Seek(0, SeekOrigin.Begin);
            var assembly = Assembly.Load(stream.ToArray());
            VerifyGitVersionInformationAttribute(assembly, versionVariables);
        }
    }
    public void VerifyCreatedCode()
    {
        var semanticVersion = new SemanticVersion
        {
            Major         = 1,
            Minor         = 2,
            Patch         = 3,
            PreReleaseTag = "unstable4",
            BuildMetaData = new SemanticVersionBuildMetaData(5,
                                                             "feature1", "commitSha", DateTimeOffset.Parse("2014-03-06 23:59:59Z"))
        };
        var assemblyInfoBuilder = new AssemblyInfoBuilder
        {
            CachedVersion = new CachedVersion
            {
                SemanticVersion   = semanticVersion,
                MasterReleaseDate = DateTimeOffset.Parse("2014-03-01 00:00:01Z"),
            }
        };
        var assemblyInfoText = assemblyInfoBuilder.GetAssemblyInfoText();

        Approvals.Verify(assemblyInfoText);
        var syntaxTree  = SyntaxTree.ParseText(assemblyInfoText);
        var references  = new[] { new MetadataFileReference(typeof(object).Assembly.Location) };
        var compilation = Compilation.Create("Greeter.dll", new CompilationOptions(OutputKind.NetModule), new[] { syntaxTree }, references);
        var emitResult  = compilation.Emit(new MemoryStream());

        Assert.IsTrue(emitResult.Success, string.Join(Environment.NewLine, emitResult.Diagnostics.Select(x => x.Info)));
    }
    public void VerifyCreatedCode_NoNamespaceConflict()
    {
        var semanticVersion = new SemanticVersion
        {
            Major = 1,
            Minor = 2,
            Patch = 3,
            PreReleaseTag = "unstable4",
            BuildMetaData = new SemanticVersionBuildMetaData(5,
                "feature1", "commitSha", DateTimeOffset.Parse("2014-03-06 23:59:59Z"))
        };
        var assemblyInfoBuilder = new AssemblyInfoBuilder();

        var config = new TestEffectiveConfiguration();

        var versionVariables = VariableProvider.GetVariablesFor(semanticVersion, config, false);
        var assemblyInfoText = assemblyInfoBuilder.GetAssemblyInfoText(versionVariables, "Fake.System");
        assemblyInfoText.ShouldMatchApproved();

        var compilation = CSharpCompilation.Create("Fake.System.dll")
            .WithOptions(new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary))
            .AddReferences(MetadataReference.CreateFromFile(typeof(object).Assembly.Location))
            .AddSyntaxTrees(CSharpSyntaxTree.ParseText(assemblyInfoText));

        var emitResult = compilation.Emit(new MemoryStream());
        Assert.IsTrue(emitResult.Success, string.Join(Environment.NewLine, emitResult.Diagnostics.Select(x => x.Descriptor)));
    }
    static void VerifyAssemblyVersion(AssemblyVersioningScheme avs)
    {
        var semanticVersion = new SemanticVersion
        {
            Major = 2,
            Minor = 3,
            Patch = 4,
            PreReleaseTag = "beta.5",
            BuildMetaData = new SemanticVersionBuildMetaData(6,
                "master", "commitSha", DateTimeOffset.Parse("2014-03-06 23:59:59Z")),
        };
        var assemblyInfoBuilder = new AssemblyInfoBuilder();
        var versionVariables = VariableProvider.GetVariablesFor(semanticVersion, avs, VersioningMode.ContinuousDelivery, "ci", false);
        var assemblyInfoText = assemblyInfoBuilder.GetAssemblyInfoText(versionVariables);
        Approvals.Verify(assemblyInfoText);

        var compilation = CSharpCompilation.Create("Fake.dll")
        .WithOptions(new CSharpCompilationOptions(OutputKind.NetModule))
        .AddReferences(MetadataReference.CreateFromFile(typeof(object).Assembly.Location))
        .AddSyntaxTrees(CSharpSyntaxTree.ParseText(assemblyInfoText));

        var emitResult = compilation.Emit(new MemoryStream());
        Assert.IsTrue(emitResult.Success, string.Join(Environment.NewLine, emitResult.Diagnostics.Select(x => x.Descriptor)));
    }
    static void VerifyAssemblyVersion(AssemblyVersioningScheme avs)
    {
        var semanticVersion = new SemanticVersion
        {
            Major = 2,
            Minor = 3,
            Patch = 4,
            BuildMetaData = new SemanticVersionBuildMetaData(5,
                "master","commitSha",DateTimeOffset.Parse("2014-03-06 23:59:59Z")),
        };
        var assemblyInfoBuilder = new AssemblyInfoBuilder
        {
            CachedVersion = new CachedVersion
            {
                SemanticVersion = semanticVersion,
                MasterReleaseDate = DateTimeOffset.Parse("2014-03-01 00:00:01Z")
            },
        };

        var assemblyInfoText = assemblyInfoBuilder.GetAssemblyInfoText(new Config { AssemblyVersioningScheme = avs });
        Approvals.Verify(assemblyInfoText);
        var syntaxTree = SyntaxTree.ParseText(assemblyInfoText);
        var references = new[] { new MetadataFileReference(typeof(object).Assembly.Location)};
        var compilation = Compilation.Create("Greeter.dll", new CompilationOptions(OutputKind.NetModule), new[] { syntaxTree }, references);
        var emitResult = compilation.Emit(new MemoryStream());
        Assert.IsTrue(emitResult.Success, string.Join(Environment.NewLine, emitResult.Diagnostics.Select(x => x.Info)));
    }