summaryrefslogtreecommitdiffstats
path: root/regressions/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* tests: Split regressions -> various subdirectories of tests/Richard W.M. Jones2011-12-221-96/+0
|
* tests: Rename capitests -> tests/c-api.Richard W.M. Jones2011-12-221-2/+0
|
* fish: Allow events to be processed in guestfish.Richard W.M. Jones2011-12-161-0/+1
| | | | | | | | 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>
* inspection: Add a test for MD device mapping in fstabMatthew Booth2011-12-021-0/+1
| | | | | | | Check that we properly handle fstab entries of the form /dev/md0 and /dev/md/foo. RWMJ: Add a skip to test if the Augeas lens is not available.
* Update list-filesystems to check md devices.Matthew Booth2011-11-111-0/+1
|
* New API: list-md-devices.Matthew Booth2011-11-111-0/+1
| | | | | | | Return a list of Linux MD devices detected in the guest. This API complements list_devices, list_partitions, list_lvs and list_dm_devices.
* New API: mdadm-create for creating MD devices.Richard W.M. Jones2011-11-111-0/+1
|
* Update FSF address.Matthew Booth2011-11-081-1/+1
|
* Remove old regression test that mainly tested a buggy API.Richard W.M. Jones2011-09-011-1/+0
| | | | | | The guestfs_ll command currently lists files in the appliance if you prefix filenames with "/..". However this is a bug, not a feature, and we should not be testing it.
* build: Set TMPDIR for local testing.Richard W.M. Jones2011-08-081-0/+1
| | | | | | This avoids conflicts with the globally installed libguestfs appliance, or lets us build in multiple local directories at the same time without conflicts.
* fish: Handle backslash escapes in guestfish double-quoted strings.Richard W.M. Jones2011-07-141-0/+1
|
* part-get-bootable: Fix when partitions are missing or unordered (RHBZ#602997).Richard W.M. Jones2011-07-121-0/+1
|
* New API: list-dm-devices (RHBZ#688062).Richard W.M. Jones2011-07-121-0/+1
| | | | List device mapper devices.
* mkfs: Force mke2fs to create a filesystem even on raw IDE device (RHBZ#690819).Richard W.M. Jones2011-03-251-1/+2
| | | | Notes: Labels: bugfix, RHBZ#690819
* proto: Fix both-ends-cancel case.Richard W.M. Jones2011-03-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the case where both ends cancel at the same time (eg. both ends realize there are errors before or during the transfer), previously we skipped sending back an error from the daemon, on the spurious basis that the library would not need it (the library is cancelling because of its own error). However this is wrong: we should always send back an error message from the daemon in order to preserve synchronization of the protocol. A simple test case is: $ guestfish -N fs -m /dev/sda1 upload nosuchfile / libguestfs: error: open: nosuchfile: No such file or directory libguestfs: error: unexpected procedure number (66/282) (Notice two things: there are errors at both ends, and the loss of synchronization). After applying this commit, the loss of synchronization does not occur and we just see the library error: $ guestfish -N fs -m /dev/sda1 upload nosuchfile / libguestfs: error: open: nosuchfile: No such file or directory The choice of displaying the library or the daemon error is fairly arbitrary in this case -- it would be valid to display either or even to combine them into one error. Displaying the library error only makes the code considerably simpler. This commit also (re-)enables a test for this case.
* proto: Fix FileIn ops that abort during the chunk upload stage.Richard W.M. Jones2011-03-181-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a previous, incorrect attempt to fix RHBZ#576879 we tried to prevent the daemon from sending an error reply if the daemon had cancelled the transfer. This is wrong: the daemon should send an error reply in these cases. A simple test case is this: guestfish -N fs -m /dev/sda1 upload big-file / (This fails because the target "/" is a directory, not a file.) Prior to this commit, libguestfs would hang instead of printing an error. With this commit, libguestfs prints an error. What is happening is: (1) Library is uploading a file (2) In the middle of the long upload, daemon detects an error. Daemon cancels. (3) Library detects cancel, sends cancel chunk, then waits for the error reply from the daemon. (4) Daemon is supposed to send an error reply message. Because step (4) wasn't happening, uploads that failed like this would hang in the library (waiting for the error message, while the daemon was waiting for the next request). This also adds a regression test. This temporarily breaks the "both ends cancel" case (RHBZ#576879c5). Therefore the test for that is disabled, and this is fixed in the next patch in the series. This partially reverts commit dc706a639eec16084c0618baf7bfde00c6565f63.
* regressions: Enable both tests for bug 576879 (not fixed).Richard W.M. Jones2011-03-181-2/+2
|
* regressions: Split the test rhbz576879.sh into two halves.Richard W.M. Jones2011-03-171-1/+2
| | | | | | | We suspect that there are in fact two separate bugs. In any case it makes sense for the two tests to be done separately. Note that these tests still fail.
* fish: Don't fail if some mountpoints in /etc/fstab are bogus (RHBZ#668574).Richard W.M. Jones2011-01-111-0/+1
| | | | | | | | | | | | | | | | | Fix guestfish (and other C tools) so that they ignore errors when /etc/fstab contains bogus entries. Update the documentation for inspect-get-mountpoints to emphasize that callers must be aware of this when mounting the returned values. Add a regression test. Update the example code ("inspect_vm") to reflect the way this API ought to be called. For more detail see: https://bugzilla.redhat.com/show_bug.cgi?id=668574
* fish: fails to tilde expand '~' when $HOME env is unset (RHBZ#617440).Richard W.M. Jones2011-01-041-0/+1
| | | | This also adds a regression test.
* regressions: Disable test for 576879.Richard W.M. Jones2010-12-061-1/+1
| | | | | This test has worked only intermittently for a while. Disable it. The upstream bug has been reopened.
* New API: add-domainRichard Jones2010-11-111-0/+1
| | | | | | | | | | | | | | | | | | | This new API allows you to add the disks from a libvirt domain. In guestfish you can use the 'domain' command to access the API, eg: ><fs> domain Fedora14 libvirturi:qemu:///system 1 The returned number is the number of disks that were added. Also here is a proposed (but commented out) low-level API which would allow you to add a domain from a virDomainPtr. However there are several problems with this API -- see discussion on the list: https://www.redhat.com/archives/libguestfs/2010-November/thread.html#00028
* Ensure atomic creation of a cached applianceMatthew Booth2010-10-281-0/+1
| | | | | | | | | | | | | | | | | | | | Cached appliances are discovered by their predictable path. Previously we were creating a cached appliance directly in this predictable path. This had at least 2 undesirable effects: * Interrupting appliance creation would leave a corrupt appliance * 2 processes could simultaneously attempt to create the same appliance, causing corruption. This patch causes the cached appliance to be created in a temporary directory, and then renamed to the predictable path. As rename is an atomic operation, this makes the whole creation atomic. This patch also changes the predictable path to have a prefix of 'guestfs.'. This will make it simpler for system administrators to clean up old cached appliances. This patch resolves RHBZ#639405
* Test guestfish -a and guestfish -d options.Richard W.M. Jones2010-09-221-0/+2
| | | | | Since these options were both broken in released version 1.5.17, best to have a regression test to catch this in future.
* fish: Add regression test for copy-in and copy-out.Richard Jones2010-09-101-0/+1
|
* regressions: Don't print misleading 'Expect error ...' lines.Richard Jones2010-07-221-0/+1
| | | | | | | | | | | | | Some tests in the regressions directory deliberately print error messages. As long as they still PASS, this is OK. However these tests also printed some misleading messages about what error to expect. Since error messages were slightly different across distros, these messages were not accurate. Therefore remove these messages, and replace with a general message before all tests telling users not to worry about errors from the tests as long as the tests don't fail.
* New APIs: Support for creating LUKS and managing keys.Richard Jones2010-07-221-0/+1
| | | | | | | | | | | | | | | | | | | This commit adds four APIs for creating new LUKS devices and key management. These are: luks_format Format a LUKS device with the default cipher. luks_format_cipher Format with a chosen cipher. luks_add_key Add another key to an existing device. luks_kill_slot Delete a key from an existing device. This enables all the significant functionality of the cryptsetup luks* commands. Note that you can obtain the UUID of a LUKS device already by using vfs-uuid. This also includes a regression test covering all the LUKS functions.
* New APIs: lvm-set-filter and lvm-clear-filter.Richard Jones2010-07-161-0/+1
| | | | | | | These APIs allow you to change the device filter, the list of block devices that LVM "sees". Either you can set it to a fixed list of devices / partitions, or you can clear it so that LVM sees everything.
* generator: Check parameters are not NULL (RHBZ#501893).Richard Jones2010-05-201-0/+11
| | | | | | | | | | | | | | This adds additional tests to check that several types of parameter including String are not NULL when passed to the C functions. Previously this would cause a segfault inside libguestfs. With this change, you get an error message / exception. Of the possible pointer parameters, only OptString is now permitted to be NULL. This change does not affect the Perl bindings. This is because Perl XS code was already adding similar checks if you passed undef into a parameter expecting a string.
* Fix upload losing synchronization if root not mounted (RHBZ#576879).Richard Jones2010-04-171-0/+1
| | | | | | | | | | | | Modify the generator so that it can correctly handle early cancellation for Pathname|Device|.. parameters. This fixes the upload command, but consequently we need to fix the parameters for tar_in and t?z_in commands. This should also mean that 'win:' can now be used as the second argument of tar_in and t?z_in commands in guestfish, whereas previously this wouldn't have worked. Adds a regression test for the original problem.
* fish: Allow '-' prefix on command line to override exit on error (RHBZ#578407).Richard Jones2010-04-131-0/+1
| | | | | | | | | | | | | | | Allow -cmd on the command line to mean that normal exit on error behaviour is overridden, ie. we will not exit. This allows you to do: guestfish -- command : -command : command with the second command allowing errors. (Note that '--' is required to stop getopt parsing -command as an option). Also this fixes the remote case which is what the original bug report was about.
* Code cleanups related to RHBZ#580246.Richard Jones2010-04-081-0/+1
| | | | | | | | | | | | | | This includes various code cleanups: (a) A regression test for RHBZ#580246. (b) Use write instead of fwrite to write out the tar file. This is just because the error handling of write seems to be better specified and easier to use. (c) Use size_t instead of int for length. (d) Clearer debug messages when in verbose mode.
* New APIs: Query the relationship between LVM objects.Richard Jones2010-03-181-0/+2
| | | | | | | | | These calls allow you to query the relationship between LVM objects, for example, which PVs contain a VG, or which LVs are contained in a VG. See the example / test program 'regressions/test-lvm-mapping.pl' for an example of how to do this from Perl.
* Add files to EXTRA_DIST.Richard Jones2010-02-051-1/+2
|
* guestfish: Use xstrtol to parse integers (RHBZ#557655).Richard Jones2010-01-251-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current code uses atoi to parse the generator Int type and atoll to parse the generator Int64 type. The problem with the ato* functions is that they don't cope with errors very well, and they cannot parse numbers that begin with 0.. or 0x.. for octal and hexadecimal respectively. This replaces the atoi call with a call to Gnulib xstrtol and the atoll call with a call to Gnulib xstrtoll. The generated code looks like this for all Int arguments: { strtol_error xerr; long r; xerr = xstrtol (argv[0], NULL, 0, &r, ""); if (xerr != LONGINT_OK) { fprintf (stderr, _("%s: %s: invalid integer parameter (%s returned %d)\n"), cmd, "memsize", "xstrtol", xerr); return -1; } /* The Int type in the generator is a signed 31 bit int. */ if (r < (-(2LL<<30)) || r > ((2LL<<30)-1)) { fprintf (stderr, _("%s: %s: integer out of range\n"), cmd, "memsize"); return -1; } /* The check above should ensure this assignment does not overflow. */ memsize = r; } and like this for all Int64 arguments (note we don't need the range check for these): { strtol_error xerr; long long r; xerr = xstrtoll (argv[1], NULL, 0, &r, ""); if (xerr != LONGINT_OK) { fprintf (stderr, _("%s: %s: invalid integer parameter (%s returned %d)\n"), cmd, "size", "xstrtoll", xerr); return -1; } size = r; } Note this also fixes an unrelated bug in guestfish handling of RBufferOut. We were using 'fwrite' without checking the return value, and this could have caused silent failures, eg. in the case where there was not enough disk space to store the resulting file, or even if the program was interrupted (but continued) during the write. Replace this with Gnulib 'full-write', and check the return value and report errors.
* build: Fix inter-directory dependenciesMatthew Booth2009-11-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds an explicit dependency on generator.ml for every file it generates, except java files. Java is left for another time because it's considerably trickier. It also adds a build rule for src/libguestfs.la so it can be rebuilt as required from other directories. It does this by creating a top level make file, subdir-rules.mk, which can be included from sub-directories. sub-directories need to define 'generator_built' to include local files which are built by generator.ml, and they will be updated automatically. This fixes parallel make, and will automatically re-create generated files when make is run from any directory. It also fixes the problem which efad4f53 was targetting. Specifically, src/guestfs_protocol.(c|h) had an erroneous dependency on stamp-generator, and therefore generator.ml, despite not being directly created by it. This caused them to be recreated every time generator.ml ran rather than only when src/guestfs_protocol.x was updated, which cascaded into a daemon and therefore appliance update. This patch also changes the contents of the distribution tarball by including files created by rpcgen.
* New API: find0 (unlimited version of find)Richard Jones2009-10-201-0/+1
| | | | | | | | | | | | | This adds a new API call guestfs_find0, which is like guestfs_find but mainly doesn't suffer from the protocol limit of the earlier command. The earlier command is not deprecated because it is still very useful. guestfs_find0 uses a FileOut parameter and writes the results to an external file. The filenames in the output are separated by ASCII NUL characters (so a bit like "find -print0"). There is also the addition of a regression test for this command.
* guestfish: Enable grouping in string listsMatthew Booth2009-09-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | This change adds the ability to group entries in a string list with single quotes. So the string: "'foo bar'" becomes 1 token rather than 2. Consequently single quotes must now be escaped: "\'" resolves to a literal single quote. Incidentally, this change also alters another, probably unintentional behaviour of the previous implementation, in that tokens are separated by any amount of whitespace rather than a single whitespace character. I.e.: "a b" resolves to: 'a' 'b' rather than: 'a' '' 'b' That last syntax can be used if an empty argument is still desired. Whitespace is now also defined to include tabs. parse_string_list can also now fail if it contains an unmatched open quote.
* tests: increase likelihood that heap abuse triggers failureJim Meyering2009-08-131-0/+3
| | | | | * regressions/Makefile.am (TESTS_ENVIRONMENT): Always set MALLOC_PERTURB_ to a random value in 1..255.
* Add a test for an executable stack in resultant binariesMatthew Booth2009-08-051-3/+5
|
* Generator: Implement RBufferOut and "read-file" call.Richard W.M. Jones2009-07-211-0/+1
| | | | | | | | | This commit implements the RBufferOut type for returning arbitrary 8 bit data from calls. We also implement the guestfs_read_file call to read a whole file that can contain any 8 bit content, but up to a limit of ~ 2 MB.
* Guestfish feature: remote control of guestfish over a pipe.Richard Jones2009-07-141-0/+1
| | | | | | | | | | | | | | | | | The use case is to have a long-running guestfish process in a shell script, and thus to avoid the overhead of starting guestfish each time. Do: eval `guestfish --listen` guestfish --remote somecmd guestfish --remote someothercmd guestfish --remote exit This patch also supports having multiple guestfish processes at the same time. The protocol is simple XDR messages over a Unix domain socket.
* Regression test: Test reopening the handle in the same process.Richard W.M. Jones2009-07-111-1/+2
|
* Test two (of four) cancellation paths.Richard Jones2009-07-061-0/+2
|
* Introduce regression tests for various qemu failures.Richard Jones2009-07-061-1/+14
| | | | | | | | | | | Test failure of qemu and recovery of the library: - mid-command - between commands - during launch [test not working yet] - explicitly killed by guestfs_kill_subprocess Also this patch cleans up the other tests in this directory and disables the long-winded test-bootbootboot test.
* Fix RHBZ#503169 comment 13 (regression) and add a regression test.Richard Jones2009-06-041-0/+1
|
* Added regression test for RHBZ503169#c10Richard Jones2009-06-041-3/+5
|
* Move pure regression tests to their own subdirectory.Richard Jones2009-06-041-0/+28