summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am3
-rwxr-xr-xtests/error.py41
2 files changed, 43 insertions, 1 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index fd1d5fa..5860190 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -3,7 +3,8 @@ EXAMPLE_DIR = $(datadir)/doc/libvirt-python-$(LIBVIRT_VERSION)/examples
PYTESTS= \
basic.py \
create.py \
- uuid.py
+ uuid.py \
+ error.py
EXTRA_DIST = $(PYTESTS)
diff --git a/tests/error.py b/tests/error.py
new file mode 100755
index 0000000..9979ed1
--- /dev/null
+++ b/tests/error.py
@@ -0,0 +1,41 @@
+#!/usr/bin/python -u
+#
+# Tests global error handlers at the python level.
+#
+import libvirt
+import sys
+import os
+
+errno = None
+
+def handler(ctxt, err):
+ global errno
+
+ #print "handler(%s, %s)" % (ctxt, err)
+ errno = err
+
+libvirt.registerErrorHandler(handler, 'context')
+
+conn = libvirt.openReadOnly(None)
+if conn == None:
+ print 'Failed to open connection to the hypervisor'
+ sys.exit(1)
+
+try:
+ dom0 = conn.lookupByName("Does_not_exist")
+ print 'strange found a Does_not_exist domain'
+ sys.exit(1)
+except:
+ pass
+
+del conn
+
+if errno == None:
+ print 'failed to get an error'
+elif errno[0] == libvirt.VIR_ERR_NO_CONNECT or \
+ errno[0] == libvirt.VIR_ERR_INVALID_DOMAIN:
+ print "OK"
+else:
+ print 'got unexpected error %s' % (errno)
+
+sys.exit(0)