libvirt/tests
Eric Blake 631923e7f2 virFork: give specific status on failure prior to exec
When a child fails without exec'ing, we want a well-known status;
best is to match what env(1), nice(1), su(1), and other wrapper
programs do.  This patch adds enum values that later patches will
use, and sets up virFork as the first client of EXIT_CANCELED
for errors detected prior to even attempting exec, as well as
virExec to distinguish between a missing executable vs. a binary
that cannot be executed.

This is a slight semantic change in the unlikely case of a child
process failing to restore its signal mask - we now kill the
child with a known status instead of relying on the caller to
notice and do an appropriate _exit().  A subsequent patch will
make further cleanups based on an audit of all callers.

* src/internal.h (EXIT_CANCELED, EXIT_CANNOT_INVOKE)
(EXIT_ENOENT): New enum.
* src/util/vircommand.c (virFork): Document specific exit value if
child aborts early.
(virExec): Distinguish between various exec failures.
* tests/commandtest.c (test1): Enhance test.
(test22): New test.

Signed-off-by: Eric Blake <eblake@redhat.com>
2014-03-03 12:40:31 -07:00
..
capabilityschemadata capabilities: add baselabel per sec driver/virt type to secmodel 2013-10-29 07:06:04 -06:00
commanddata build: clean up stray files found by 'make distcheck' 2013-05-06 14:01:08 -06:00
confdata Change the default of mdns_adv to false 2012-03-27 09:54:49 -06:00
cputestdata tests: Add more tests for virConnectBaselineCPU 2014-01-28 21:27:37 +01:00
domainconfdata Rename virDomainGetRootFilesystem to virDomainGetFilesystemForTarget 2014-02-20 15:50:46 +00:00
domainschemadata Add XML config for resource partitions 2013-04-15 17:35:31 +01:00
domainsnapshotxml2xmlin snapshot: Add support for specifying snapshot disk backing type 2014-01-29 12:56:35 +01:00
domainsnapshotxml2xmlout snapshot: Add support for specifying snapshot disk backing type 2014-01-29 12:56:35 +01:00
fchostdata/fc_host tests: Add tests for fc_host 2013-05-13 17:24:18 +08:00
interfaceschemadata Update interface.rng and xml test files to match netcf 0.1.5 2010-01-19 21:13:03 +01:00
lxcconf2xmldata LXC from native: convert blkio throttle config 2014-02-12 17:52:47 +00:00
lxcxml2xmldata schema: fix idmap validation 2014-01-10 10:54:14 -07:00
lxcxml2xmloutdata Allow root directory in filesystem source dir schema 2013-11-07 18:43:15 +01:00
networkxml2confdata network: change default of forwardPlainNames to 'yes' 2014-02-04 12:00:26 +02:00
networkxml2xmlin Add forwarder attribute to <dns/> element 2013-09-17 17:47:33 -06:00
networkxml2xmlout network: change default of forwardPlainNames to 'yes' 2014-02-04 12:00:26 +02:00
networkxml2xmlupdatein Test network update XML parsing 2013-08-28 08:05:46 +02:00
networkxml2xmlupdateout network: change default of forwardPlainNames to 'yes' 2014-02-04 12:00:26 +02:00
nodedevschemadata nodedev: add iommuGroup to node device object 2013-06-26 14:10:56 -04:00
nodeinfodata Add test for linuxNodeGetCPUStats 2014-01-27 11:04:02 +01:00
nwfilterxml2xmlin nwfilter: Add support for ipset 2012-05-21 06:26:34 -04:00
nwfilterxml2xmlout nwfilter: Add support for ipset 2012-05-21 06:26:34 -04:00
qemucapabilitiesdata qemu: Add USB keyboard capability 2014-02-19 09:16:31 +01:00
qemuhelpdata qemu: Support setting the 'removable' flag for USB disks 2013-09-02 14:45:38 +02:00
qemuhotplugtestdata conf: re-situate <bandwidth> element in <interface> 2014-02-25 16:03:05 +02:00
qemumonitorjsondata qemu: Add monitor APIs to fetch CPUID data from QEMU 2013-11-08 09:44:36 +01:00
qemuxml2argvdata conf: re-situate <bandwidth> element in <interface> 2014-02-25 16:03:05 +02:00
qemuxml2xmloutdata conf: Add keyboard input device type 2014-02-19 09:16:31 +01:00
qemuxmlnsdata qemu: Set QEMU_AUDIO_DRV=none with -nographic 2013-09-02 16:53:39 -04:00
secretxml2xmlin Add tests for secret XML parsing 2014-02-14 16:47:14 +01:00
securityselinuxlabeldata selinux: enhance test to cover nfs label failure 2013-08-20 10:46:58 -06:00
sexpr2xmldata conf: Add keyboard input device type 2014-02-19 09:16:31 +01:00
storagepoolschemadata schema: require target path in storage pool xml 2013-05-17 08:33:22 +02:00
storagepoolxml2xmlin storage: document gluster pool 2013-11-25 11:03:19 -07:00
storagepoolxml2xmlout storage: document gluster pool 2013-11-25 11:03:19 -07:00
storagevolschemadata schema: make source optional in volume XML 2013-05-17 08:35:08 +02:00
storagevolxml2argvdata Always specify qcow2 compat level on qemu-img command line 2013-08-27 12:45:58 +02:00
storagevolxml2xmlin storage: improve directory support in gluster pool 2013-11-25 12:46:19 -07:00
storagevolxml2xmlout storage: improve directory support in gluster pool 2013-11-25 12:46:19 -07:00
sysinfodata aarch64: Fix sysinfo test. 2014-01-01 16:34:13 +00:00
virfiledata Fix bug in identifying sub-mounts 2013-11-28 11:49:01 +00:00
virpcitestdata tests: Fix PCI test data filenames for Windows 2014-01-25 12:53:11 +01:00
virscsidata tests: Modify the scsi util tests 2014-01-30 16:34:43 +01:00
virusbtestdata/sys_bus_usb/devices Add tests for virUSBDeviceFind functions 2014-03-03 14:35:22 +01:00
vmwareverdata VMware: Add Fusion version test 2013-09-30 16:58:37 -05:00
vmx2xmldata conf: Add keyboard input device type 2014-02-19 09:16:31 +01:00
xencapsdata Add suspend info to Xen, LXC and UML hypervisor capabilities 2011-11-30 10:12:30 +00:00
xmconfigdata conf: Add keyboard input device type 2014-02-19 09:16:31 +01:00
xml2sexprdata Xen: Fix <clock> handling 2012-04-02 09:33:54 -06:00
xml2vmxdata esx: Fix floppy.fileName handling in the vmx file parser 2013-10-15 11:39:02 +01:00
.valgrind.supp valgrind: Adjust filter for _dl_allocate_tls 2013-08-01 17:04:28 -04:00
capabilityschematest Make test suite output less verbose 2010-01-15 16:28:05 +00:00
commandhelper.c testutils: Resolve Coverity issues 2013-07-11 14:18:11 -04:00
commandtest.c virFork: give specific status on failure prior to exec 2014-03-03 12:40:31 -07:00
cpuset virBitmapParse: Fix behavior in case of error and fix up callers 2013-08-22 11:38:36 +02:00
cputest.c tests: Add more tests for virConnectBaselineCPU 2014-01-28 21:27:37 +01:00
define-dev-segfault numad: Always output 'placement' of <vcpu> 2012-05-08 16:57:37 -06:00
domainconftest.c Rename virDomainGetRootFilesystem to virDomainGetFilesystemForTarget 2014-02-20 15:50:46 +00:00
domainschematest LXC: Fix handling of RAM filesystem size units 2013-10-09 17:44:45 +02:00
domainsnapshotschematest Domain snapshot RNG and tests. 2010-05-20 13:50:03 -04:00
domainsnapshotxml2xmltest.c domainsnapshotxml2xmltest: Add test case for empty driver element 2013-12-05 09:41:30 +01:00
esxutilstest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
eventtest.c Convert 'int i' to 'size_t i' in tests/ files 2013-07-10 17:40:13 +01:00
fchosttest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
fdstreamtest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
int-overflow tests: Don't use bash if we don't have to 2011-07-29 17:17:21 +02:00
interfaceschematest Make test suite output less verbose 2010-01-15 16:28:05 +00:00
interfacexml2xmltest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
jsontest.c Error out on unterminated arrays and objects in JSON parser 2013-11-20 12:35:44 +01:00
libvirtd-fail Fix up "make check" 2009-10-07 12:18:13 +02:00
libvirtd-pool Fix up "make check" 2009-10-07 12:18:13 +02:00
libvirtdconftest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
lxcconf2xmltest.c LXC from native: map vlan network type 2014-02-12 17:52:47 +00:00
lxcxml2xmltest.c Exercise the ABI stability check code in test suite 2014-01-10 20:32:48 +00:00
Makefile.am Replace space with a tab in the Makefile 2014-03-03 14:35:22 +01:00
metadatatest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
networkschematest Make test suite output less verbose 2010-01-15 16:28:05 +00:00
networkxml2conftest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
networkxml2xmltest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
networkxml2xmlupdatetest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
nodedevschematest Make test suite output less verbose 2010-01-15 16:28:05 +00:00
nodedevxml2xmltest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
nodeinfotest.c Add test for linuxNodeGetCPUStats 2014-01-27 11:04:02 +01:00
nwfilterschematest nwfilter: Add filter schema for nwfilter XML, extend domain XML schema 2010-04-06 11:09:46 -04:00
nwfilterxml2xmltest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
object-locking.ml Rename 'DeviceMonitor' to 'NodeDeviceDriver' 2013-04-24 10:59:53 +01:00
objecteventtest.c Fix memory leak in testDomainCreateXMLMixed() 2014-01-14 14:49:07 +01:00
oomtrace.pl Remove tabs from all perl files & enforce this 2012-07-30 13:09:57 +01:00
openvzutilstest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
openvzutilstest.conf openvz: Add simple test for openvzReadNetworkConf 2011-06-01 11:58:15 +02:00
pkix_asn1_tab.c Add a test case for certificate validation 2011-07-22 15:18:32 +01:00
qemuagenttest.c tests: avoid littering /tmp 2014-02-27 18:10:13 -07:00
qemuargv2xmltest.c Introduce new OOM testing support 2014-02-20 15:36:10 +00:00
qemucapabilitiestest.c qemu: ask for -enable-fips when FIPS is required 2013-12-18 07:05:29 -07:00
qemuhelptest.c qemu: Add USB keyboard capability 2014-02-19 09:16:31 +01:00
qemuhotplugtest.c Renamed virDomainEventState to virObjectEventState 2013-12-10 11:35:34 +00:00
qemumonitorjsontest.c maint: align whitespaces with project conventions. 2014-01-20 14:35:08 +01:00
qemumonitortest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
qemumonitortestutils.c Remove (nearly) all use of getuid()/getgid() 2013-10-21 14:03:52 +01:00
qemumonitortestutils.h tests: Learn qemuMonitorTestNew optional greeting 2013-10-01 10:48:47 +02:00
qemuxml2argvmock.c qemuxml2argvmock: Mock time() on non-linux platforms too 2014-02-06 15:15:10 +01:00
qemuxml2argvtest.c Introduce new OOM testing support 2014-02-20 15:36:10 +00:00
qemuxml2xmltest.c qemu: introduce spiceport chardev backend 2014-02-11 13:43:55 +01:00
qemuxmlnstest.c Introduce new OOM testing support 2014-02-20 15:36:10 +00:00
read-bufsiz maint: avoid regression on copyright listings 2012-07-27 07:42:34 -06:00
read-non-seekable maint: avoid regression on copyright listings 2012-07-27 07:42:34 -06:00
reconnect.c test: Refactor setting of dummy error handlers 2013-09-17 16:45:53 +02:00
schematestutils.sh tests: skip schema validation tests if xmllint is missing 2013-08-23 15:23:44 -06:00
seclabeltest.c tests: uniformly report test failures 2013-02-25 17:38:11 -07:00
secretschematest Add tests for secret XML parsing 2014-02-14 16:47:14 +01:00
secretxml2xmltest.c Add tests for secret XML parsing 2014-02-14 16:47:14 +01:00
securityselinuxhelper.c tests: avoid compile failure on linux kernels older than 2.6.19 2013-10-07 08:40:30 -06:00
securityselinuxlabeltest.c Fix memory leak in securityselinuxlabeltest.c 2014-01-15 11:18:23 +01:00
securityselinuxtest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
sexpr2xmltest.c Exercise the ABI stability check code in test suite 2014-01-10 20:32:48 +00:00
shunloadhelper.c shunloadtest: Resolve Coverity CHECKED_RETURN error 2013-05-21 09:22:21 -04:00
shunloadtest.c build: fix shunloadtest breakage 2013-07-29 13:09:39 -06:00
sockettest.c virsocket: Introduce virSocketAddrIsWildcard 2013-10-11 11:05:06 +02:00
ssh.c build: fix shunloadtest breakage 2013-07-29 13:09:39 -06:00
start maint: avoid regression on copyright listings 2012-07-27 07:42:34 -06:00
statstest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
storagebackendsheepdogtest.c Build breaker - requires VIR_FROM_THIS 2013-05-10 08:52:43 -04:00
storagepoolschematest schema: require target path in storage pool xml 2013-05-17 08:33:22 +02:00
storagepoolxml2xmltest.c storage: document gluster pool 2013-11-25 11:03:19 -07:00
storagevolschematest schema: make source optional in volume XML 2013-05-17 08:35:08 +02:00
storagevolxml2argvtest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
storagevolxml2xmltest.c storage: improve directory support in gluster pool 2013-11-25 12:46:19 -07:00
sysinfotest.c tests: sysinfotest: Actual/expected were swapped in error message. 2014-01-01 16:34:13 +00:00
test_conf.c viralloc: Report OOM error on failure 2013-07-10 11:07:31 +02:00
test_conf.sh rename tests/conftest.c 2013-03-19 13:13:28 -06:00
test-lib.sh test-lib: Make case skipping possible 2013-09-13 10:25:56 +02:00
testutils.c Rename virDomainGetRootFilesystem to virDomainGetFilesystemForTarget 2014-02-20 15:50:46 +00:00
testutils.h Rename virDomainGetRootFilesystem to virDomainGetFilesystemForTarget 2014-02-20 15:50:46 +00:00
testutilslxc.c virCaps: get rid of defaultConsoleTargetType callback 2013-04-04 22:42:39 +02:00
testutilslxc.h Add unit test for virCgroupGetBlkioIo*Serviced 2014-02-20 16:20:09 +01:00
testutilsqemu.c util: Add one argument for several scsi utils 2014-01-30 15:48:28 +08:00
testutilsqemu.h build: skip qemu in tests when !WITH_QEMU 2013-05-31 11:35:34 -06:00
testutilsxen.c virCaps: get rid of defaultConsoleTargetType callback 2013-04-04 22:42:39 +02:00
testutilsxen.h virCaps: get rid of defaultConsoleTargetType callback 2013-04-04 22:42:39 +02:00
utiltest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
vcpupin maint: avoid regression on copyright listings 2012-07-27 07:42:34 -06:00
viratomictest.c maint: fix comma style issues: tests, tools 2013-11-20 09:14:55 -07:00
virauthconfigtest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
virbitmaptest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
virbuftest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
vircapstest.c Fix leaks in vircapstest 2014-02-12 14:41:47 +01:00
vircgroupmock.c Fix misspelled cpuacct.usage_percpu in cgroup mock. 2014-02-20 16:20:10 +01:00
vircgrouptest.c build: fix build on 32-bit hosts 2014-02-21 17:21:58 -07:00
virdbustest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
virdrivermoduletest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
virendiantest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
virfiletest.c Fix bug in identifying sub-mounts 2013-11-28 11:49:01 +00:00
virhashdata.h Rename hash.h and hash.c to virhash.h and virhash.c 2012-01-26 14:11:13 +00:00
virhashtest.c maint: avoid 'const fooPtr' in hashes 2013-10-14 11:40:24 -06:00
viridentitytest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
virkeycodetest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
virkeyfiletest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
virkmodtest.c tests: Add test for new virkmod functions 2014-02-04 08:59:37 -05:00
virlockspacetest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
virlogtest.c Fix flaw in detecting log format 2013-10-14 10:31:01 +01:00
virnetdevbandwidthtest.c virnetdevbandwidthtest: Introduce some more tests 2014-01-31 16:52:27 +01:00
virnetmessagetest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
virnetserverclientmock.c Add test case for virNetServerClient object identity code 2013-09-24 09:37:26 +01:00
virnetserverclienttest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
virnetsockettest.c tests: fix syntax in previous patch 2014-01-01 09:58:27 -07:00
virnettlscontexttest.c virnettlscontexttest fails with GNUTLS 3.0.28 2013-12-23 13:16:07 -07:00
virnettlshelpers.c Fix parallel runs of TLS test suites 2013-08-09 11:54:41 +01:00
virnettlshelpers.h Fix parallel runs of TLS test suites 2013-08-09 11:54:41 +01:00
virnettlssessiontest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
virpcimock.c tests: Fix PCI test data filenames for Windows 2014-01-25 12:53:11 +01:00
virpcitest.c virpcitest: Test virPCIDeviceDetach failure 2014-01-20 14:21:41 +01:00
virportallocatortest.c build: skip virportallocatortest on cygwin 2014-02-26 13:30:46 -07:00
virscsitest.c tests: Modify the scsi util tests 2014-01-30 16:34:43 +01:00
virsh-all tests: Skip virsh-all test as expensive 2013-08-12 18:47:56 +02:00
virsh-optparse virsh: add snapshot-create-as memspec support 2012-11-07 09:04:18 -07:00
virsh-schedinfo Allow multiple parameters for schedinfo 2013-04-03 08:49:30 +02:00
virsh-synopsis maint: avoid regression on copyright listings 2012-07-27 07:42:34 -06:00
virsh-undefine build: avoid confusing make with raw name 'undefine' 2012-09-12 11:27:22 -06:00
virsh-uriprecedence tests: Don't test user config file if ran as root 2013-09-13 10:25:56 +02:00
virshtest.c virsh: allow alias to expand to opt=value pair 2013-10-24 11:17:41 +01:00
virstoragetest.c tests: be more explicit on qcow2 versions in virstoragetest 2014-01-15 09:19:14 -07:00
virstringtest.c Add virStringReplace method for substring replacement 2014-02-24 10:51:22 +00:00
virsystemdmock.c Fix indentation in virsystemdmock 2014-03-03 14:35:23 +01:00
virsystemdtest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
virt-aa-helper-test add vnc unix sockets to apparmor policy 2012-12-11 14:32:39 -07:00
virtimetest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
viruritest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
virusbmock.c Add tests for virUSBDeviceFind functions 2014-03-03 14:35:22 +01:00
virusbtest.c Add a test for virUSBDeviceList functions 2014-03-03 14:35:22 +01:00
vmwarevertest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
vmx2xmltest.c Add test for transient disk support in VMX files 2014-01-20 09:47:43 -07:00
xencapstest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
xmconfigtest.c Exercise the ABI stability check code in test suite 2014-01-10 20:32:48 +00:00
xml2sexprtest.c Exercise the ABI stability check code in test suite 2014-01-10 20:32:48 +00:00
xml2vmxtest.c Exercise the ABI stability check code in test suite 2014-01-10 20:32:48 +00:00