try to use System Monitor Control
* test/win32ole/test_win32ole_type_event.rb: try to use System Monitor Control to test. ADO is not available in AppVeyor(Mingw only?) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
8f43080f4b
commit
c561284bc2
@ -3,51 +3,46 @@ begin
|
|||||||
require 'win32ole'
|
require 'win32ole'
|
||||||
rescue LoadError
|
rescue LoadError
|
||||||
end
|
end
|
||||||
require "test/unit"
|
|
||||||
|
require 'test/unit'
|
||||||
|
|
||||||
if defined?(WIN32OLE_TYPE)
|
if defined?(WIN32OLE_TYPE)
|
||||||
def ado_installed?
|
def sysmon_available?
|
||||||
installed = false
|
WIN32OLE_TYPE.new('System Monitor Control', 'SystemMonitor')
|
||||||
if defined?(WIN32OLE)
|
true
|
||||||
begin
|
rescue
|
||||||
WIN32OLE.new('ADODB.Connection')
|
false
|
||||||
installed = true
|
|
||||||
rescue
|
|
||||||
end
|
|
||||||
end
|
|
||||||
installed
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class TestWIN32OLE_TYPE_EVENT < Test::Unit::TestCase
|
class TestWIN32OLE_TYPE_EVENT < Test::Unit::TestCase
|
||||||
unless ado_installed?
|
unless sysmon_available?
|
||||||
def test_dummy_for_skip_message
|
def test_dummy_for_skip_message
|
||||||
skip 'ActiveX Data Object Library not found'
|
skip 'System Monitor Control is not available'
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
typelib = WIN32OLE.new('ADODB.Connection').ole_typelib
|
@ole_type = WIN32OLE_TYPE.new('System Monitor Control', 'SystemMonitor')
|
||||||
@ole_type = WIN32OLE_TYPE.new(typelib.name, 'Connection')
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_implemented_ole_types
|
def test_implemented_ole_types
|
||||||
ole_types = @ole_type.implemented_ole_types.map(&:name).sort
|
ole_types = @ole_type.implemented_ole_types.map(&:name).sort
|
||||||
assert_equal(['ConnectionEvents', '_Connection'], ole_types)
|
assert_equal(['DISystemMonitor', 'DISystemMonitorEvents', 'ISystemMonitor'], ole_types)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_default_ole_types
|
def test_default_ole_types
|
||||||
ole_types = @ole_type.default_ole_types.map(&:name).sort
|
ole_types = @ole_type.default_ole_types.map(&:name).sort
|
||||||
assert_equal(['ConnectionEvents', '_Connection'], ole_types)
|
assert_equal(['DISystemMonitor', 'DISystemMonitorEvents'], ole_types)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_source_ole_types
|
def test_source_ole_types
|
||||||
ole_types = @ole_type.source_ole_types.map(&:name)
|
ole_types = @ole_type.source_ole_types.map(&:name)
|
||||||
assert_equal(['ConnectionEvents'], ole_types)
|
assert_equal(['DISystemMonitorEvents'], ole_types)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_default_event_sources
|
def test_default_event_sources
|
||||||
event_sources = @ole_type.default_event_sources.map(&:name)
|
event_sources = @ole_type.default_event_sources.map(&:name)
|
||||||
assert_equal(['ConnectionEvents'], event_sources)
|
assert_equal(['DISystemMonitorEvents'], event_sources)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user