"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";
+struct testIscsiadmCbData {
+ bool output_version;
+};
+
static void testIscsiadmCb(const char *const*args,
const char *const*env ATTRIBUTE_UNUSED,
const char *input ATTRIBUTE_UNUSED,
int *status,
void *opaque)
{
- int *output_version = opaque;
+ struct testIscsiadmCbData *data = opaque;
+
if (args[0] && STREQ(args[0], ISCSIADM) &&
args[1] && STREQ(args[1], "--mode") &&
args[2] && STREQ(args[2], "session") &&
args[3] == NULL) {
- if (*output_version == 1)
+ if (data->output_version)
ignore_value(VIR_STRDUP(*output, iscsiadmSessionOutputNonFlash));
else
ignore_value(VIR_STRDUP(*output, iscsiadmSessionOutput));
struct testSessionInfo {
const char *device_path;
- int output_version;
+ bool output_version;
const char *expected_session;
};
testISCSIGetSession(const void *data)
{
const struct testSessionInfo *info = data;
- int ver = info->output_version;
+ struct testIscsiadmCbData cbData = { 0 };
char *actual_session = NULL;
int ret = -1;
- virCommandSetDryRun(NULL, testIscsiadmCb, &ver);
+ cbData.output_version = info->output_version;
+
+ virCommandSetDryRun(NULL, testIscsiadmCb, &cbData);
actual_session = virISCSIGetSession(info->device_path, true);
# define DO_SESSION_TEST(name, session) \
do { \
- struct testSessionInfo info = {name, 0, session}; \
+ struct testSessionInfo info = {name, false, session}; \
if (virTestRun("ISCSI get session test" name, \
testISCSIGetSession, &info) < 0) \
rv = -1; \
- info.output_version = 1; \
+ info.output_version = true; \
if (virTestRun("ISCSI get (non-flash) session test" name, \
testISCSIGetSession, &info) < 0) \
rv = -1; \