Пример #1
0
        public void CompareBuilds(string project, int expectedErrorCount = 0)
        {
            Configuration.AssertDotNetAvailable();

            tfi = "Xamarin.iOS";
            switch (project)
            {
            case "MyMetalGame":
                if (Platform == "iPhoneSimulator")
                {
                    Assert.Ignore("The iOS Simulator does not support metal. Build for a device instead.");
                }
                break;

            case "MyTVApp":
            case "MyTVMetalGame":
                tfi = "Xamarin.TVOS";
                break;
            }

            ClearTestDirectory();

            Console.WriteLine("Building dotnet");
            Mode = ExecutionMode.DotNet;
            BuildProject(project, clean: false, expectedErrorCount: expectedErrorCount);
            Console.WriteLine("Done building dotnet");
            var dotnet_bundle = AppBundlePath;

            Console.WriteLine("Building net461");
            Mode = ExecutionMode.MSBuild;
            var net461 = GetTestDirectory(forceClone: true);

            switch (project)
            {
            case "MyXamarinFormsApp":
                NugetRestore(Path.Combine(net461, project, "MyXamarinFormsAppNS", "MyXamarinFormsAppNS.csproj"));
                break;

            case "MyAppWithPackageReference":
                NugetRestore(Path.Combine(net461, "MyExtensionWithPackageReference", "MyExtensionWithPackageReference.csproj"));
                break;
            }
            BuildProject(project, nuget_restore: true, expectedErrorCount: expectedErrorCount);
            Console.WriteLine("Done building net461");
            var net461_bundle = AppBundlePath;

            if (expectedErrorCount == 0)
            {
                DotNet.CompareApps(net461_bundle, dotnet_bundle);
            }
        }
Пример #2
0
        public void CompareBuilds(string project, int expectedErrorCount = 0)
        {
            var net461 = GetTestDirectory("net461-" + ProjectConfiguration, ExecutionMode.MSBuild);
            var dotnet = GetTestDirectory("dotnet-" + ProjectConfiguration, ExecutionMode.DotNet);

            Configuration.FixupTestFiles(dotnet, "dotnet");
            Configuration.CopyDotNetSupportingFiles(dotnet);

            tfi = "Xamarin.iOS";
            switch (project)
            {
            case "MyXamarinFormsApp":
                NugetRestore(Path.Combine(net461, project, "MyXamarinFormsAppNS", "MyXamarinFormsAppNS.csproj"));
                break;

            case "MyAppWithPackageReference":
                NugetRestore(Path.Combine(net461, "MyExtensionWithPackageReference", "MyExtensionWithPackageReference.csproj"));
                break;

            case "MyMetalGame":
                if (Platform == "iPhoneSimulator")
                {
                    Assert.Ignore("The iOS Simulator does not support metal. Build for a device instead.");
                }
                break;

            case "MyTVApp":
            case "MyTVMetalGame":
                tfi = "Xamarin.TVOS";
                break;
            }

            Console.WriteLine("Building dotnet");
            BuildProject(project, Platform, ProjectConfiguration, projectBaseDir: dotnet, executionMode: ExecutionMode.DotNet, clean: false, expectedErrorCount: expectedErrorCount);
            Console.WriteLine("Done building dotnet");
            var dotnet_bundle = AppBundlePath;

            Console.WriteLine("Building net461");
            BuildProject(project, Platform, ProjectConfiguration, projectBaseDir: net461, executionMode: ExecutionMode.MSBuild, nuget_restore: true, expectedErrorCount: expectedErrorCount);
            Console.WriteLine("Done building net461");
            var net461_bundle = AppBundlePath;

            if (expectedErrorCount == 0)
            {
                DotNet.CompareApps(net461_bundle, dotnet_bundle);
            }
        }