Esempio n. 1
0
        public void SourceLink(DebugInformationFormat format)
        {
            string source         = @"
using System;

class C
{
    public static void Main()
    {
        Console.WriteLine();
    }
}
";
            var    sourceLinkBlob = Encoding.UTF8.GetBytes(@"
{
  ""documents"": {
     ""f:/build/*"" : ""https://raw.githubusercontent.com/my-org/my-project/1111111111111111111111111111111111111111/*""
  }
}
");

            var c = CreateCompilation(Parse(source, "f:/build/goo.cs"), options: TestOptions.DebugDll);

            var pdbStream = new MemoryStream();

            c.EmitToArray(EmitOptions.Default.WithDebugInformationFormat(format), pdbStream: pdbStream, sourceLinkStream: new MemoryStream(sourceLinkBlob));

            var actualData = PdbValidation.GetSourceLinkData(pdbStream);

            AssertEx.Equal(sourceLinkBlob, actualData);
        }
Esempio n. 2
0
        public void SourceLink_Empty(DebugInformationFormat format)
        {
            string source         = @"
using System;

class C
{
    public static void Main()
    {
        Console.WriteLine();
    }
}
";
            var    sourceLinkBlob = new byte[0];

            var c = CreateCompilation(Parse(source, "f:/build/goo.cs"), options: TestOptions.DebugDll);

            var pdbStream = new MemoryStream();

            c.EmitToArray(EmitOptions.Default.WithDebugInformationFormat(format), pdbStream: pdbStream, sourceLinkStream: new MemoryStream(sourceLinkBlob));
            pdbStream.Position = 0;
            var bs         = Roslyn.Utilities.StreamExtensions.ReadAllBytes(pdbStream);
            var actualData = PdbValidation.GetSourceLinkData(pdbStream);

            AssertEx.Equal(sourceLinkBlob, actualData);
        }