Ejemplo n.º 1
0
        public void TestAccountIsPropagatedToLaunchRequest()
        {
            var launches             = new List <LaunchGameRequest>();
            var gameletClientFactory = new GameletClientStub.Factory().WithSampleInstance()
                                       .WithLaunchRequestsTracker(launches);
            IVSFake vsFake = CreateVsFakeAndLoadProject(gameletClientFactory);

            (vsFake.ProjectAdapter as ProjectAdapter)?.SetTestAccount("gamer#1234");
            _taskContext.RunOnMainThread(() => vsFake.LaunchSuspended());

            Assert.That(launches.Count, Is.EqualTo(1));
            Assert.That(launches[0].Parent, Does.Contain("testAccounts/gamer#1234"));
        }
Ejemplo n.º 2
0
        public void ErrorIsShownWhenPropertiesParsingFailed()
        {
            var     gameletClientFactory = new GameletClientStub.Factory().WithSampleInstance();
            IVSFake vsFake = CreateVsFakeAndLoadProject(gameletClientFactory);

            (vsFake.ProjectAdapter as ProjectAdapter)?.SetQueryParams("cmd=wrongBinaryName");
            Assert.Throws <DialogUtilFake.DialogException>(
                () => _taskContext.RunOnMainThread(() => vsFake.LaunchSuspended()));

            DialogUtilFake.Message errorMessage =
                (_compRoot.GetDialogUtil() as DialogUtilFake)?.Messages.Last();
            Assert.That(errorMessage?.Text, Does.Contain("invalid binary name: 'wrongBinaryName'"));
        }
Ejemplo n.º 3
0
        public void LaunchRequestIsSentOnLaunchSuspended()
        {
            var launches             = new List <LaunchGameRequest>();
            var gameletClientFactory = new GameletClientStub.Factory().WithSampleInstance()
                                       .WithLaunchRequestsTracker(launches);
            IVSFake vsFake = CreateVsFakeAndLoadProject(gameletClientFactory);

            _taskContext.RunOnMainThread(() => vsFake.LaunchSuspended());

            Assert.That(launches.Count, Is.EqualTo(1));
            Assert.That(launches[0].GameletName, Is.EqualTo(_instanceLocation));
            Assert.That(launches[0].ApplicationName, Is.EqualTo(_applicationName));
            Assert.That(launches[0].ExecutablePath, Does.Contain(_sampleName));
        }
Ejemplo n.º 4
0
        public void SurfaceEnforcementPropertyIsPropagatedToLaunchRequest()
        {
            var launches             = new List <LaunchGameRequest>();
            var gameletClientFactory = new GameletClientStub.Factory().WithSampleInstance()
                                       .WithLaunchRequestsTracker(launches);
            IVSFake vsFake = CreateVsFakeAndLoadProject(gameletClientFactory);

            (vsFake.ProjectAdapter as ProjectAdapter)?.SetSurfaceEnforcement(
                SurfaceEnforcementSetting.Block);

            _taskContext.RunOnMainThread(() => vsFake.LaunchSuspended());
            Assert.That(launches.Count, Is.EqualTo(1));
            Assert.That(launches[0].SurfaceEnforcementMode,
                        Is.EqualTo(SurfaceEnforcementSetting.Block));
        }
Ejemplo n.º 5
0
        public void VulkanDriverVariantIsPropagatedToLaunchRequest()
        {
            var launches             = new List <LaunchGameRequest>();
            var gameletClientFactory = new GameletClientStub.Factory().WithSampleInstance()
                                       .WithLaunchRequestsTracker(launches);
            IVSFake vsFake = CreateVsFakeAndLoadProject(gameletClientFactory);

            (vsFake.ProjectAdapter as ProjectAdapter)?.SetVulkanDriverVariant(
                "vulkan-driver-variant");

            _taskContext.RunOnMainThread(() => vsFake.LaunchSuspended());
            Assert.That(launches[0].EnvironmentVariablePairs, Is.EqualTo(
                            new Dictionary <string, string>
            {
                { "GGP_DEV_VK_DRIVER_VARIANT", "vulkan-driver-variant" }
            }));
        }
