CentOS 6 has libguestfs-devel 1.20.11, which predates the support
in guestfs_add_drive_opts() for requesting an nbd drive instead
of a local file. The guestfs plugin can still be built, so no
configure changes are needed; but skip the tests that fail to
compile so that 'make check' can at least complete.
Signed-off-by: Eric Blake <eblake(a)redhat.com>
---
Even with this patch, there are still failures:
/home/dummy/nbdkit/src/nbdkit -U /tmp/nbdkitC8Hm6H/sock -P /tmp/nbdkitC8Hm6H/pid
-f -v /home/dummy/nbdkit/plugins/gzip/.libs/nbdkit-gzip-plugin.so -r file=disk.
gz
nbdkit: debug: TLS disabled: nbdkit was not compiled with GnuTLS support
nbdkit: /home/dummy/nbdkit/plugins/gzip/.libs/nbdkit-gzip-plugin.so: /home/dummy
/nbdkit/plugins/gzip/.libs/nbdkit-gzip-plugin.so: undefined symbol: gzbuffer
test-gzip FAILED: nbdkit exited before starting to serve files
waitpid: No child processes
FAIL: test-gzip
./test-dump-plugin-example4.sh: unexpected output from nbdkit example4 --dump-pl
ugin
path=/home/dummy/nbdkit/plugins/perl/.libs/nbdkit-perl-plugin.so
...
has__zero_old=1
FAIL: test-dump-plugin-example4.sh
libguestfs: trace: set_verbose true
libguestfs: trace: set_verbose = 0
libguestfs: trace: set_attach_method "appliance"
libguestfs: trace: set_attach_method = 0
libguestfs: create: flags = 0, handle = 0xf8fac0
nbd://?socket=cache.sock: No such file or directory
libguestfs: trace: close
libguestfs: closing guestfs handle 0xf8fac0 (state 0)
./test-cache.sh: line 64: kill: (14315) - No such process
FAIL: test-cache.sh
libguestfs: trace: set_verbose true
libguestfs: trace: set_verbose = 0
libguestfs: trace: set_attach_method "appliance"
libguestfs: trace: set_attach_method = 0
libguestfs: create: flags = 0, handle = 0xf89ac0
guestfish: -N parameter 'cow-base.img=fs': no such prepared disk image known.
Use 'guestfish -N help' to list possible values for the -N parameter.
libguestfs: trace: close
libguestfs: closing guestfs handle 0xf89ac0 (state 0)
FAIL: test-cow.sh
=======================
4 of 19 tests failed
(21 tests were not run)
=======================
but that's better than not compiling
---
tests/test-connect.c | 5 +++++
tests/test-delay.c | 5 +++++
tests/test-file.c | 5 +++++
tests/test-gzip.c | 5 +++++
tests/test-lang-plugins.c | 5 +++++
tests/test-memory.c | 5 +++++
tests/test-nbd.c | 5 +++++
tests/test-newstyle.c | 5 +++++
tests/test-null.c | 7 +++++++
tests/test-ocaml.c | 5 +++++
tests/test-offset.c | 5 +++++
tests/test-oldstyle.c | 5 +++++
tests/test-partition.c | 5 +++++
tests/test-split.c | 5 +++++
tests/test-streaming.c | 5 +++++
tests/test-xz.c | 5 +++++
16 files changed, 82 insertions(+)
diff --git a/tests/test-connect.c b/tests/test-connect.c
index 32ba79a..06c6163 100644
--- a/tests/test-connect.c
+++ b/tests/test-connect.c
@@ -62,6 +62,10 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL
+ printf ("libguestfs too old to support nbd disk, skipping\n");
+ exit (77);
+#else
r = guestfs_add_drive_opts (g, "",
GUESTFS_ADD_DRIVE_OPTS_READONLY, 1,
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
@@ -70,6 +74,7 @@ main (int argc, char *argv[])
-1);
if (r == -1)
exit (EXIT_FAILURE);
+#endif
if (guestfs_launch (g) == -1)
exit (EXIT_FAILURE);
diff --git a/tests/test-delay.c b/tests/test-delay.c
index 47bf380..f037097 100644
--- a/tests/test-delay.c
+++ b/tests/test-delay.c
@@ -63,6 +63,10 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL
+ printf ("libguestfs too old to support nbd disk, skipping\n");
+ exit (77);
+#else
r = guestfs_add_drive_opts (g, "",
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd",
@@ -70,6 +74,7 @@ main (int argc, char *argv[])
-1);
if (r == -1)
exit (EXIT_FAILURE);
+#endif
if (guestfs_launch (g) == -1)
exit (EXIT_FAILURE);
diff --git a/tests/test-file.c b/tests/test-file.c
index 65a2568..6a81b9e 100644
--- a/tests/test-file.c
+++ b/tests/test-file.c
@@ -61,6 +61,10 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL
+ printf ("libguestfs too old to support nbd disk, skipping\n");
+ exit (77);
+#else
r = guestfs_add_drive_opts (g, "",
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd",
@@ -68,6 +72,7 @@ main (int argc, char *argv[])
-1);
if (r == -1)
exit (EXIT_FAILURE);
+#endif
if (guestfs_launch (g) == -1)
exit (EXIT_FAILURE);
diff --git a/tests/test-gzip.c b/tests/test-gzip.c
index 8e9c286..13e243f 100644
--- a/tests/test-gzip.c
+++ b/tests/test-gzip.c
@@ -60,6 +60,10 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL
+ printf ("libguestfs too old to support nbd disk, skipping\n");
+ exit (77);
+#else
r = guestfs_add_drive_opts (g, "",
GUESTFS_ADD_DRIVE_OPTS_READONLY, 1,
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
@@ -68,6 +72,7 @@ main (int argc, char *argv[])
-1);
if (r == -1)
exit (EXIT_FAILURE);
+#endif
if (guestfs_launch (g) == -1)
exit (EXIT_FAILURE);
diff --git a/tests/test-lang-plugins.c b/tests/test-lang-plugins.c
index fc3cbef..915256f 100644
--- a/tests/test-lang-plugins.c
+++ b/tests/test-lang-plugins.c
@@ -70,6 +70,10 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL
+ printf ("libguestfs too old to support nbd disk, skipping\n");
+ exit (77);
+#else
r = guestfs_add_drive_opts (g, "",
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd",
@@ -77,6 +81,7 @@ main (int argc, char *argv[])
-1);
if (r == -1)
exit (EXIT_FAILURE);
+#endif
if (guestfs_launch (g) == -1)
exit (EXIT_FAILURE);
diff --git a/tests/test-memory.c b/tests/test-memory.c
index fb2ff2a..281996e 100644
--- a/tests/test-memory.c
+++ b/tests/test-memory.c
@@ -60,6 +60,10 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL
+ printf ("libguestfs too old to support nbd disk, skipping\n");
+ exit (77);
+#else
r = guestfs_add_drive_opts (g, "",
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd",
@@ -67,6 +71,7 @@ main (int argc, char *argv[])
-1);
if (r == -1)
exit (EXIT_FAILURE);
+#endif
if (guestfs_launch (g) == -1)
exit (EXIT_FAILURE);
diff --git a/tests/test-nbd.c b/tests/test-nbd.c
index 646c0c3..22f6424 100644
--- a/tests/test-nbd.c
+++ b/tests/test-nbd.c
@@ -80,6 +80,10 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL
+ printf ("libguestfs too old to support nbd disk, skipping\n");
+ exit (77);
+#else
r = guestfs_add_drive_opts (g, "",
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd",
@@ -87,6 +91,7 @@ main (int argc, char *argv[])
-1);
if (r == -1)
exit (EXIT_FAILURE);
+#endif
if (guestfs_launch (g) == -1)
exit (EXIT_FAILURE);
diff --git a/tests/test-newstyle.c b/tests/test-newstyle.c
index 9835931..b6f193a 100644
--- a/tests/test-newstyle.c
+++ b/tests/test-newstyle.c
@@ -64,6 +64,10 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL
+ printf ("libguestfs too old to support nbd disk, skipping\n");
+ exit (77);
+#else
/* Using any exportname causes qemu to use the newstyle protocol. */
r = guestfs_add_drive_opts (g, EXPORTNAME,
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
@@ -72,6 +76,7 @@ main (int argc, char *argv[])
-1);
if (r == -1)
exit (EXIT_FAILURE);
+#endif
if (guestfs_launch (g) == -1)
exit (EXIT_FAILURE);
diff --git a/tests/test-null.c b/tests/test-null.c
index d7cf5e5..29ed280 100644
--- a/tests/test-null.c
+++ b/tests/test-null.c
@@ -64,6 +64,10 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL
+ printf ("libguestfs too old to support nbd disk, skipping\n");
+ exit (77);
+#else
r = guestfs_add_drive_opts (g, "",
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd",
@@ -71,6 +75,7 @@ main (int argc, char *argv[])
-1);
if (r == -1)
exit (EXIT_FAILURE);
+#endif
if (guestfs_launch (g) == -1)
exit (EXIT_FAILURE);
@@ -93,6 +98,7 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+#ifdef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL
r = guestfs_add_drive_opts (g, "",
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd",
@@ -100,6 +106,7 @@ main (int argc, char *argv[])
-1);
if (r == -1)
exit (EXIT_FAILURE);
+#endif
if (guestfs_launch (g) == -1)
exit (EXIT_FAILURE);
diff --git a/tests/test-ocaml.c b/tests/test-ocaml.c
index 707c762..5471d06 100644
--- a/tests/test-ocaml.c
+++ b/tests/test-ocaml.c
@@ -70,6 +70,10 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL
+ printf ("libguestfs too old to support nbd disk, skipping\n");
+ exit (77);
+#else
r = guestfs_add_drive_opts (g, "",
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd",
@@ -77,6 +81,7 @@ main (int argc, char *argv[])
-1);
if (r == -1)
exit (EXIT_FAILURE);
+#endif
if (guestfs_launch (g) == -1)
exit (EXIT_FAILURE);
diff --git a/tests/test-offset.c b/tests/test-offset.c
index d47066f..77e2005 100644
--- a/tests/test-offset.c
+++ b/tests/test-offset.c
@@ -89,6 +89,10 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL
+ printf ("libguestfs too old to support nbd disk, skipping\n");
+ exit (77);
+#else
r = guestfs_add_drive_opts (g, "",
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd",
@@ -96,6 +100,7 @@ main (int argc, char *argv[])
-1);
if (r == -1)
exit (EXIT_FAILURE);
+#endif
if (guestfs_launch (g) == -1)
exit (EXIT_FAILURE);
diff --git a/tests/test-oldstyle.c b/tests/test-oldstyle.c
index a9ba01c..0fabdf8 100644
--- a/tests/test-oldstyle.c
+++ b/tests/test-oldstyle.c
@@ -61,6 +61,10 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL
+ printf ("libguestfs too old to support nbd disk, skipping\n");
+ exit (77);
+#else
/* Using exportname = "" causes qemu to use the oldstyle protocol. */
r = guestfs_add_drive_opts (g, "",
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
@@ -69,6 +73,7 @@ main (int argc, char *argv[])
-1);
if (r == -1)
exit (EXIT_FAILURE);
+#endif
if (guestfs_launch (g) == -1)
exit (EXIT_FAILURE);
diff --git a/tests/test-partition.c b/tests/test-partition.c
index 0087548..3e27b2c 100644
--- a/tests/test-partition.c
+++ b/tests/test-partition.c
@@ -64,6 +64,10 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL
+ printf ("libguestfs too old to support nbd disk, skipping\n");
+ exit (77);
+#else
r = guestfs_add_drive_opts (g, "",
GUESTFS_ADD_DRIVE_OPTS_READONLY, 1,
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
@@ -72,6 +76,7 @@ main (int argc, char *argv[])
-1);
if (r == -1)
exit (EXIT_FAILURE);
+#endif
if (guestfs_launch (g) == -1)
exit (EXIT_FAILURE);
diff --git a/tests/test-split.c b/tests/test-split.c
index f20e64b..22c9e72 100644
--- a/tests/test-split.c
+++ b/tests/test-split.c
@@ -63,6 +63,10 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL
+ printf ("libguestfs too old to support nbd disk, skipping\n");
+ exit (77);
+#else
r = guestfs_add_drive_opts (g, "",
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd",
@@ -70,6 +74,7 @@ main (int argc, char *argv[])
-1);
if (r == -1)
exit (EXIT_FAILURE);
+#endif
if (guestfs_launch (g) == -1)
exit (EXIT_FAILURE);
diff --git a/tests/test-streaming.c b/tests/test-streaming.c
index 7807501..fbdf34b 100644
--- a/tests/test-streaming.c
+++ b/tests/test-streaming.c
@@ -108,6 +108,10 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL
+ printf ("libguestfs too old to support nbd disk, skipping\n");
+ exit (77);
+#else
r = guestfs_add_drive_opts (g, "",
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd",
@@ -115,6 +119,7 @@ main (int argc, char *argv[])
-1);
if (r == -1)
exit (EXIT_FAILURE);
+#endif
if (guestfs_launch (g) == -1)
exit (EXIT_FAILURE);
diff --git a/tests/test-xz.c b/tests/test-xz.c
index ef58d59..34bc1ac 100644
--- a/tests/test-xz.c
+++ b/tests/test-xz.c
@@ -60,6 +60,10 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL
+ printf ("libguestfs too old to support nbd disk, skipping\n");
+ exit (77);
+#else
r = guestfs_add_drive_opts (g, "",
GUESTFS_ADD_DRIVE_OPTS_READONLY, 1,
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
@@ -68,6 +72,7 @@ main (int argc, char *argv[])
-1);
if (r == -1)
exit (EXIT_FAILURE);
+#endif
if (guestfs_launch (g) == -1)
exit (EXIT_FAILURE);
--
2.14.3