Piotr Caban : msvcr120: Add feupdateenv tests.

Alexandre Julliard julliard at winehq.org
Thu May 13 15:31:00 CDT 2021


Module: wine
Branch: master
Commit: cef4c8c38a664b27972954bc50a629b8dcdab04a
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=cef4c8c38a664b27972954bc50a629b8dcdab04a

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Thu May 13 18:46:25 2021 +0200

msvcr120: Add feupdateenv tests.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msvcr120/tests/msvcr120.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/dlls/msvcr120/tests/msvcr120.c b/dlls/msvcr120/tests/msvcr120.c
index 151989f8f74..e8002f6cb55 100644
--- a/dlls/msvcr120/tests/msvcr120.c
+++ b/dlls/msvcr120/tests/msvcr120.c
@@ -186,6 +186,7 @@ static int (CDECL *p_fegetexceptflag)(fexcept_t*,int);
 static int (CDECL *p_fesetexceptflag)(const fexcept_t*,int);
 static int (CDECL *p_fetestexcept)(int);
 static int (CDECL *p_feclearexcept)(int);
+static int (CDECL *p_feupdateenv)(fenv_t*);
 static int (CDECL *p__clearfp)(void);
 static _locale_t (__cdecl *p_wcreate_locale)(int, const wchar_t *);
 static void (__cdecl *p_free_locale)(_locale_t);
@@ -265,6 +266,7 @@ static BOOL init(void)
     SET(p_fesetexceptflag, "fesetexceptflag");
     SET(p_fetestexcept, "fetestexcept");
     SET(p_feclearexcept, "feclearexcept");
+    SET(p_feupdateenv, "feupdateenv");
 
     SET(p__clearfp, "_clearfp");
     SET(p_vsscanf, "vsscanf");
@@ -945,6 +947,22 @@ static void test_feenv(void)
     ok(!ret, "feclearexceptflag returned %x\n", ret);
     except = p_fetestexcept(FE_ALL_EXCEPT);
     ok(!except, "expected 0, got %lx\n", except);
+
+    p__clearfp();
+    except = FE_DIVBYZERO;
+    ret = p_fesetexceptflag(&except, FE_DIVBYZERO);
+    ok(!ret, "fesetexceptflag returned %x\n", ret);
+    ret = p_fegetenv(&env);
+    ok(!ret, "fegetenv returned %x\n", ret);
+    p__clearfp();
+    except = FE_INVALID;
+    ret = p_fesetexceptflag(&except, FE_INVALID);
+    ok(!ret, "fesetexceptflag returned %x\n", ret);
+    ret = p_feupdateenv(&env);
+    ok(!ret, "feupdateenv returned %x\n", ret);
+    ret = _statusfp();
+    ok(ret == (_EM_ZERODIVIDE | _EM_INVALID), "_statusfp returned %x\n", ret);
+    p__clearfp();
 }
 
 static void test__wcreate_locale(void)




More information about the wine-cvs mailing list