示例#1
0
        public void DotNetBuildXamarinForms()
        {
            var proj   = new XamarinFormsXASdkProject();
            var dotnet = CreateDotNetBuilder(proj);

            Assert.IsTrue(dotnet.Build(), "`dotnet build` should succeed");
            Assert.IsTrue(StringAssertEx.ContainsText(dotnet.LastBuildOutput, " 0 Warning(s)"), "Should have no MSBuild warnings.");
        }
示例#2
0
        public void DotNetBuildXamarinForms()
        {
            var proj   = new XamarinFormsXASdkProject();
            var dotnet = CreateDotNetBuilder(proj);

            Assert.IsTrue(dotnet.Build(), "`dotnet build` should succeed");
            dotnet.AssertHasNoWarnings();
        }
示例#3
0
        public void DotNetBuildXamarinForms([Values(true, false)] bool useInterpreter)
        {
            var proj = new XamarinFormsXASdkProject();

            proj.SetProperty("UseInterpreter", useInterpreter.ToString());
            var dotnet = CreateDotNetBuilder(proj);

            Assert.IsTrue(dotnet.Build(), "`dotnet build` should succeed");
            dotnet.AssertHasNoWarnings();
        }
        public void DotNetInstallAndRun([Values(false, true)] bool isRelease, [Values(false, true)] bool xamarinForms)
        {
            if (!HasDevices)
            {
                Assert.Ignore("Skipping Test. No devices available.");
            }

            XASdkProject proj;

            if (xamarinForms)
            {
                proj = new XamarinFormsXASdkProject(SdkVersion)
                {
                    IsRelease = isRelease
                };
            }
            else
            {
                proj = new XASdkProject(SdkVersion)
                {
                    IsRelease = isRelease
                };
            }
            proj.SetProperty(KnownProperties.AndroidSupportedAbis, DeviceAbi);
            proj.SetRuntimeIdentifier(DeviceAbi);

            var relativeProjDir = Path.Combine("temp", TestName);
            var fullProjDir     = Path.Combine(Root, relativeProjDir);

            TestOutputDirectories [TestContext.CurrentContext.Test.ID] = fullProjDir;
            var files = proj.Save();

            proj.Populate(relativeProjDir, files);
            proj.CopyNuGetConfig(relativeProjDir);
            var dotnet = new DotNetCLI(proj, Path.Combine(fullProjDir, proj.ProjectFilePath));

            Assert.IsTrue(dotnet.Run(), "`dotnet run` should succeed");
            bool didLaunch = WaitForActivityToStart(proj.PackageName, "MainActivity",
                                                    Path.Combine(fullProjDir, "logcat.log"), 30);

            RunAdbCommand($"uninstall {proj.PackageName}");
            Assert.IsTrue(didLaunch, "Activity should have started.");
        }
        public void DotNetInstallAndRun(bool isRelease, bool xamarinForms, bool?publishTrimmed)
        {
            AssertHasDevices();

            XASdkProject proj;

            if (xamarinForms)
            {
                proj = new XamarinFormsXASdkProject {
                    IsRelease = isRelease
                };
            }
            else
            {
                proj = new XASdkProject {
                    IsRelease = isRelease
                };
            }
            if (publishTrimmed != null)
            {
                proj.SetProperty(KnownProperties.PublishTrimmed, publishTrimmed.ToString());
            }
            proj.SetRuntimeIdentifier(DeviceAbi);

            var relativeProjDir = Path.Combine("temp", TestName);
            var fullProjDir     = Path.Combine(Root, relativeProjDir);

            TestOutputDirectories [TestContext.CurrentContext.Test.ID] = fullProjDir;
            var files = proj.Save();

            proj.Populate(relativeProjDir, files);
            proj.CopyNuGetConfig(relativeProjDir);
            var dotnet = new DotNetCLI(proj, Path.Combine(fullProjDir, proj.ProjectFilePath));

            Assert.IsTrue(dotnet.Run(), "`dotnet run` should succeed");
            WaitForPermissionActivity(Path.Combine(Root, dotnet.ProjectDirectory, "permission-logcat.log"));
            bool didLaunch = WaitForActivityToStart(proj.PackageName, "MainActivity",
                                                    Path.Combine(fullProjDir, "logcat.log"), 30);

            RunAdbCommand($"uninstall {proj.PackageName}");
            Assert.IsTrue(didLaunch, "Activity should have started.");
        }