* StdlibTest.cs: Signal is currently ignored, but add Category(NotDotNet) so
authorJonathan Pryor <jpryor@novell.com>
Wed, 9 Feb 2005 13:35:13 +0000 (13:35 -0000)
committerJonathan Pryor <jpryor@novell.com>
Wed, 9 Feb 2005 13:35:13 +0000 (13:35 -0000)
    it isn't run even when we fix it.  .NET 1.1 doesn't marshal delegates
    properly for signal (different calling conventions).
    Add Category(NotDotNet) for Snprintf(), as MSVCRT.dll doesn't export it.
  * UnixGroupTest.cs, UnixUserTest.cs: Don't run these under .NET, as Windows
    doesn't support the Syscall and related classes.

svn path=/trunk/mcs/; revision=40335

mcs/class/Mono.Posix/Test/Mono.Unix/ChangeLog
mcs/class/Mono.Posix/Test/Mono.Unix/StdlibTest.cs
mcs/class/Mono.Posix/Test/Mono.Unix/UnixGroupTest.cs
mcs/class/Mono.Posix/Test/Mono.Unix/UnixUserTest.cs

index e6b14651005855a76381b295dda0bc2546718362..3d41eef82e85d0150b0af4e95b210ae8e45171ed 100644 (file)
@@ -1,3 +1,12 @@
+2005-02-09  Jonathan Pryor  <jonpryor@vt.edu>
+
+       * StdlibTest.cs: Signal is currently ignored, but add Category(NotDotNet) so
+         it isn't run even when we fix it.  .NET 1.1 doesn't marshal delegates
+         properly for signal (different calling conventions).
+         Add Category(NotDotNet) for Snprintf(), as MSVCRT.dll doesn't export it.
+       * UnixGroupTest.cs, UnixUserTest.cs: Don't run these under .NET, as Windows
+         doesn't support the Syscall and related classes.
+
 2005-02-01  Raja R Harinath  <rharinath@novell.com>
 
        * UnixUserTest.cs (UnixUserTest.ReentrantConstructors): Don't
index 4acc1fddd10b6eab4a5c475d964cf2a66cdce15e..bbdf4d9503fe8ee891d404c04cc9ab92632f6048 100644 (file)
@@ -30,10 +30,21 @@ namespace MonoTests.Mono.Unix {
                }
 
                [Test, Ignore ("Sending Signals from inside Mono hangs the program")]
+#if !NET_2_0
+               // .NET 1.1 marshals delegates as Stdcall functions, while signal(3)
+               // expects a Cdecl function.  Result: stack corruption.
+               // DO NOT USE Stdlib.signal under .NET 1.1!
+               // .NET 2.0 allows us to specify how delegates should be marshaled, so
+               // this isn't an issue there.
+               [Category ("NotDotNet")]
+#endif
                public void Signal ()
                {
-                       // Insert handler
                        SignalTest st = new SignalTest ();
+                       // Make sure handler is JITed so we don't JIT from signal context
+                       st.Handler (9);
+
+                       // Insert handler
                        SignalHandler oh = Stdlib.signal (Signum.SIGUSR1, 
                                        new SignalHandler (st.Handler));
 
@@ -58,6 +69,8 @@ namespace MonoTests.Mono.Unix {
                }
 
                [Test]
+               // MSVCRT.DLL doesn't export snprintf(3).
+               [Category ("NotDotNet")]
                public void Snprintf ()
                {
                        StringBuilder s = new StringBuilder (1000);
index f610488b70c9c0dd909816327aa2ef1dda111457..3a0791ed4125af98d2dd58710b194ff0785e5653 100644 (file)
@@ -18,7 +18,7 @@ using Mono.Unix;
 
 namespace MonoTests.Mono.Unix {
 
-       [TestFixture]
+       [TestFixture, Category ("NotDotNet")]
        public class UnixGroupTest
        {
                [Test]
index 6fbf7bedf8861fa9bc964955bd16739091f61973..e47439ed6e44925a17f998fcc9e2fb366f37553c 100644 (file)
@@ -19,7 +19,7 @@ using Mono.Unix;
 
 namespace MonoTests.Mono.Unix {
 
-       [TestFixture]
+       [TestFixture, Category ("NotDotNet")]
        public class UnixUserTest
        {
                [Test]