[libvirt] [PATCHv2 8/8] Add test for virISCSIScanTargets

Roman Bogorodskiy bogorodskiy at gmail.com
Fri Mar 21 07:04:48 UTC 2014


  Ján Tomko wrote:

> On 03/20/2014 04:01 PM, Daniel P. Berrange wrote:
> > On Wed, Mar 19, 2014 at 04:52:33PM +0100, Ján Tomko wrote:
> >> ---
> >>  tests/viriscsitest.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++
> >>  1 file changed, 82 insertions(+)
> >>
> >> diff --git a/tests/viriscsitest.c b/tests/viriscsitest.c
> >> index 0b09834..16a40c7 100644
> >> --- a/tests/viriscsitest.c
> >> +++ b/tests/viriscsitest.c
> >> @@ -51,6 +51,14 @@ static const char *iscsiadmSessionOutputNonFlash =
> >>  "tcp: [6] 10.20.30.44:3260,1 iqn.2008-04.example:example1:iscsi.bar (non-flash)\n"
> >>  "tcp: [7] 10.20.30.45:3260,1 iqn.2009-04.example:example1:iscsi.seven (non-flash)\n";
> >>  
> >> +const char *iscsiadmSendtargetsOutput =
> >> +"10.20.30.40:3260,1 iqn.2004-06.example:example1:iscsi.test\n"
> >> +"10.20.30.40:3260,1 iqn.2005-05.example:example1:iscsi.hello\n"
> >> +"10.20.30.40:3260,1 iqn.2006-04.example:example1:iscsi.world\n"
> >> +"10.20.30.40:3260,1 iqn.2007-04.example:example1:iscsi.foo\n"
> >> +"10.20.30.40:3260,1 iqn.2008-04.example:example1:iscsi.bar\n"
> >> +"10.20.30.40:3260,1 iqn.2009-04.example:example1:iscsi.seven\n";
> > 
> > Same note about indenting the strings relative to the variable dcl.
> > 
> >> +
> >>  struct testSessionInfo {
> >>      const char *device_path;
> >>      int output_version;
> >> @@ -74,6 +82,15 @@ static void testIscsiadmCb(const char *const*args,
> >>              ignore_value(VIR_STRDUP(*output, iscsiadmSessionOutputNonFlash));
> >>          else
> >>              ignore_value(VIR_STRDUP(*output, iscsiadmSessionOutput));
> >> +    } else if (args[0] && STREQ(args[0], ISCSIADM) &&
> >> +               args[1] && STREQ(args[1], "--mode") &&
> >> +               args[2] && STREQ(args[2], "discovery") &&
> >> +               args[3] && STREQ(args[3], "--type") &&
> >> +               args[4] && STREQ(args[4], "sendtargets") &&
> >> +               args[5] && STREQ(args[5], "--portal") &&
> >> +               args[6] && STREQ(args[6], "10.20.30.40:3260,1") &&
> >> +               args[7] == NULL) {
> > 
> > I find myself doing a similar with to compare args. I wonder if we
> > should create a virStringListIsEqual() helper function for comparing
> > a char ** against a statically declared args list.
> > 
> > ACK because such a refactoring can be separately done any time.
> > 
> 
> I've added ATTRIBUTEs to function declarations in viriscsi.h, indented the
> const strings and pushed the series, thank you for the reviews!

This breaks the build without iscsi backend:

gmake[3]: Entering directory `/usr/home/novel/code/libvirt/src'
  CC       util/libvirt_util_la-viriscsi.lo
util/viriscsi.c:83:46: error: use of undeclared identifier 'ISCSIADM'
    virCommandPtr cmd = virCommandNewArgList(ISCSIADM, "--mode", "session", NULL);
                                             ^
util/viriscsi.c:119:46: error: use of undeclared identifier 'ISCSIADM'
    virCommandPtr cmd = virCommandNewArgList(ISCSIADM,

and other similar errors because of ISCSIADM is not defined.

Should these files go into STORAGE_DRIVER_ISCSI_SOURCES or UTIL_SOURCES needs to be
adjusted depending if we want iscsi backend or not?

Roman Bogorodskiy




More information about the libvir-list mailing list