[前][次][番号順一覧][スレッド一覧]

ruby-changes:16512

From: yugui <ko1@a...>
Date: Thu, 1 Jul 2010 11:05:48 +0900 (JST)
Subject: [ruby-changes:16512] Ruby:r28502 (ruby_1_9_2): merges r28442 from trunk into ruby_1_9_2.

yugui	2010-07-01 11:05:22 +0900 (Thu, 01 Jul 2010)

  New Revision: 28502

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=28502

  Log:
    merges r28442 from trunk into ruby_1_9_2.
    --
    * test/win32ole/test_win32ole_method.rb (test_offset_vtbl): check
      that OS is Windows 32bit or Windows 64bit in order to get
      correct offset value.

  Modified files:
    branches/ruby_1_9_2/ChangeLog
    branches/ruby_1_9_2/test/win32ole/test_win32ole_method.rb

Index: ruby_1_9_2/ChangeLog
===================================================================
--- ruby_1_9_2/ChangeLog	(revision 28501)
+++ ruby_1_9_2/ChangeLog	(revision 28502)
@@ -1,3 +1,9 @@
+Sat Jun 26 07:59:18 2010  Masaki Suketa <masaki.suketa@n...>
+
+	* test/win32ole/test_win32ole_method.rb (test_offset_vtbl): check
+	  that OS is Windows 32bit or Windows 64bit in order to get
+	  correct offset value.
+
 Fri Jun 25 11:45:36 2010  James Edward Gray II  <jeg2@r...>
 
 	* lib/csv.rb: Fixing a bug that prevented CSV from parsing
Index: ruby_1_9_2/test/win32ole/test_win32ole_method.rb
===================================================================
--- ruby_1_9_2/test/win32ole/test_win32ole_method.rb	(revision 28501)
+++ ruby_1_9_2/test/win32ole/test_win32ole_method.rb	(revision 28502)
@@ -108,8 +108,29 @@
       assert_equal(1610743810, @m_namespace.dispid)
     end
 
+    def is_win64?
+      if /win64$/ =~ RUBY_PLATFORM
+        return true
+      end
+      require 'Win32API'
+      get_current_process = Win32API.new('kernel32', 'GetCurrentProcess', nil, 'i')
+      handle = get_current_process.call
+      is_wow64 = false
+      begin
+        is_wow64_process = Win32API.new('Kernel32', 'IsWow64Process', ['i', 'p'], 'i')
+        bool = "\0\0\0\0"
+        if is_wow64_process.call(handle, bool) != 0
+          is_wow64 = bool != "\0\0\0\0"
+        end
+      rescue RuntimeError
+        # no IsWow64Process
+      end
+      is_wow64
+    end
+
     def test_offset_vtbl
-      assert_equal(24, @m_invoke.offset_vtbl)
+      exp = is_win64? ? 48 : 24
+      assert_equal(exp, @m_invoke.offset_vtbl)
     end
 
     def test_size_params

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]