}
}
+#if MONO_FEATURE_PROCESS_START
[Test] // Start ()
public void Start1_FileName_Empty ()
{
p.BeginOutputReadLine ();
p.WaitForExit ();
- exited.Wait (10000);
+ Assert.IsTrue (exited.Wait (10000));
Assert.AreEqual (1, exitedCalledCounter);
Thread.Sleep (50);
Assert.AreEqual (1, exitedCalledCounter);
}
-
+ [Test]
+ [NUnit.Framework.Category ("MobileNotWorking")]
+ public void TestDisableEventsBeforeExitedEvent ()
+ {
+ Process p = new Process ();
+
+ p.StartInfo = GetCrossPlatformStartInfo ();
+ p.StartInfo.UseShellExecute = false;
+ p.StartInfo.RedirectStandardOutput = true;
+ p.StartInfo.RedirectStandardError = true;
+
+ p.EnableRaisingEvents = false;
+
+ var exitedCalledCounter = 0;
+ p.Exited += (object sender, EventArgs e) => {
+ exitedCalledCounter++;
+ };
+
+ p.Start ();
+ p.BeginErrorReadLine ();
+ p.BeginOutputReadLine ();
+ p.WaitForExit ();
+
+ Assert.AreEqual (0, exitedCalledCounter);
+ }
+
ProcessStartInfo GetCrossPlatformStartInfo ()
{
if (RunningOnUnix) {
} else
return new ProcessStartInfo ("help", "");
}
+#endif // MONO_FEATURE_PROCESS_START
[Test]
public void ProcessName_NotStarted ()
Assert.IsNull (e.InnerException, "IOE inner exception should be null");
}
+#if MONO_FEATURE_PROCESS_START
[Test]
[NUnit.Framework.Category ("MobileNotWorking")]
public void ProcessName_AfterExit ()
Assert.IsNull (e.InnerException, "IOE inner exception should be null");
}
+#endif // MONO_FEATURE_PROCESS_START
[Test]
public void Handle_ThrowsOnNotStarted ()
Assert.IsFalse (Process.GetCurrentProcess ().HasExited);
}
+#if MONO_FEATURE_PROCESS_START
[Test]
[NUnit.Framework.Category ("MobileNotWorking")]
public void DisposeWithDisposedStreams ()
p.StandardInput.Write ('x');
}
}
+#endif // MONO_FEATURE_PROCESS_START
[Test]
public void Modules () {