Alexandre Julliard : rpcrt4/tests: Add more tests for integer ranges to show that ranges are independent.

Alexandre Julliard julliard at winehq.org
Mon Sep 19 13:48:41 CDT 2011


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Mon Sep 19 13:17:41 2011 +0200

rpcrt4/tests: Add more tests for integer ranges to show that ranges are independent.

Reported by Jérôme Gardou.

---

 dlls/rpcrt4/tests/server.c   |   15 +++++++++++----
 dlls/rpcrt4/tests/server.idl |    3 ++-
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/dlls/rpcrt4/tests/server.c b/dlls/rpcrt4/tests/server.c
index eb8f061..d66c22c 100644
--- a/dlls/rpcrt4/tests/server.c
+++ b/dlls/rpcrt4/tests/server.c
@@ -599,9 +599,14 @@ str_t __cdecl s_get_filename(void)
     return (char *)__FILE__;
 }
 
-int __cdecl s_echo_ranged_int(int n)
+int __cdecl s_echo_ranged_int(int i, int j, int k)
 {
-    return n;
+    return min( 100, i + j + k );
+}
+
+int __cdecl s_echo_ranged_int2(int i)
+{
+    return i;
 }
 
 void __cdecl s_get_ranged_enum(renum_t *re)
@@ -934,10 +939,12 @@ basic_tests(void)
   ok(!strcmp(str, __FILE__), "get_filename() returned %s instead of %s\n", str, __FILE__);
   midl_user_free(str);
 
-  x = echo_ranged_int(0);
+  x = echo_ranged_int(0,0,0);
   ok(x == 0, "echo_ranged_int() returned %d instead of 0\n", x);
-  x = echo_ranged_int(100);
+  x = echo_ranged_int(10,20,100);
   ok(x == 100, "echo_ranged_int() returned %d instead of 100\n", x);
+  x = echo_ranged_int2(40);
+  ok(x == 40, "echo_ranged_int() returned %d instead of 40\n", x);
 
   if (!old_windows_version)
   {
diff --git a/dlls/rpcrt4/tests/server.idl b/dlls/rpcrt4/tests/server.idl
index c7c7237..2e305c1 100644
--- a/dlls/rpcrt4/tests/server.idl
+++ b/dlls/rpcrt4/tests/server.idl
@@ -363,7 +363,8 @@ cpp_quote("#endif")
   const int RE_MAX = RE3;
   typedef [range(RE_MIN, RE_MAX)] enum renum renum_t;
   typedef [range(0, 100)] int rint_t;
-  rint_t echo_ranged_int([range(0, 100)] int n);
+  rint_t echo_ranged_int([range(0, 10)] int i, [range(0, 20)] int j, [range(0, 100)] int k);
+  rint_t echo_ranged_int2([range(0, 40)] int i);
   void get_ranged_enum([out] renum_t *re);
 
   void context_handle_test(void);




More information about the wine-cvs mailing list