diff options
author | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-06-28 11:38:48 +0000 |
---|---|---|
committer | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-06-28 11:38:48 +0000 |
commit | 392255310cb3922a53bde134ea46cdeeec4798b0 (patch) | |
tree | 329d4a0d5c648deee3236b7ff3535f31b04b6338 /test/win32ole/test_win32ole_method.rb | |
parent | 19e835f952baed4f466fbc0eb836460cd86264e9 (diff) |
* test/win32ole/test_win32ole_method.rb (test_offset_vtbl): check
that Ruby is 32bit or 64bit binary in order to get correct offset
value. [ruby-dev:41741]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/win32ole/test_win32ole_method.rb')
-rw-r--r-- | test/win32ole/test_win32ole_method.rb | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/test/win32ole/test_win32ole_method.rb b/test/win32ole/test_win32ole_method.rb index 2be93ab070..87d7a81267 100644 --- a/test/win32ole/test_win32ole_method.rb +++ b/test/win32ole/test_win32ole_method.rb @@ -108,28 +108,12 @@ if defined?(WIN32OLE_METHOD) 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 + def is_ruby64? + /win64/ =~ RUBY_PLATFORM end def test_offset_vtbl - exp = is_win64? ? 48 : 24 + exp = is_ruby64? ? 48 : 24 assert_equal(exp, @m_invoke.offset_vtbl) end |