
Eric Blake wrote:
On 07/07/2011 04:00 PM, Jim Fehlig wrote:
Currently, the xen statstest and reconnect tests are only compiled if xend is running. Compile them unconditionally if xen headers are present, but skip the tests at runtime if xend is not running.
This is in response to Eric's suggestion here
https://www.redhat.com/archives/libvir-list/2011-July/msg00367.html --- configure.ac | 24 ------------------------ tests/Makefile.am | 12 ++++-------- tests/reconnect.c | 11 +++++++++++ tests/statstest.c | 12 ++++++++++++ 4 files changed, 27 insertions(+), 32 deletions(-)
Nice - it removes more lines than it adds, while still improving compilation coverage!
+ + /* skip test if xend is not running */ + cmd = virCommandNewArgList("/usr/sbin/xend", "status", NULL); + if (virCommandRun(cmd, &status) == 0 && status != 0) {
If we fail to run the command for external reasons (such as no /usr/sbin/xend binary, or the status command was killed by a signal instead of a normal exit), we probably still want to skip this test. How about this (in both tests):
if (virCommandRun(cmd, &status) != 0 || status != 0) {
+ virCommandFree(cmd); + return 77;
I forget we had a macro to avoid the magic number: s/77/EXIT_AM_SKIP/
+ } + virCommandFree(cmd); + /* Some of our tests delibrately test failure cases, so
Hmm, while you're touching this, how about s/delibrately/deliberately/
ACK with those changes.
I've pushed this with your suggestions.
Oh, and our testsuite has a cosmetic bug. After applying your patch, I see this during 'make check':
TEST: xencapstest .......... 10 OK PASS: xencapstest SKIP: reconnect TEST: statstest 0 FAIL SKIP: statstest
Bonus points for fixing up that output to say SKIP instead of FAIL and to align it correctly (but that can be a separate patch).
I'll look into it. Thanks, Jim