You've already forked linux-packaging-mono
Imported Upstream version 4.4.2.4
Former-commit-id: 92904c9c5915c37244316e42ba99e7b934ed7ee2
This commit is contained in:
parent
589d484eee
commit
0b4a830db1
@@ -16,6 +16,8 @@ using System.IO;
|
||||
using System.Reflection;
|
||||
using Microsoft.CSharp;
|
||||
using NUnit.Framework;
|
||||
using System.Text;
|
||||
using System.Linq;
|
||||
|
||||
namespace MonoTests.Microsoft.CSharp
|
||||
{
|
||||
@@ -566,6 +568,39 @@ namespace MonoTests.Microsoft.CSharp
|
||||
AssertCompileResults (results, true);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void EncodingMismatch ()
|
||||
{
|
||||
var source = @"
|
||||
#warning Trigger Some Warning
|
||||
public class MyClass {
|
||||
public static string MyMethod () { return ""data""; }
|
||||
}";
|
||||
|
||||
var p = new CompilerParameters () {
|
||||
GenerateInMemory = false,
|
||||
GenerateExecutable = false,
|
||||
IncludeDebugInformation = true,
|
||||
TreatWarningsAsErrors = false,
|
||||
TempFiles = new TempFileCollection (_tempDir, true),
|
||||
};
|
||||
|
||||
var prov = new CSharpCodeProvider ();
|
||||
CompilerResults results;
|
||||
|
||||
var prev = Console.OutputEncoding;
|
||||
try {
|
||||
Console.OutputEncoding = Encoding.Unicode;
|
||||
|
||||
results = prov.CompileAssemblyFromSource (p, source);
|
||||
} finally {
|
||||
Console.OutputEncoding = prev;
|
||||
}
|
||||
|
||||
Assert.IsNotNull (results.Errors);
|
||||
Assert.IsTrue (results.Output.Cast<string>().ToArray ()[1].Contains ("Trigger Some Warning"));
|
||||
}
|
||||
|
||||
private static string CreateTempDirectory ()
|
||||
{
|
||||
// create a uniquely named zero-byte file
|
||||
|
@@ -1 +1 @@
|
||||
a0e19d4f2d15d6d856fcf37ff33c86c1173274d5
|
||||
b2e9eba4a8518bcdbcccdc6031b2c323af6ce88b
|
@@ -40,7 +40,6 @@ namespace MonoTests.System.Timers
|
||||
public class TimerTest
|
||||
{
|
||||
Timer timer;
|
||||
int _elapsedCount;
|
||||
|
||||
[SetUp]
|
||||
public void SetUp ()
|
||||
@@ -287,19 +286,46 @@ namespace MonoTests.System.Timers
|
||||
Assert.IsFalse (timer.Enabled, "#3");
|
||||
}
|
||||
|
||||
[Test] // bug #325368
|
||||
[Test] // bug https://bugzilla.novell.com/show_bug.cgi?id=325368
|
||||
public void EnabledInElapsed ()
|
||||
{
|
||||
_elapsedCount = 0;
|
||||
var elapsedCount = 0;
|
||||
var mre = new ST.ManualResetEventSlim ();
|
||||
timer = new Timer (50);
|
||||
timer.AutoReset = false;
|
||||
timer.Elapsed += new ElapsedEventHandler (EnabledInElapsed_Elapsed);
|
||||
timer.Elapsed += (s, e) =>
|
||||
{
|
||||
elapsedCount++;
|
||||
if (elapsedCount == 1)
|
||||
timer.Enabled = true;
|
||||
else if (elapsedCount == 2)
|
||||
mre.Set ();
|
||||
};
|
||||
timer.Start ();
|
||||
|
||||
ST.Thread.Sleep (200);
|
||||
Assert.IsTrue (mre.Wait (500), "#1 re-enabling timer in Elapsed didn't work");
|
||||
Assert.AreEqual (2, elapsedCount, "#2 wrong elapsedCount");
|
||||
timer.Stop ();
|
||||
}
|
||||
|
||||
Assert.IsTrue (_elapsedCount == 2, "#1 loss of events");
|
||||
[Test]
|
||||
public void AutoResetEventFalseStopsFiringElapsed ()
|
||||
{
|
||||
var elapsedCount = 0;
|
||||
var mre = new ST.ManualResetEventSlim ();
|
||||
timer = new Timer (50);
|
||||
timer.AutoReset = false;
|
||||
timer.Elapsed += (s, e) =>
|
||||
{
|
||||
elapsedCount++;
|
||||
if (elapsedCount > 1)
|
||||
mre.Set ();
|
||||
};
|
||||
timer.Start ();
|
||||
|
||||
Assert.IsFalse (mre.Wait (500), "#1 AutoResetEvent=false didn't stop firing Elapsed, elapsedCount=" + elapsedCount);
|
||||
Assert.AreEqual (1, elapsedCount, "#2 wrong elapsedCount");
|
||||
timer.Stop ();
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -308,14 +334,6 @@ namespace MonoTests.System.Timers
|
||||
Assert.IsTrue (new RaceTest (true).Success, "#1");
|
||||
Assert.IsTrue (new RaceTest (false).Success, "#2");
|
||||
}
|
||||
|
||||
void EnabledInElapsed_Elapsed (object sender, ElapsedEventArgs e)
|
||||
{
|
||||
_elapsedCount++;
|
||||
Timer t = sender as Timer;
|
||||
if (_elapsedCount == 1)
|
||||
t.Enabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
class RaceTest
|
||||
|
Reference in New Issue
Block a user