コード例 #1
0
        public override bool Execute()
        {
            IHost xHost = null;

            switch (mLaunchType)
            {
            case LaunchTypeEnum.Bochs:
                var xLaunchSettings = new BochsLaunchSettings()
                {
                    ConfigurationFile = Path.GetFullPath(ConfigurationFile),
                    IsoFile           = Path.GetFullPath(ISO)
                };

                xHost = new BochsHost(xLaunchSettings);
                break;

            case LaunchTypeEnum.VMware:
                //xHost = new VMwareHost();
                break;

            case LaunchTypeEnum.HyperV:
                //xHost = new HyperVHost(true, "", "");
                break;

            default:
                Log.LogError($"Unknown launch type! Launch type: '{mLaunchType}'");
                return(false);
            }

            Log.LogMessage(MessageImportance.High, "LAUNCHING");

            xHost.Start();

            return(true);
        }
コード例 #2
0
ファイル: BochsTests.cs プロジェクト: tnsr1/XSharp
        public void LaunchBochs(bool aUseDebugVersion)
        {
            var xProcessName = aUseDebugVersion ? "bochsdbg" : "bochs";

            var xLaunchSettings = new BochsLaunchSettings()
            {
                ConfigurationFile = Path.Combine(TestDir, "Bochs.bxrc"),
                BochsDirectory    = null,
                UseDebugVersion   = aUseDebugVersion
            };

            var xBochsHost = new BochsHost(xLaunchSettings);

            xBochsHost.Start();

            var xProcessCount = Process.GetProcessesByName(xProcessName).Length;

            Assert.That(xProcessCount, Is.Not.Zero);

            xBochsHost.Kill();
            Assert.That(Process.GetProcessesByName(xProcessName).Length, Is.EqualTo(xProcessCount - 1));
        }