Ejemplo n.º 6
0
        public void EnvironmentVariablesArePropagatedWhenSpecifiedViaQueryParams()
        {
            var launches             = new List <LaunchGameRequest>();
            var gameletClientFactory = new GameletClientStub.Factory().WithSampleInstance()
                                       .WithLaunchRequestsTracker(launches);
            IVSFake vsFake = CreateVsFakeAndLoadProject(gameletClientFactory);

            (vsFake.ProjectAdapter as ProjectAdapter)?.SetQueryParams(
                "stream_profile_preset=HIGH_VISUAL_QUALITY&streamer_fixed_fps=120");

            _taskContext.RunOnMainThread(() => vsFake.LaunchSuspended());

            Assert.That(launches.Count, Is.EqualTo(1));
            Assert.That(launches[0].StreamQualityPreset,
                        Is.EqualTo(StreamQualityPreset.HighVisualQuality));
            Assert.That(launches[0].StreamerFixedFps, Is.EqualTo(120));
        }
Ejemplo n.º 7
0
        public void EnvironmentVariablesArePropagatedToLaunchRequest()
        {
            var launches             = new List <LaunchGameRequest>();
            var gameletClientFactory = new GameletClientStub.Factory().WithSampleInstance()
                                       .WithLaunchRequestsTracker(launches);
            IVSFake vsFake = CreateVsFakeAndLoadProject(gameletClientFactory);

            (vsFake.ProjectAdapter as ProjectAdapter)?.SetGameletEnvironmentVariables(
                "v1=1;v2=stringValue");

            _taskContext.RunOnMainThread(() => vsFake.LaunchSuspended());

            Assert.That(launches.Count, Is.EqualTo(1));
            Assert.That(launches[0].EnvironmentVariablePairs,
                        Is.EqualTo(new Dictionary <string, string>
            {
                { "v1", "1" }, { "v2", "stringValue" }
            }));
        }
Ejemplo n.º 8
0
        public void RenderDocPropertyIsPropagatedToLaunchRequest()
        {
            var launches             = new List <LaunchGameRequest>();
            var gameletClientFactory = new GameletClientStub.Factory().WithSampleInstance()
                                       .WithLaunchRequestsTracker(launches);
            IVSFake vsFake = CreateVsFakeAndLoadProject(gameletClientFactory);

            (vsFake.ProjectAdapter as ProjectAdapter)?.SetLaunchRenderDoc(true);

            _taskContext.RunOnMainThread(() => vsFake.LaunchSuspended());
            Assert.That(launches.Count, Is.EqualTo(1));
            Assert.That(launches[0].EnvironmentVariablePairs, Is.EqualTo(
                            new Dictionary <string, string>
            {
                { "ENABLE_VULKAN_RENDERDOC_CAPTURE", "1" },
                { "RENDERDOC_TEMP", "/mnt/developer/ggp" },
                { "RENDERDOC_DEBUG_LOG_FILE", "/var/game/RDDebug.log" }
            }));
        }
Ejemplo n.º 9
0
        public void LaunchRgpIsPropagatedToLaunchRequest()
        {
            var launches             = new List <LaunchGameRequest>();
            var gameletClientFactory = new GameletClientStub.Factory().WithSampleInstance()
                                       .WithLaunchRequestsTracker(launches);
            IVSFake vsFake = CreateVsFakeAndLoadProject(gameletClientFactory);

            (vsFake.ProjectAdapter as ProjectAdapter)?.SetLaunchRgp(true);

            _taskContext.RunOnMainThread(() => vsFake.LaunchSuspended());

            Assert.That(launches.Count, Is.EqualTo(1));
            Assert.That(launches[0].EnvironmentVariablePairs, Is.EqualTo(
                            new Dictionary <string, string>
            {
                { "GGP_INTERNAL_LOAD_RGP", "1" },
                { "RGP_DEBUG_LOG_FILE", "/var/game/RGPDebug.log" },
                { "LD_PRELOAD", "librgpserver.so" }
            }));
        }