/// <summary> /// Will start the browser process. /// </summary> public static void Start() { var dir = AppDomain.CurrentDomain.BaseDirectory; var missingDeps = DependencyChecker.CheckDependencies(true, false, dir, string.Empty, Path.Combine(dir, "CefSharp.BrowserSubprocess.exe")); if (missingDeps?.Count > 0) { Logger.LogInfo($"Missing dependancies:{missingDeps.Aggregate((r, s) => $"{r}, {s}")}"); } var directory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); directory = directory != null && directory.EndsWith("\\") ? directory : $"{directory}\\"; var settings = new CefSettings(); settings.RegisterScheme(new CefCustomScheme { SchemeName = "custom", SchemeHandlerFactory = new SchemeHandlerFactory(directory) }); settings.CefCommandLineArgs.Add("disable-gpu", "1"); Cef.Initialize(settings, true, null); }
public void DependencyCheckerCheckDependenciesTest() { log.Info("-----------------------------DependencyChecker CheckDependencies-----------------------------"); // Test setup string MyPlugin1 = Path.Combine(Directory.GetCurrentDirectory(), "TapPackages/MyPlugin1.TapPackage"); string MyPlugin2 = Path.Combine(Directory.GetCurrentDirectory(), "TapPackages/MyPlugin2.1.2.37-alpha.715+164e6f81.TapPackage"); string MyPlugin3 = Path.Combine(Directory.GetCurrentDirectory(), "TapPackages/MyPlugin3.TapPackage"); // No dependencies EventTraceListener listener = new EventTraceListener(); string errors = ""; listener.MessageLogged += events => errors += Environment.NewLine + String.Join(Environment.NewLine, events.Select(m => m.Message)); Log.AddListener(listener); Installation installation = new Installation(Directory.GetCurrentDirectory()); var issues = DependencyChecker.CheckDependencies(installation, new string[] { MyPlugin1, MyPlugin2 }); Log.RemoveListener(listener); Assert.IsTrue(issues == DependencyChecker.Issue.None, errors); log.Info("No dependencies - SUCCESS"); // Dependency on plugin issues = DependencyChecker.CheckDependencies(installation, new string[] { MyPlugin1, MyPlugin2, MyPlugin3 }); Assert.IsTrue(issues == DependencyChecker.Issue.BrokenPackages, "Dependency on plugin"); log.Info("Dependency on plugin - SUCCESS"); }
public void TestDependencyChecker() { var installation = MockInstallation.GetInstallation(); var noConflictingVersions = MockInstallation.GetConflictingFiles(); // GetConflictingFiles has conflicting files, but no conflicting versions, so this should return None. var issue = DependencyChecker.CheckDependencies(installation, noConflictingVersions); Assert.AreEqual(DependencyChecker.Issue.None, issue); // Conflicting has no conflicting files, but conflicting versions, so this should return BrokenPackages. var conflictingVersion = MockInstallation.GetConflictingVersion(); issue = DependencyChecker.CheckDependencies(installation, conflictingVersion); Assert.AreEqual(DependencyChecker.Issue.BrokenPackages, issue); }