unsigned int expIndex;
const char *expResult;
virStorageSourcePtr expMeta;
- const char *expParent;
+ virStorageSourcePtr expParent;
};
static int
const struct testLookupData *data = args;
int ret = 0;
virStorageSourcePtr result;
- const char *actualParent;
+ virStorageSourcePtr actualParent;
unsigned int idx;
if (virStorageFileParseChainIndex(data->target, data->name, &idx) < 0 &&
data->expMeta, result);
ret = -1;
}
- if (STRNEQ_NULLABLE(data->expParent, actualParent)) {
+ if (data->expParent != actualParent) {
fprintf(stderr, "parent: expected %s, got %s\n",
- NULLSTR(data->expParent), NULLSTR(actualParent));
+ NULLSTR(data->expParent ? data->expParent->path : NULL),
+ NULLSTR(actualParent ? actualParent->path : NULL));
ret = -1;
}
TEST_LOOKUP(5, NULL, abswrap, chain->path, chain, NULL);
TEST_LOOKUP(6, chain, abswrap, NULL, NULL, NULL);
TEST_LOOKUP(7, chain2, abswrap, NULL, NULL, NULL);
- TEST_LOOKUP(8, NULL, "qcow2", chain2->path, chain2, chain->path);
- TEST_LOOKUP(9, chain, "qcow2", chain2->path, chain2, chain->path);
+ TEST_LOOKUP(8, NULL, "qcow2", chain2->path, chain2, chain);
+ TEST_LOOKUP(9, chain, "qcow2", chain2->path, chain2, chain);
TEST_LOOKUP(10, chain2, "qcow2", NULL, NULL, NULL);
TEST_LOOKUP(11, chain3, "qcow2", NULL, NULL, NULL);
- TEST_LOOKUP(12, NULL, absqcow2, chain2->path, chain2, chain->path);
- TEST_LOOKUP(13, chain, absqcow2, chain2->path, chain2, chain->path);
+ TEST_LOOKUP(12, NULL, absqcow2, chain2->path, chain2, chain);
+ TEST_LOOKUP(13, chain, absqcow2, chain2->path, chain2, chain);
TEST_LOOKUP(14, chain2, absqcow2, NULL, NULL, NULL);
TEST_LOOKUP(15, chain3, absqcow2, NULL, NULL, NULL);
- TEST_LOOKUP(16, NULL, "raw", chain3->path, chain3, chain2->path);
- TEST_LOOKUP(17, chain, "raw", chain3->path, chain3, chain2->path);
- TEST_LOOKUP(18, chain2, "raw", chain3->path, chain3, chain2->path);
+ TEST_LOOKUP(16, NULL, "raw", chain3->path, chain3, chain2);
+ TEST_LOOKUP(17, chain, "raw", chain3->path, chain3, chain2);
+ TEST_LOOKUP(18, chain2, "raw", chain3->path, chain3, chain2);
TEST_LOOKUP(19, chain3, "raw", NULL, NULL, NULL);
- TEST_LOOKUP(20, NULL, absraw, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(21, chain, absraw, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(22, chain2, absraw, chain3->path, chain3, chain2->path);
+ TEST_LOOKUP(20, NULL, absraw, chain3->path, chain3, chain2);
+ TEST_LOOKUP(21, chain, absraw, chain3->path, chain3, chain2);
+ TEST_LOOKUP(22, chain2, absraw, chain3->path, chain3, chain2);
TEST_LOOKUP(23, chain3, absraw, NULL, NULL, NULL);
- TEST_LOOKUP(24, NULL, NULL, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(25, chain, NULL, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(26, chain2, NULL, chain3->path, chain3, chain2->path);
+ TEST_LOOKUP(24, NULL, NULL, chain3->path, chain3, chain2);
+ TEST_LOOKUP(25, chain, NULL, chain3->path, chain3, chain2);
+ TEST_LOOKUP(26, chain2, NULL, chain3->path, chain3, chain2);
TEST_LOOKUP(27, chain3, NULL, NULL, NULL, NULL);
/* Rewrite wrap and qcow2 back to 3-deep chain, relative backing */
TEST_LOOKUP(33, NULL, abswrap, chain->path, chain, NULL);
TEST_LOOKUP(34, chain, abswrap, NULL, NULL, NULL);
TEST_LOOKUP(35, chain2, abswrap, NULL, NULL, NULL);
- TEST_LOOKUP(36, NULL, "qcow2", chain2->path, chain2, chain->path);
- TEST_LOOKUP(37, chain, "qcow2", chain2->path, chain2, chain->path);
+ TEST_LOOKUP(36, NULL, "qcow2", chain2->path, chain2, chain);
+ TEST_LOOKUP(37, chain, "qcow2", chain2->path, chain2, chain);
TEST_LOOKUP(38, chain2, "qcow2", NULL, NULL, NULL);
TEST_LOOKUP(39, chain3, "qcow2", NULL, NULL, NULL);
- TEST_LOOKUP(40, NULL, absqcow2, chain2->path, chain2, chain->path);
- TEST_LOOKUP(41, chain, absqcow2, chain2->path, chain2, chain->path);
+ TEST_LOOKUP(40, NULL, absqcow2, chain2->path, chain2, chain);
+ TEST_LOOKUP(41, chain, absqcow2, chain2->path, chain2, chain);
TEST_LOOKUP(42, chain2, absqcow2, NULL, NULL, NULL);
TEST_LOOKUP(43, chain3, absqcow2, NULL, NULL, NULL);
- TEST_LOOKUP(44, NULL, "raw", chain3->path, chain3, chain2->path);
- TEST_LOOKUP(45, chain, "raw", chain3->path, chain3, chain2->path);
- TEST_LOOKUP(46, chain2, "raw", chain3->path, chain3, chain2->path);
+ TEST_LOOKUP(44, NULL, "raw", chain3->path, chain3, chain2);
+ TEST_LOOKUP(45, chain, "raw", chain3->path, chain3, chain2);
+ TEST_LOOKUP(46, chain2, "raw", chain3->path, chain3, chain2);
TEST_LOOKUP(47, chain3, "raw", NULL, NULL, NULL);
- TEST_LOOKUP(48, NULL, absraw, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(49, chain, absraw, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(50, chain2, absraw, chain3->path, chain3, chain2->path);
+ TEST_LOOKUP(48, NULL, absraw, chain3->path, chain3, chain2);
+ TEST_LOOKUP(49, chain, absraw, chain3->path, chain3, chain2);
+ TEST_LOOKUP(50, chain2, absraw, chain3->path, chain3, chain2);
TEST_LOOKUP(51, chain3, absraw, NULL, NULL, NULL);
- TEST_LOOKUP(52, NULL, NULL, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(53, chain, NULL, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(54, chain2, NULL, chain3->path, chain3, chain2->path);
+ TEST_LOOKUP(52, NULL, NULL, chain3->path, chain3, chain2);
+ TEST_LOOKUP(53, chain, NULL, chain3->path, chain3, chain2);
+ TEST_LOOKUP(54, chain2, NULL, chain3->path, chain3, chain2);
TEST_LOOKUP(55, chain3, NULL, NULL, NULL, NULL);
/* Use link to wrap with cross-directory relative backing */
TEST_LOOKUP(57, NULL, "sub/link2", chain->path, chain, NULL);
TEST_LOOKUP(58, NULL, "wrap", chain->path, chain, NULL);
TEST_LOOKUP(59, NULL, abswrap, chain->path, chain, NULL);
- TEST_LOOKUP(60, NULL, "../qcow2", chain2->path, chain2, chain->path);
+ TEST_LOOKUP(60, NULL, "../qcow2", chain2->path, chain2, chain);
TEST_LOOKUP(61, NULL, "qcow2", NULL, NULL, NULL);
- TEST_LOOKUP(62, NULL, absqcow2, chain2->path, chain2, chain->path);
- TEST_LOOKUP(63, NULL, "raw", chain3->path, chain3, chain2->path);
- TEST_LOOKUP(64, NULL, absraw, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(65, NULL, NULL, chain3->path, chain3, chain2->path);
+ TEST_LOOKUP(62, NULL, absqcow2, chain2->path, chain2, chain);
+ TEST_LOOKUP(63, NULL, "raw", chain3->path, chain3, chain2);
+ TEST_LOOKUP(64, NULL, absraw, chain3->path, chain3, chain2);
+ TEST_LOOKUP(65, NULL, NULL, chain3->path, chain3, chain2);
TEST_LOOKUP_TARGET(66, "vda", NULL, "bogus[1]", 0, NULL, NULL, NULL);
TEST_LOOKUP_TARGET(67, "vda", NULL, "vda[-1]", 0, NULL, NULL, NULL);
TEST_LOOKUP_TARGET(70, "vda", chain, "wrap", 0, NULL, NULL, NULL);
TEST_LOOKUP_TARGET(71, "vda", chain2, "wrap", 0, NULL, NULL, NULL);
TEST_LOOKUP_TARGET(72, "vda", NULL, "vda[0]", 0, NULL, NULL, NULL);
- TEST_LOOKUP_TARGET(73, "vda", NULL, "vda[1]", 1, chain2->path, chain2,
- chain->path);
- TEST_LOOKUP_TARGET(74, "vda", chain, "vda[1]", 1, chain2->path, chain2,
- chain->path);
+ TEST_LOOKUP_TARGET(73, "vda", NULL, "vda[1]", 1, chain2->path, chain2, chain);
+ TEST_LOOKUP_TARGET(74, "vda", chain, "vda[1]", 1, chain2->path, chain2, chain);
TEST_LOOKUP_TARGET(75, "vda", chain2, "vda[1]", 1, NULL, NULL, NULL);
TEST_LOOKUP_TARGET(76, "vda", chain3, "vda[1]", 1, NULL, NULL, NULL);
- TEST_LOOKUP_TARGET(77, "vda", NULL, "vda[2]", 2, chain3->path, chain3,
- chain2->path);
- TEST_LOOKUP_TARGET(78, "vda", chain, "vda[2]", 2, chain3->path, chain3,
- chain2->path);
- TEST_LOOKUP_TARGET(79, "vda", chain2, "vda[2]", 2, chain3->path, chain3,
- chain2->path);
+ TEST_LOOKUP_TARGET(77, "vda", NULL, "vda[2]", 2, chain3->path, chain3, chain2);
+ TEST_LOOKUP_TARGET(78, "vda", chain, "vda[2]", 2, chain3->path, chain3, chain2);
+ TEST_LOOKUP_TARGET(79, "vda", chain2, "vda[2]", 2, chain3->path, chain3, chain2);
TEST_LOOKUP_TARGET(80, "vda", chain3, "vda[2]", 2, NULL, NULL, NULL);
TEST_LOOKUP_TARGET(81, "vda", NULL, "vda[3]", 3, NULL, NULL, NULL);