public void IsPepperPluginProcessTest() { PluginDebuggerVS_Accessor target = new PluginDebuggerVS_Accessor(dte_, properties_); string identifierFlagTarget = string.Format(Strings.PepperProcessPluginFlagFormat, target.pluginAssembly_); string goodFlags = string.Concat(Strings.ChromeRendererFlag, ' ', identifierFlagTarget); ProcessInfo badProc1 = new ProcessInfo( 1, 1, string.Empty, goodFlags, Strings.NaClProcessName); ProcessInfo badProc2 = new ProcessInfo( 1, 1, string.Empty, Strings.NaClLoaderFlag, Strings.ChromeProcessName); ProcessInfo badProc3 = new ProcessInfo( 1, 1, string.Empty, Strings.ChromeRendererFlag, Strings.ChromeProcessName); ProcessInfo badProc4 = new ProcessInfo( 1, 1, string.Empty, identifierFlagTarget, Strings.ChromeProcessName); ProcessInfo goodProc = new ProcessInfo( 1, 1, string.Empty, goodFlags, Strings.ChromeProcessName); Assert.IsTrue(target.IsPluginProcess(goodProc, string.Empty)); Assert.IsFalse(target.IsPluginProcess(badProc1, string.Empty)); Assert.IsFalse(target.IsPluginProcess(badProc2, string.Empty)); Assert.IsFalse(target.IsPluginProcess(badProc3, string.Empty)); Assert.IsFalse(target.IsPluginProcess(badProc4, string.Empty)); }
public void AttachVSDebuggerTest() { using (System.Diagnostics.Process dummyProc = TestUtilities.StartProcessForKilling( "DummyProc", 20)) { try { PluginDebuggerVS_Accessor target = new PluginDebuggerVS_Accessor(dte_, properties_); var pluginFoundArgs = new NativeClientVSAddIn.PluginDebuggerBase.PluginFoundEventArgs( (uint)dummyProc.Id); target.Attach(null, pluginFoundArgs); bool isBeingDebugged = false; foreach (EnvDTE.Process proc in dte_.Debugger.DebuggedProcesses) { if (proc.ProcessID == dummyProc.Id) { isBeingDebugged = true; } } Assert.IsTrue(isBeingDebugged, "Visual Studio debugger did not attach"); } finally { if (dummyProc != null && !dummyProc.HasExited) { dummyProc.Kill(); dummyProc.Dispose(); } } } }