X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=generator%2Fgenerator_actions.ml;h=7a5d786b451f1fbe85c43910b2319bbf813aa2bb;hb=da13c1c0e6980f4838090be9e775b4d5c35662b7;hp=55e8d5daa416ca7e91f6f496daba4890c6f63a10;hpb=fcb975a6424d48d63f03961e34b92ed7c6a27362;p=libguestfs.git diff --git a/generator/generator_actions.ml b/generator/generator_actions.ml index 55e8d5d..7a5d786 100644 --- a/generator/generator_actions.ml +++ b/generator/generator_actions.ml @@ -2718,7 +2718,7 @@ This uses the L command."); [InitScratchFS, Always, TestOutput ( (* Pick a file from cwd which isn't likely to change. *) [["mkdir"; "/upload"]; - ["upload"; "../COPYING.LIB"; "/upload/COPYING.LIB"]; + ["upload"; "../../COPYING.LIB"; "/upload/COPYING.LIB"]; ["checksum"; "md5"; "/upload/COPYING.LIB"]], Digest.to_hex (Digest.file "COPYING.LIB"))], "upload a file from the local machine", @@ -2734,7 +2734,7 @@ See also C."); [InitScratchFS, Always, TestOutput ( (* Pick a file from cwd which isn't likely to change. *) [["mkdir"; "/download"]; - ["upload"; "../COPYING.LIB"; "/download/COPYING.LIB"]; + ["upload"; "../../COPYING.LIB"; "/download/COPYING.LIB"]; ["download"; "/download/COPYING.LIB"; "testdownload.tmp"]; ["upload"; "testdownload.tmp"; "/download/upload"]; ["checksum"; "md5"; "/download/upload"]], @@ -2818,7 +2818,7 @@ To get the checksums for many files, use C."); ("tar_in", (RErr, [FileIn "tarfile"; Pathname "directory"], []), 69, [], [InitScratchFS, Always, TestOutput ( [["mkdir"; "/tar_in"]; - ["tar_in"; "../images/helloworld.tar"; "/tar_in"]; + ["tar_in"; "../data/helloworld.tar"; "/tar_in"]; ["cat"; "/tar_in/hello"]], "hello\n")], "unpack tarfile to directory", "\ @@ -2841,7 +2841,7 @@ or C."); ("tgz_in", (RErr, [FileIn "tarball"; Pathname "directory"], []), 71, [], [InitScratchFS, Always, TestOutput ( [["mkdir"; "/tgz_in"]; - ["tgz_in"; "../images/helloworld.tar.gz"; "/tgz_in"]; + ["tgz_in"; "../data/helloworld.tar.gz"; "/tgz_in"]; ["cat"; "/tgz_in/hello"]], "hello\n")], "unpack compressed tarball to directory", "\ @@ -4819,10 +4819,31 @@ for the file until you write to it). To create a non-sparse file of zeroes, use C instead."); ("utimens", (RErr, [Pathname "path"; Int64 "atsecs"; Int64 "atnsecs"; Int64 "mtsecs"; Int64 "mtnsecs"], []), 201, [], + (* Test directories, named pipes etc (RHBZ#761451, RHBZ#761460) *) [InitScratchFS, Always, TestOutputStruct ( - [["touch"; "/utimens"]; - ["utimens"; "/utimens"; "12345"; "67890"; "9876"; "5432"]; - ["stat"; "/utimens"]], [CompareWithInt ("mtime", 9876)])], + [["touch"; "/utimens-file"]; + ["utimens"; "/utimens-file"; "12345"; "67890"; "9876"; "5432"]; + ["stat"; "/utimens-file"]], [CompareWithInt ("mtime", 9876)]); + InitScratchFS, Always, TestOutputStruct ( + [["mkdir"; "/utimens-dir"]; + ["utimens"; "/utimens-dir"; "12345"; "67890"; "9876"; "5432"]; + ["stat"; "/utimens-dir"]], [CompareWithInt ("mtime", 9876)]); + InitScratchFS, Always, TestOutputStruct ( + [["mkfifo"; "0o644"; "/utimens-fifo"]; + ["utimens"; "/utimens-fifo"; "12345"; "67890"; "9876"; "5432"]; + ["stat"; "/utimens-fifo"]], [CompareWithInt ("mtime", 9876)]); + InitScratchFS, Always, TestOutputStruct ( + [["ln_sf"; "/utimens-file"; "/utimens-link"]; + ["utimens"; "/utimens-link"; "12345"; "67890"; "9876"; "5432"]; + ["stat"; "/utimens-link"]], [CompareWithInt ("mtime", 9876)]); + InitScratchFS, Always, TestOutputStruct ( + [["mknod_b"; "0o644"; "8"; "0"; "/utimens-block"]; + ["utimens"; "/utimens-block"; "12345"; "67890"; "9876"; "5432"]; + ["stat"; "/utimens-block"]], [CompareWithInt ("mtime", 9876)]); + InitScratchFS, Always, TestOutputStruct ( + [["mknod_c"; "0o644"; "1"; "3"; "/utimens-char"]; + ["utimens"; "/utimens-char"; "12345"; "67890"; "9876"; "5432"]; + ["stat"; "/utimens-char"]], [CompareWithInt ("mtime", 9876)])], "set timestamp of a file with nanosecond precision", "\ This command sets the timestamps of a file with nanosecond @@ -5364,7 +5385,7 @@ or growing unnecessarily."); ("txz_in", (RErr, [FileIn "tarball"; Pathname "directory"], []), 229, [Optional "xz"], [InitScratchFS, Always, TestOutput ( [["mkdir"; "/txz_in"]; - ["txz_in"; "../images/helloworld.tar.xz"; "/txz_in"]; + ["txz_in"; "../data/helloworld.tar.xz"; "/txz_in"]; ["cat"; "/txz_in/hello"]], "hello\n")], "unpack compressed tarball to directory", "\ @@ -5461,7 +5482,7 @@ types (see C)."); ("checksum_device", (RString "checksum", [String "csumtype"; Device "device"], []), 237, [], [InitISOFS, Always, TestOutputFileMD5 ( [["checksum_device"; "md5"; "/dev/sdd"]], - "../images/test.iso")], + "../data/test.iso")], "compute MD5, SHAx or CRC checksum of the contents of a device", "\ This call computes the MD5, SHAx or CRC checksum of the @@ -5511,7 +5532,7 @@ to find out what it is for."); ("base64_in", (RErr, [FileIn "base64file"; Pathname "filename"], []), 242, [], [InitScratchFS, Always, TestOutput ( - [["base64_in"; "../images/hello.b64"; "/base64_in"]; + [["base64_in"; "../data/hello.b64"; "/base64_in"]; ["cat"; "/base64_in"]], "hello\n")], "upload base64-encoded data to file", "\ @@ -5915,7 +5936,7 @@ See also C."); ("upload_offset", (RErr, [FileIn "filename"; Dev_or_Path "remotefilename"; Int64 "offset"], []), 273, [Progress], (let md5 = Digest.to_hex (Digest.file "COPYING.LIB") in [InitScratchFS, Always, TestOutput ( - [["upload_offset"; "../COPYING.LIB"; "/upload_offset"; "0"]; + [["upload_offset"; "../../COPYING.LIB"; "/upload_offset"; "0"]; ["checksum"; "md5"; "/upload_offset"]], md5)]), "upload a file from the local machine with offset", "\ @@ -5943,7 +5964,7 @@ See also C, C."); [InitScratchFS, Always, TestOutput ( (* Pick a file from cwd which isn't likely to change. *) [["mkdir"; "/download_offset"]; - ["upload"; "../COPYING.LIB"; "/download_offset/COPYING.LIB"]; + ["upload"; "../../COPYING.LIB"; "/download_offset/COPYING.LIB"]; ["download_offset"; "/download_offset/COPYING.LIB"; "testdownload.tmp"; offset; size]; ["upload_offset"; "testdownload.tmp"; "/download_offset/COPYING.LIB"; offset]; ["checksum"; "md5"; "/download_offset/COPYING.LIB"]], md5)]), @@ -6654,6 +6675,16 @@ them with the help of L like this: glob copy-out /home/* ."); + ("delete_event", (RErr,[], []), -1, [], [], + "delete a previously registered event handler", + " delete-event name + +Delete the event handler which was previously registered as C. +If multiple event handlers were registered with the same name, they +are all deleted. + +See also the guestfish commands C and C."); + ("display", (RErr,[], []), -1, [], [], "display an image", " display filename @@ -6685,6 +6716,39 @@ The editor is C<$EDITOR>. However if you use the alternate commands C or C you will get those corresponding editors."); + ("event", (RErr,[], []), -1, [], [], + "register a handler for an event or events", + " event name eventset \"shell script ...\" + +Register a shell script fragment which is executed when an +event is raised. See L +for a discussion of the event API in libguestfs. + +The C parameter is a name that you give to this event +handler. It can be any string (even the empty string) and is +simply there so you can delete the handler using the guestfish +C command. + +The C parameter is a comma-separated list of one +or more events, for example C or C. The +special value C<*> means all events. + +The third and final parameter is the shell script fragment +(or any external command) that is executed when any of the +events in the eventset occurs. It is executed using +C<$SHELL -c>, or if C<$SHELL> is not set then C. + +The shell script fragment receives callback parameters as +arguments C<$1>, C<$2> etc. The actual event that was +called is available in the environment variable C<$EVENT>. + + event \"\" close \"echo closed\" + event messages appliance,library,trace \"echo $@\" + event \"\" progress \"echo progress: $3/$4\" + event \"\" * \"echo $EVENT $@\" + +See also the guestfish commands C and C."); + ("glob", (RErr,[], []), -1, [], [], "expand wildcards in command", " glob command args... @@ -6739,6 +6803,13 @@ itself. Note that C won't do what you might expect."); + ("list_events", (RErr,[], []), -1, [], [], + "list event handlers", + " list-events + +List the event handlers registered using the guestfish +C command."); + ("man", (RErr,[], []), -1, [FishAlias "manual"], [], "open the manual", " man