vmware-archive / vcloud-rest

Unofficial ruby bindings for VMware vCloud Director®
Apache License 2.0
29 stars 37 forks source link

Failing test with nested namespaced item #3

Closed astratto closed 11 years ago

astratto commented 11 years ago

Sometimes tests fail (i.e., Travis) after parsing nested namespaced items.

1) Failure:
test_0004_should_return_the_correct_no_of_vms_1(VcloudclientConnectionSpec::ShowVappSpec) [spec/connection_spec.rb:279]:
Expected ["vm_1", {:addresses=>["127.0.0.1"], :status=>"running", :id=>"vm_1"}], 
not ["vm_1", {:addresses=>[nil], :status=>"running", :id=>"vm_1"}].

45 tests, 51 assertions, 1 failures, 0 errors, 0 skips

Test run options: --seed 41396

Upgrading nokogiri doesn't solve the issue, since it seems to be related to the linked version of libxml.

It fails with libxml 2.7.3 and 2.7.8 (used by Travis), but works with libxml 2.9.0.

Not Working

OSX with 1.9.2

$ nokogiri -v
# Nokogiri (1.5.6)
    ---
    warnings: []
    nokogiri: 1.5.6
    ruby:
      version: 1.9.2
      platform: x86_64-darwin11.4.2
      description: ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-darwin11.4.2]
      engine: ruby
    libxml:
      binding: extension
      compiled: 2.7.3
      loaded: 2.7.3

Travis with 1.9.3

# Nokogiri (1.5.9)
    ---
    warnings: []
    nokogiri: 1.5.9
    ruby:
      version: 1.9.3
      platform: i686-linux
      description: ruby 1.9.3p327 (2012-11-10 revision 37606) [i686-linux]
      engine: ruby
    libxml:
      binding: extension
      compiled: 2.7.8
      loaded: 2.7.8

Parsed xml

vms.first.css('rasd|Connection')
[#<Nokogiri::XML::Element:0x559d1fc name="Connection" namespace=#<Nokogiri::XML::Namespace:0x559d1ca prefix="rasd" href="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"> attributes=[#<Nokogiri::XML::Attr:0x559d1b6 name="ipAddress" value="127.0.0.1">]>]
Gem.loaded_specs['nokogiri']
#<Gem::Specification name=nokogiri version=1.5.9>

Parsed attribute:

#<Nokogiri::XML::Attr:0x559d1b6 name="ipAddress" value="127.0.0.1"

Working

OSX with 1.9.2

$ nokogiri -v
# Nokogiri (1.5.9)
    ---
    warnings: []
    nokogiri: 1.5.9
    ruby:
      version: 1.9.2
      platform: x86_64-darwin11.4.2
      description: ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-darwin11.4.2]
      engine: ruby
    libxml:
      binding: extension
      compiled: 2.9.0
      loaded: 2.9.0

OSX with 1.9.3

 nokogiri -v
# Nokogiri (1.5.9)
    ---
    warnings: []
    nokogiri: 1.5.9
    ruby:
      version: 1.9.3
      platform: x86_64-darwin11.4.2
      description: ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin11.4.2]
      engine: ruby
    libxml:
      binding: extension
      compiled: 2.9.0
      loaded: 2.9.0

Parsed xml

vms.first.css('rasd|Connection')
[#<Nokogiri::XML::Element:0x3fed95ec02d0 name="Connection" namespace=#<Nokogiri::XML::Namespace:0x3fed95e516a0 prefix="rasd" href="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"> attributes=[#<Nokogiri::XML::Attr:0x3fed95b0f208 name="vcloud:ipAddress" value="127.0.0.1">]>]
Gem.loaded_specs['nokogiri']
#<Gem::Specification:0x3fed96418ed0 nokogiri-1.5.9>

Parsed attribute:

#<Nokogiri::XML::Attr:0x3fed95b0f208 name="vcloud:ipAddress" value="127.0.0.1"
astratto commented 11 years ago

Fixed by 63155ab8fc72fb8f0b795dfa3168dbfc55439471