//--------------------------------------------------------------------- static void CheckRecursiveEqual <T>( MainSettingController controller1, MainSettingController controller2, Func <MainSettingController, T> getProperty) { PropertyHelper.CheckPropertiesEqualRecursive(getProperty(controller1), getProperty(controller2)); }
//--------------------------------------------------------------------- void SetMainSettingValue(MainSettingController controller, string binaryOutput) { controller.BasicSettingController.Arguments = "Test"; Update(controller.FilterSettingController); Update(controller.ImportExportSettingController, binaryOutput); Update(controller.MiscellaneousSettingController); }
//--------------------------------------------------------------------- MainSettingController CreateController( StartUpProjectSettings settings, Func <MainSettings, string> buildOpenCppCoverageCmdLine) { var controller = new MainSettingController(buildOpenCppCoverageCmdLine); var builder = new Mock <IStartUpProjectSettingsBuilder>(); builder.Setup(b => b.ComputeSettings(ProjectSelectionKind.StartUpProject)).Returns(settings); controller.StartUpProjectSettingsBuilder = builder.Object; return(controller); }
//--------------------------------------------------------------------- static MainSettingController CreateController( StartUpProjectSettings settings, IOpenCppCoverageCmdLine openCppCoverageCmdLine, Mock <IStartUpProjectSettingsBuilder> builder, ISettingsStorage settingsStorage) { var controller = new MainSettingController(settingsStorage, openCppCoverageCmdLine, builder.Object, null); builder.Setup(b => b.ComputeSettings(ProjectSelectionKind.StartUpProject)).Returns(settings); return(controller); }
//--------------------------------------------------------------------- string CreateBinaryOutput(MainSettingController controller) { string path = GetTemporaryPath(PathKind.Binary); RunInUIhread(() => { controller.ImportExportSettingController.Exports.Add(new ImportExportSettingController.Export { Type = ImportExportSettings.Type.Binary, Path = path }); controller.MiscellaneousSettingController.LogTypeValue = MiscellaneousSettings.LogType.Quiet; }); RunCoverageAndCheckExitCode(controller); return(path); }
//--------------------------------------------------------------------- MainSettingController ExecuteCommand(int commandId) { MainSettingController controller = null; RunInUIhread(() => { object Customin = null; object Customout = null; var commandGuid = OpenCppCoverage.VSPackage.GuidList.guidVSPackageCmdSet; string guidString = commandGuid.ToString("B").ToUpper(); DTE dte = VsIdeTestHostContext.Dte; dte.Commands.Raise(guidString, commandId, ref Customin, ref Customout); controller = GetController <MainSettingController>(); }); return(controller); }
//--------------------------------------------------------------------- static void FillController(MainSettingController controller) { SetPropertiesToNonDefaultValue(controller.BasicSettingController.BasicSettings); foreach (var p in controller.BasicSettingController.SelectableProjects) { SetPropertiesToNonDefaultValue(p); } SetPropertiesToNonDefaultValue(controller.ImportExportSettingController.Settings); SetPropertiesToNonDefaultValue(controller.MiscellaneousSettingController.Settings); SetPropertiesToNonDefaultValue(controller.FilterSettingController.Settings); // Make properties consistent as we set settings to a not null value. controller.MiscellaneousSettingController.HasConfigFile = true; controller.BasicSettingController.HasWorkingDirectory = true; // Cannnot be set at true because IsCompileBeforeRunningEnabled=false controller.BasicSettingController.BasicSettings.CompileBeforeRunning = false; }
//--------------------------------------------------------------------- void RunCommand( Action <MainWindowsManager> action) { IVsUIShell uiShell = (IVsUIShell)serviceProvider.GetService(typeof(SVsUIShell)); var errorHandler = new ErrorHandler(uiShell); errorHandler.Execute(() => { var dte = (DTE2)serviceProvider.GetService(typeof(EnvDTE.DTE)); var outputWindow = (IVsOutputWindow)serviceProvider.GetService(typeof(SVsOutputWindow)); var outputWriter = new OutputWindowWriter(dte, outputWindow); errorHandler.OutputWriter = outputWriter; var coverageViewManager = GetCoverageViewManager(serviceProvider); var coverageTreeManager = new CoverageTreeManager(windowFinder); var projectBuilder = new ProjectBuilder(dte, errorHandler, outputWriter); var deserializer = new CoverageDataDeserializer(); var openCppCoverageCmdLine = new OpenCppCoverageCmdLine(this.configFile); var openCppCoverageRunner = new OpenCppCoverageRunner(outputWriter, openCppCoverageCmdLine); var coverageRunner = new CoverageRunner( dte, outputWriter, coverageTreeManager, projectBuilder, coverageViewManager, deserializer, errorHandler, openCppCoverageRunner); var configurationManager = new ConfigurationManager(); var settingsBuilder = new StartUpProjectSettingsBuilder(dte, configurationManager); var mainSettingController = new MainSettingController( new SettingsStorage(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)), openCppCoverageCmdLine, settingsBuilder, coverageRunner); var mainWindowsManager = new MainWindowsManager(windowFinder, mainSettingController); action(mainWindowsManager); }); }
//--------------------------------------------------------------------- void RunCoverageAndCheckExitCode(MainSettingController controller) { var coverageTreeController = RunCoverageCommandAndWait(controller); Assert.IsTrue(string.IsNullOrEmpty(coverageTreeController.Warning)); }
//--------------------------------------------------------------------- internal void RunCoverageCommand(MainSettingController controller) { RunInUIhread(() => { controller.RunCoverageCommand.Execute(null); }); }
//--------------------------------------------------------------------- internal CoverageTreeController RunCoverageCommandAndWait( MainSettingController controller) { RunCoverageCommand(controller); return(CloseOpenCppCoverageConsole(TimeSpan.FromSeconds(10))); }
//--------------------------------------------------------------------- public MainWindowsManager(IWindowFinder windowFinder, MainSettingController mainSettingController) { this.windowFinder = windowFinder; this.mainSettingController = mainSettingController; }
void Awake() { Instance = this; }