diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2012-11-19 13:00:52 +0000 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2012-11-19 14:01:40 +0000 |
commit | f77ddb9e114e560724d6548499047ae6894ab59c (patch) | |
tree | 6341c27ca32fb5e1262f1263974991a1d6357b22 /lua/tests/400-progress.lua | |
parent | d14557d434de5cb1c9754ae0f3e8e820e0a46694 (diff) | |
download | libguestfs-f77ddb9e114e560724d6548499047ae6894ab59c.tar.gz libguestfs-f77ddb9e114e560724d6548499047ae6894ab59c.tar.xz libguestfs-f77ddb9e114e560724d6548499047ae6894ab59c.zip |
lua: Various fixes and enhancements:
- add support for events (with test)
- test progress messages
- update documentation to describe events
- refactor handle closing code
- refactor error code
- use 'assert' in test code instead of 'if ... then error end'
Diffstat (limited to 'lua/tests/400-progress.lua')
-rwxr-xr-x | lua/tests/400-progress.lua | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lua/tests/400-progress.lua b/lua/tests/400-progress.lua new file mode 100755 index 00000000..e0e17ac8 --- /dev/null +++ b/lua/tests/400-progress.lua @@ -0,0 +1,44 @@ +#!/usr/bin/lua +-- libguestfs Lua bindings -*- lua -*- +-- 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. + +require "guestfs" + +g = Guestfs.create () + +g:add_drive ("/dev/null") +g:launch () + +calls = 0 +function cb () + calls = calls+1 +end + +eh = g:set_event_callback (cb, "progress") +assert (g:debug ("progress", {"5"}) == "ok", "debug progress command failed") +assert (calls > 0, "progress callback was not invoked") + +calls = 0 +g:delete_event_callback (eh) +assert (g:debug ("progress", {"5"}) == "ok", "debug progress command failed") +assert (calls == 0, "progress callback was invoked when deleted") + +g:set_event_callback (cb, "progress") +assert (g:debug ("progress", {"5"}) == "ok", "debug progress command failed") +assert (calls > 0, "progress callback was not invoked") + +g:close () |