Piotr Caban : msvcrt: Added __pxcptinfoptrs tests.
Alexandre Julliard
julliard at winehq.org
Tue Mar 5 12:59:18 CST 2013
Module: wine
Branch: master
Commit: d989e92c3e2ffd666b14a0aa779b88b66fcf7602
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d989e92c3e2ffd666b14a0aa779b88b66fcf7602
Author: Piotr Caban <piotr at codeweavers.com>
Date: Tue Mar 5 11:05:57 2013 +0100
msvcrt: Added __pxcptinfoptrs tests.
---
dlls/msvcrt/tests/signal.c | 32 ++++++++++++++++++++++++++++++++
1 files changed, 32 insertions(+), 0 deletions(-)
diff --git a/dlls/msvcrt/tests/signal.c b/dlls/msvcrt/tests/signal.c
index d33498b..ad6ea6e 100644
--- a/dlls/msvcrt/tests/signal.c
+++ b/dlls/msvcrt/tests/signal.c
@@ -26,6 +26,13 @@ static int test_value = 0;
static void __cdecl sighandler(int signum)
{
+ void **ret = __pxcptinfoptrs();
+
+ ok(ret != NULL, "ret = NULL\n");
+ if(signum == SIGABRT)
+ ok(*ret == (void*)0xdeadbeef, "*ret = %p\n", *ret);
+ else if(signum == SIGSEGV)
+ ok(*ret == NULL, "*ret = %p\n", *ret);
++test_value;
}
@@ -42,7 +49,32 @@ static void test_signal(void)
ok(test_value == 1, "SIGBREAK handler not invoked\n");
}
+static void test___pxcptinfoptrs(void)
+{
+ void **ret = __pxcptinfoptrs();
+ int res;
+
+ ok(ret != NULL, "ret == NULL\n");
+ ok(*ret == NULL, "*ret != NULL\n");
+
+ test_value = 0;
+
+ *ret = (void*)0xdeadbeef;
+ signal(SIGSEGV, sighandler);
+ res = raise(SIGSEGV);
+ ok(res == 0, "failed to raise SIGSEGV\n");
+ ok(*ret == (void*)0xdeadbeef, "*ret = %p\n", *ret);
+
+ signal(SIGABRT, sighandler);
+ res = raise(SIGABRT);
+ ok(res == 0, "failed to raise SIGBREAK\n");
+ ok(*ret == (void*)0xdeadbeef, "*ret = %p\n", *ret);
+
+ ok(test_value == 2, "test_value = %d\n", test_value);
+}
+
START_TEST(signal)
{
test_signal();
+ test___pxcptinfoptrs();
}
More information about the wine-cvs
mailing list