summaryrefslogtreecommitdiffstats
path: root/gobject
diff options
context:
space:
mode:
authorMatthew Booth <mbooth@redhat.com>2012-01-25 15:10:01 +0000
committerMatthew Booth <mbooth@redhat.com>2012-01-26 11:49:12 +0000
commit8bad4d1c4765fd997511a505cdb2a860148ae16d (patch)
tree7f842d4fed405d5c8db722dfe89d60dc53dbae52 /gobject
parent6568dd85f4aef705e7cf5c4301bc3b8f7119efd2 (diff)
downloadlibguestfs-8bad4d1c4765fd997511a505cdb2a860148ae16d.tar.gz
libguestfs-8bad4d1c4765fd997511a505cdb2a860148ae16d.tar.xz
libguestfs-8bad4d1c4765fd997511a505cdb2a860148ae16d.zip
gobject: Add an explicit close call
This change binds guestfs_close(). It consequently results in RConstOptString being able to throw an error.
Diffstat (limited to 'gobject')
-rw-r--r--gobject/Makefile.am5
-rwxr-xr-xgobject/run-tests (renamed from gobject/run-bindtests)1
-rw-r--r--gobject/tests-misc.js41
3 files changed, 45 insertions, 2 deletions
diff --git a/gobject/Makefile.am b/gobject/Makefile.am
index 5ea44883..71de7cce 100644
--- a/gobject/Makefile.am
+++ b/gobject/Makefile.am
@@ -22,7 +22,8 @@ BUILT_SOURCES = \
EXTRA_DIST = \
$(BUILT_SOURCES) \
bindtests-manual.js \
- run-bindtests
+ tests-misc.js \
+ run-tests
libname = libguestfs-gobject-1.0.la
@@ -60,7 +61,7 @@ gir_DATA = $(INTROSPECTION_GIRS)
typelibdir = $(libdir)/girepository-1.0
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
-TESTS = run-bindtests
+TESTS = run-tests
TESTS_ENVIRONMENT = GJS=$(GJS)
$(TESTS): $(typelib_DATA)
diff --git a/gobject/run-bindtests b/gobject/run-tests
index 55c489cf..d2ce0a60 100755
--- a/gobject/run-bindtests
+++ b/gobject/run-tests
@@ -26,3 +26,4 @@ fi
../run $GJS $srcdir/bindtests.js > bindtests.tmp
diff -u ${srcdir}/../bindtests bindtests.tmp
../run $GJS $srcdir/bindtests-manual.js 2>/dev/null
+../run $GJS $srcdir/tests-misc.js 2>/dev/null
diff --git a/gobject/tests-misc.js b/gobject/tests-misc.js
new file mode 100644
index 00000000..aadc2f39
--- /dev/null
+++ b/gobject/tests-misc.js
@@ -0,0 +1,41 @@
+// libguestfs miscellaneous gobject binding tests
+// Copyright (C) 2012 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.
+
+const Guestfs = imports.gi.Guestfs;
+
+var fail = false;
+
+var g = new Guestfs.Session();
+
+// Test close()
+g.close();
+var threw = false;
+try {
+ var v = g.test0rconstoptstring('1');
+} catch (error) {
+ threw = true;
+ if (!error.message.match(/closed/)) {
+ print("call after close threw unexpected error: " + error.message);
+ fail = true;
+ }
+}
+if (!threw) {
+ print("call after closed failed to throw an error");
+ fail = true;
+}
+
+fail ? 1 : 0;