summaryrefslogtreecommitdiffstats
path: root/fish
Commit message (Collapse)AuthorAgeFilesLines
* build: Rename most C files that contain underscore with dash.Richard W.M. Jones2012-07-198-12/+12
| | | | | | | This is just code motion. Some files cannot be renamed. Notably rpcgen input and output files must not contain dash characters, else rpcgen breaks.
* fish: Rename fish/virt.c to fish/domain.cRichard W.M. Jones2012-07-192-2/+2
| | | | | This file handles the -d option for guestfish and other C command line utilities. Renaming this file makes it less confusing.
* build: Return 77 from skipped tests.Richard W.M. Jones2012-07-193-4/+4
|
* build: Change calls to podwrapper.sh to use $(PODWRAPPER).Richard W.M. Jones2012-07-161-5/+5
| | | | | This will allow us to easily change the location of this script in future.
* generator: Rename 'add_drive_opts' API to 'add_drive'.Richard W.M. Jones2012-07-141-4/+4
| | | | | | By using the once_had_no_optargs flag, this change is backwards compatible for callers (except Haskell, PHP and GObject as discussed in earlier commit).
* New API: guestfs_shutdown: Cleanly shutdown the backend.Richard W.M. Jones2012-07-033-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | The new API splits orderly close into a two-step process: if (guestfs_shutdown (g) == -1) { /* handle the error, eg. qemu error */ } guestfs_close (g); Note that the explicit shutdown step is only necessary in the case where you have made changes to the disk image and want to handle write errors. Read the documentation for further information. This change also: - deprecates guestfs_kill_subprocess - turns guestfs_kill_subprocess into the same as guestfs_shutdown - changes guestfish and other tools to call shutdown + close where necessary (not for read-only tools) - updates documentation - updates examples
* run: Set MALLOC_PERTURB_ to a random value.Richard W.M. Jones2012-06-281-5/+1
| | | | | | | | | | | | | | | | | MALLOC_PERTURB_ is a glibc feature which causes malloc to wipe memory before and after it is used, allowing both use-after-free and uninitialized reads to be detected with relatively little performance penalty: http://udrepper.livejournal.com/11429.html?nojs=1 Modify the ./run script so that it always sets this. We were already using MALLOC_PERTURB_ in most tests. Since ./run is now setting this, we can remove it from individual Makefiles. Most TESTS_ENVIRONMENT will now simply look like this: TESTS_ENVIRONMENT = $(top_builddir)/run --test
* tests: Add ./run --test option.Richard W.M. Jones2012-06-261-1/+1
| | | | | | | This option, when added via TESTS_ENVIRONMENT = [...] $(top_builddir)/run --test allows us to run the tests and only print the full output (including debugging etc) when the test fails.
* fish: Allow mount-local test to be skipped with environment variable.Richard W.M. Jones2012-06-251-0/+5
| | | | The test uses FUSE, so we need a way to disable it on RHEL 5.
* launch: Treat /dev/null specially, for old KVM.Richard W.M. Jones2012-06-251-6/+10
| | | | | | | | | Old KVM can't add /dev/null readonly. Treat /dev/null as a special case. We also fix a few tests where /dev/null was being used with format=qcow2. This was always incorrect behaviour, but qemu appears to tolerate it.
* tests: Replace truncate command with 'guestfish sparse'.Richard W.M. Jones2012-06-182-2/+8
| | | | | | | | | | RHEL 5 didn't have the truncate command, but we can replace: truncate -s SIZE FILE with the roughly equivalent command: guestfish sparse FILE SIZE
* New API: guestfs_canonical_device_name.Richard W.M. Jones2012-06-131-15/+5
| | | | This API makes device names canonical, eg. /dev/vda1 -> /dev/sda1.
* fish: Change test-escapes so test is not endian-sensitive.Richard W.M. Jones2012-06-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The test used the external 'od' command to compare the output of guestfish with what it's supposed to be. Unfortunately by default this outputs groups of 2-byte words, with the words' endianness affected by the current hardware endianness. For example: x86-64$ echo -n ab | od 0000000 061141 0000002 ppc64$ echo -n ab | od 0000000 060542 0000002 By using 'od -b' instead we can output bytes instead of words, and there is no endianness issue, and the output is clearer: x86-64$ echo -n ab | od -b 0000000 141 142 0000002 ppc64$ echo -n ab | od -b 0000000 141 142 0000002
* fish/mount: Add better error message when -m (mount) fails (RHBZ#824043).Richard W.M. Jones2012-05-241-6/+14
|
* fish: Remove inaccurate comment from code.Richard W.M. Jones2012-05-241-4/+0
|
* fish: Add a regression test for the 'glob' command.Richard W.M. Jones2012-05-022-0/+107
|
* fish: glob command now expands /dev/ patterns (RHBZ#635971).Richard W.M. Jones2012-05-021-2/+141
| | | | | | | | | | | | | For example: ><fs> glob echo /dev/* /dev/vda /dev/vda1 /dev/vda2 /dev/vda3 ><fs> glob echo /dev/v*/* /dev/vg_f16x64/lv_root /dev/vg_f16x64/lv_swap
* fish: Move 'feature_available' function to global.Richard W.M. Jones2012-05-023-20/+20
| | | | This is just code motion.
* fish: Clean up glob code and make it return error if malloc fails.Richard W.M. Jones2012-05-021-39/+54
| | | | | | This commit tidies up the code for the 'glob' command. It also makes the command return an error if malloc fails (previously it would just print a message but not return any error indication).
* fish: Add --pipe-error flag to allow detection of errors in pipe commands ↵Richard W.M. Jones2012-05-022-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (RHBZ#803533). For a test case, see: https://bugzilla.redhat.com/show_bug.cgi?id=803533 In guestfish, we use the gnulib closeout module which sets up an atexit handler to detect if there were any errors on stdout when the program exits. This is so we can fail correctly in out of disk space cases like: guestfish [...] > output However the atexit handler just checks that there was any error on stdout (using ferror). If a pipe command such as: ><fs> command_with_lots_of_output | head ran at any time during the session, the error flag would be set (because the underlying writes failed with EPIPE errors). So the commit first adds a test for ferror (stdout) after each command that we issue. This brings error handling closer to the point of failure, and so is generally a good thing. Secondly we reset the error flag after detecting and dealing with the error, so that avoids the redundant 'guestfish: write error' message produced by gnulib closeout. Thirdly we add a --pipe-error flag which causes guestfish commands to fail on pipe commands line the one above. The default is off for backwards compatibility reasons.
* Remove "convenience header" "gettext.h" and use <libintl.h> instead.Richard W.M. Jones2012-05-0129-23/+28
| | | | | | | | | | | | gettextize provides a local file called "gettext.h". Remove this and use <libintl.h> from glibc headers instead. Most of this change is mechanical: #include <libintl.h> in every C file which uses any gettext function. But also we remove the gettext.h file, and adjust the "_" macros. Note that this effectively removes the ./configure --disable-nls option, although we don't know if that ever worked.
* fish: Add opaque field to the drives list for programs to use.Richard W.M. Jones2012-04-261-0/+5
| | | | Not used at present.
* maint: fix doc typosJim Meyering2012-04-181-3/+3
| | | | | | | Fix typos spotted by http://github.com/lyda/misspell-check. * configure.ac: As above. * ocaml/examples/guestfs-ocaml.pod: Likewise. * fish/guestfish.pod: Likewise.
* fish: Add a regression test for mount-local, mount-local-run commands.Richard W.M. Jones2012-03-312-0/+81
|
* fish: Fix compilation when libconfig is not available.Richard Jones2012-03-281-2/+2
|
* Use the new lvcreate-free API to create largest possible LVs.Richard W.M. Jones2012-03-152-24/+6
|
* Use O_CLOEXEC / SOCK_CLOEXEC for almost all file descriptors.Richard W.M. Jones2012-03-144-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | The presumption is that all file descriptors should be created with the close-on-exec flag set. The only exception are file descriptors that we want passed through to exec'd subprocesses (mainly pipes and stdin/stdout/stderr). For open calls, we pass O_CLOEXEC as an extra flag, eg: fd = open ("foo", O_RDONLY|O_CLOEXEC); This is a Linux-ism, but using a macro we can easily make it portable. For sockets, similarly: sock = socket (..., SOCK_STREAM|SOCK_CLOEXEC, ...); For accepted sockets, we use the Linux accept4 system call which allows flags to be supplied, but we use the Gnulib 'accept4' module to make this portable. For dup, dup2, we use the Linux dup3 system call, and the Gnulib modules 'dup3' and 'cloexec'.
* Replace 'int' with 'size_t' passim.Richard W.M. Jones2012-03-137-24/+26
| | | | | Analyze all uses of 'int' in the code, and replace with 'size_t' where appropriate.
* fish: remote: Output from close event now passed over stdout (RHBZ#802389).Richard W.M. Jones2012-03-123-3/+55
|
* fish: remote: Make sure global cleanups are called for guestfish --listen.Richard W.M. Jones2012-03-123-2/+5
| | | | | Return to the main program ('fish.c') and perform global cleanups when the guestfish remote server exits.
* fish: remote: Move close_stdout just before accept() call.Richard W.M. Jones2012-03-121-6/+6
| | | | This is just code motion.
* fish: Rename tests and make test paths relative.Richard W.M. Jones2012-03-1215-49/+49
| | | | | | | | | | When these tests were originally in the old regressions/ directory, they used to refer to guestfish via the path '../fish/guestfish'. Some of the tests were also called 'test-guestfish-*'. Now that the tests have been moved into the fish/ directory, neither of these things make sense. So change the relative path to './guestfish' and rename all 'test-guestfish-*' as 'test-*'.
* dist: Distribute all tests, even when configured with --disable-appliance.Richard W.M. Jones2012-03-071-1/+16
|
* fish: edit: Preserve permissions, UID, GID, SELinux context when editing ↵Richard W.M. Jones2012-02-102-1/+92
| | | | files (RHBZ#788641).
* fish: In edit command, upload to a new file.Richard W.M. Jones2012-02-104-3/+110
| | | | | | | If the upload fails, this means we don't leave a partially written file. Also add a test for the edit command.
* fish: Refactor error handling in the 'edit' command.Richard W.M. Jones2012-02-101-24/+17
| | | | This is just code motion.
* fish: Fix 'test-guestfish-escapes.sh' when running an alternate guestfish ↵Richard W.M. Jones2012-01-261-12/+16
| | | | | | | | | | | binary. The error messages would be prefixed by the path to the alternate binary, eg: ../fish/guestfish: invalid escape sequence in string (starting at offset 0) Fix this by normalizing the messages further.
* fish: Filter out error messages about history file in test scriptHilko Bengen2012-01-231-1/+1
|
* Do not run appliance-related checks if not building applianceHilko Bengen2012-01-231-3/+7
|
* Replace setting of environment variables with usage of local run scriptHilko Bengen2012-01-231-3/+1
| | | | (Includes fix by RWMJ)
* fish: Remove hard-coded path from test scriptHilko Bengen2012-01-201-1/+1
|
* Tempus fugit.Richard W.M. Jones2012-01-1813-14/+14
| | | | Update all copyright dates to 2012.
* fish options parsing: Allow add_drives to be called multiple times.Richard W.M. Jones2012-01-183-10/+11
| | | | | | Ensure that the drv structure is always zeroed on allocation. Don't leak old drv->device when add_drives is called multiple times.
* fish: fix the Ctrl-\ causes guestfish to abort bug(RHBZ#596761)Wanlong Gao2012-01-041-0/+1
| | | | | | Handle SIGQUIT by guestfish, so that it can't be terminated. Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
* fish: mount can be used instead of mount-options with libguestfs >= 1.14Richard W.M. Jones2011-12-231-1/+1
|
* fish: Fix --format parameter in man page.Richard W.M. Jones2011-12-231-1/+1
|
* fish: Fix test-guestfish-events.sh so it works when LIBGUESTFS_DEBUG=1 is set.Richard W.M. Jones2011-12-231-7/+1
| | | | | Various messages were added and changed when this variable was set while tests were running.
* tests: Split images -> tests/data + tests/guestsRichard W.M. Jones2011-12-224-7/+7
|
* tests: Split regressions -> various subdirectories of tests/Richard W.M. Jones2011-12-2214-0/+822
|
* fish: Allow events to be processed in guestfish.Richard W.M. Jones2011-12-165-0/+292
| | | | | | | | Add 'event', 'list-events' and 'delete-event' commands so that event handlers can be registered, listed and deleted in guestfish. The event handler is a shell script snippet or host command. Cc: Pádraig Brady <P@draigBrady.com>