Exemple #1
0
        public int StartApplication(string appId, string[] parameters)
        {
            ExtensionNode node = AddinManager.GetExtensionNode("/MonoDevelop/Core/Applications/" + appId);

            if (node == null)
            {
                throw new InstallException("Application not found: " + appId);
            }

            ApplicationExtensionNode apnode = node as ApplicationExtensionNode;

            if (apnode == null)
            {
                throw new Exception("Invalid node type");
            }

            IApplication app = (IApplication)apnode.CreateInstance();

            try {
                return(app.Run(parameters));
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
                LoggingService.LogFatalError(ex.ToString());
                return(-1);
            }
        }
Exemple #2
0
        public void TestCrashLogging()
        {
            Tuple <Exception, bool, string> message;

            LoggingService.LogInternalError(null);
            message = reporter.Messages [reporter.Messages.Count - 1];
            Assert.AreSame(null, message.Item1);
            Assert.AreEqual(false, message.Item2);
            Assert.AreEqual("internal", message.Item3);
            Assert.AreEqual(1, reporter.Messages.Count);

            LoggingService.LogFatalError(string.Empty, (Exception)null);
            message = reporter.Messages [reporter.Messages.Count - 1];
            Assert.AreSame(null, message.Item1);
            Assert.AreEqual(true, message.Item2);
            Assert.AreEqual("fatal", message.Item3);
            Assert.AreEqual(2, reporter.Messages.Count);
        }