You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #87 introduced hard dependency on ReXML. However, the irony is that the Nokogiri is actually preferred and the whole test suite is executed against Nokogiri. On top of that, if Nokogiri is not available, there are ~170 test failures such as:
2) DBus::Service when a private bus is set up #exists? is true for an existing service
Failure/Error: @doc = Nokogiri.XML(xml)
NameError:
uninitialized constant DBus::IntrospectXMLParser::NokogiriParser::Nokogiri
# ./lib/dbus/xml.rb:81:in `initialize'
# ./lib/dbus/xml.rb:127:in `new'
# ./lib/dbus/xml.rb:127:in `parse'
# ./lib/dbus/proxy_object_factory.rb:33:in `introspect_into'
# ./lib/dbus/proxy_object.rb:80:in `introspect'
# ./spec/bus_driver_spec.rb:20:in `block (4 levels) in <top (required)>'
# ./spec/spec_helper.rb:119:in `with_service_by_activation'
# ./spec/bus_driver_spec.rb:11:in `block (4 levels) in <top (required)>'
# ./spec/spec_helper.rb:95:in `block (2 levels) in with_private_bus'
# ./spec/spec_helper.rb:66:in `with_env'
# ./spec/spec_helper.rb:94:in `block in with_private_bus'
# ./spec/spec_helper.rb:66:in `with_env'
# ./spec/spec_helper.rb:77:in `with_private_bus'
# ./spec/bus_driver_spec.rb:10:in `block (3 levels) in <top (required)>'
as soon as the BusAndXmlBackendTest tests introspection reading nokogiri test case is executed, because it sets the backend to Nokogiri without reseting it back to the original value:
If both backends are really equal, then the two test cases should be probably merged into one, where the XML backend is defined by the available package set (or by some env variable) and the test suite should be run twice, once with Nokogiri and the other time with ReXML.
It also is suboptimal to always pull in ReXML gem, when Nokogiri is going to be used. Ideally, there should be no implicit dependency. Maybe the default behavior should be to just gracefully fail if there is no XML parser available. Or only one XML parser could be supported ...
The text was updated successfully, but these errors were encountered:
PR #87 introduced hard dependency on ReXML. However, the irony is that the Nokogiri is actually preferred and the whole test suite is executed against Nokogiri. On top of that, if Nokogiri is not available, there are ~170 test failures such as:
as soon as the
BusAndXmlBackendTest tests introspection reading nokogiri
test case is executed, because it sets the backend to Nokogiri without reseting it back to the original value:ruby-dbus/spec/bus_and_xml_backend_spec.rb
Line 31 in b681d69
I'd like to clarify this situation.
If both backends are really equal, then the two test cases should be probably merged into one, where the XML backend is defined by the available package set (or by some env variable) and the test suite should be run twice, once with Nokogiri and the other time with ReXML.
It also is suboptimal to always pull in ReXML gem, when Nokogiri is going to be used. Ideally, there should be no implicit dependency. Maybe the default behavior should be to just gracefully fail if there is no XML parser available. Or only one XML parser could be supported ...
The text was updated successfully, but these errors were encountered: