mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
ruby: Fix .new method (RHBZ#1046509).
The .new method was unintentionally broken in
commit 9466060201.
This fixes the .new method and allows it to be called with multiple
parameters, so you can use:
Guestfs::Guestfs.new
Guestfs::Guestfs.new()
Guestfs::Guestfs.new(:close_on_exit => false)
etc.
For backwards compatibility, Guestfs::create may still be used.
This commit also adds regression tests:
- Use .new method in regular tests. (Because this was not done
before, we didn't catch the breakage.)
- Test that ::create still works.
- Test that args can be passed to .new method.
This commit is contained in:
@@ -22,7 +22,7 @@ require 'guestfs'
|
||||
|
||||
class TestLoad < Test::Unit::TestCase
|
||||
def test_create
|
||||
g = Guestfs::create()
|
||||
g = Guestfs::Guestfs.new()
|
||||
assert_not_nil (g)
|
||||
end
|
||||
end
|
||||
|
||||
29
ruby/t/tc_030_create_flags.rb
Normal file
29
ruby/t/tc_030_create_flags.rb
Normal file
@@ -0,0 +1,29 @@
|
||||
# libguestfs Ruby bindings -*- ruby -*-
|
||||
# Copyright (C) 2013 Red Hat Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
require 'test/unit'
|
||||
$:.unshift(File::join(File::dirname(__FILE__), "..", "lib"))
|
||||
$:.unshift(File::join(File::dirname(__FILE__), "..", "ext", "guestfs"))
|
||||
require 'guestfs'
|
||||
|
||||
class TestLoad < Test::Unit::TestCase
|
||||
def test_create_flags
|
||||
g = Guestfs::Guestfs.new(:environment => false, :close_on_exit => true)
|
||||
assert_not_nil (g)
|
||||
g.parse_environment()
|
||||
end
|
||||
end
|
||||
32
ruby/t/tc_040_create_multiple.rb
Normal file
32
ruby/t/tc_040_create_multiple.rb
Normal file
@@ -0,0 +1,32 @@
|
||||
# libguestfs Ruby bindings -*- ruby -*-
|
||||
# Copyright (C) 2013 Red Hat Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
require 'test/unit'
|
||||
$:.unshift(File::join(File::dirname(__FILE__), "..", "lib"))
|
||||
$:.unshift(File::join(File::dirname(__FILE__), "..", "ext", "guestfs"))
|
||||
require 'guestfs'
|
||||
|
||||
class TestLoad < Test::Unit::TestCase
|
||||
def test_create_multiple
|
||||
g1 = Guestfs::Guestfs.new()
|
||||
g2 = Guestfs::Guestfs.new()
|
||||
g3 = Guestfs::Guestfs.new()
|
||||
assert_not_nil (g1)
|
||||
assert_not_nil (g2)
|
||||
assert_not_nil (g3)
|
||||
end
|
||||
end
|
||||
36
ruby/t/tc_050_handle_properties.rb
Normal file
36
ruby/t/tc_050_handle_properties.rb
Normal file
@@ -0,0 +1,36 @@
|
||||
# libguestfs Ruby bindings -*- ruby -*-
|
||||
# Copyright (C) 2013 Red Hat Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
require 'test/unit'
|
||||
$:.unshift(File::join(File::dirname(__FILE__), "..", "lib"))
|
||||
$:.unshift(File::join(File::dirname(__FILE__), "..", "ext", "guestfs"))
|
||||
require 'guestfs'
|
||||
|
||||
class TestLoad < Test::Unit::TestCase
|
||||
def test_handle_properties
|
||||
g = Guestfs::Guestfs.new()
|
||||
assert_not_nil (g)
|
||||
v = g.get_verbose()
|
||||
g.set_verbose(v)
|
||||
v = g.get_trace()
|
||||
g.set_trace(v)
|
||||
v = g.get_memsize()
|
||||
g.set_memsize(v)
|
||||
v = g.get_path()
|
||||
g.set_path(v)
|
||||
end
|
||||
end
|
||||
29
ruby/t/tc_060_explicit_close.rb
Normal file
29
ruby/t/tc_060_explicit_close.rb
Normal file
@@ -0,0 +1,29 @@
|
||||
# libguestfs Ruby bindings -*- ruby -*-
|
||||
# Copyright (C) 2013 Red Hat Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
require 'test/unit'
|
||||
$:.unshift(File::join(File::dirname(__FILE__), "..", "lib"))
|
||||
$:.unshift(File::join(File::dirname(__FILE__), "..", "ext", "guestfs"))
|
||||
require 'guestfs'
|
||||
|
||||
class TestLoad < Test::Unit::TestCase
|
||||
def test_explicit_close
|
||||
g = Guestfs::Guestfs.new()
|
||||
assert_not_nil (g)
|
||||
g.close()
|
||||
end
|
||||
end
|
||||
@@ -22,7 +22,7 @@ require 'guestfs'
|
||||
|
||||
class TestLoad < Test::Unit::TestCase
|
||||
def test_optargs
|
||||
g = Guestfs::create()
|
||||
g = Guestfs::Guestfs.new()
|
||||
|
||||
g.add_drive("/dev/null", {})
|
||||
g.add_drive("/dev/null", :readonly => 1)
|
||||
|
||||
@@ -22,7 +22,7 @@ require 'guestfs'
|
||||
|
||||
class TestLoad < Test::Unit::TestCase
|
||||
def test_launch
|
||||
g = Guestfs::create()
|
||||
g = Guestfs::Guestfs.new()
|
||||
|
||||
g.add_drive_scratch(500*1024*1024)
|
||||
g.launch()
|
||||
|
||||
@@ -22,7 +22,7 @@ require 'guestfs'
|
||||
|
||||
class TestLoad < Test::Unit::TestCase
|
||||
def test_events
|
||||
g = Guestfs::create()
|
||||
g = Guestfs::Guestfs.new()
|
||||
|
||||
close_invoked = 0
|
||||
close = Proc.new {| event, event_handle, buf, array |
|
||||
|
||||
@@ -22,7 +22,7 @@ require 'guestfs'
|
||||
|
||||
class TestLoad < Test::Unit::TestCase
|
||||
def test_events
|
||||
g = Guestfs::create()
|
||||
g = Guestfs::Guestfs.new()
|
||||
|
||||
log_invoked = 0
|
||||
log = Proc.new {| event, event_handle, buf, array |
|
||||
|
||||
@@ -22,7 +22,7 @@ require 'guestfs'
|
||||
|
||||
class TestLoad < Test::Unit::TestCase
|
||||
def test_rhbz507346
|
||||
g = Guestfs::create()
|
||||
g = Guestfs::Guestfs.new()
|
||||
g.add_drive_scratch(10*1024*1024)
|
||||
g.launch()
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ require 'guestfs'
|
||||
|
||||
class TestLoad < Test::Unit::TestCase
|
||||
def test_rhbz664558c6
|
||||
g = Guestfs::create()
|
||||
g = Guestfs::Guestfs.new()
|
||||
|
||||
close_invoked = 0
|
||||
close = Proc.new {| event, event_handle, buf, array |
|
||||
|
||||
42
ruby/t/tc_820_rhbz1046509.rb
Normal file
42
ruby/t/tc_820_rhbz1046509.rb
Normal file
@@ -0,0 +1,42 @@
|
||||
# libguestfs Ruby bindings -*- ruby -*-
|
||||
# Copyright (C) 2013 Red Hat Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
# Test that we don't break the old ::create module function while
|
||||
# fixing https://bugzilla.redhat.com/show_bug.cgi?id=1046509
|
||||
|
||||
require 'test/unit'
|
||||
$:.unshift(File::join(File::dirname(__FILE__), "..", "lib"))
|
||||
$:.unshift(File::join(File::dirname(__FILE__), "..", "ext", "guestfs"))
|
||||
require 'guestfs'
|
||||
|
||||
class TestLoad < Test::Unit::TestCase
|
||||
def _handleok(g)
|
||||
g.add_drive("/dev/null")
|
||||
g.close()
|
||||
end
|
||||
|
||||
def test_rhbz1046509
|
||||
g = Guestfs::create()
|
||||
_handleok(g)
|
||||
|
||||
g = Guestfs::create(:close_on_exit => true)
|
||||
_handleok(g)
|
||||
|
||||
g = Guestfs::create(:close_on_exit => true, :environment => true)
|
||||
_handleok(g)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user