mirror of https://gitee.com/openkylin/libvirt.git
tests: virstoragetest: Switch backing chain test to use automatic numbering
I'm going to add a few test cases so it's the best time to convert the test to automatic numbering.
This commit is contained in:
parent
76b284c968
commit
df04741cd3
|
@ -685,7 +685,7 @@ mymain(void)
|
|||
if ((ret = testPrepImages()) != 0)
|
||||
return ret;
|
||||
|
||||
#define TEST_ONE_CHAIN(id, start, format, flags, ...) \
|
||||
#define TEST_ONE_CHAIN(start, format, flags, ...) \
|
||||
do { \
|
||||
size_t i; \
|
||||
memset(&data, 0, sizeof(data)); \
|
||||
|
@ -695,7 +695,7 @@ mymain(void)
|
|||
for (i = 0; i < ARRAY_CARDINALITY(data.files); i++) \
|
||||
if (data.files[i]) \
|
||||
data.nfiles++; \
|
||||
if (virtTestRun("Storage backing chain " id, \
|
||||
if (virtTestRun(virtTestCounterNext(), \
|
||||
testStorageChain, &data) < 0) \
|
||||
ret = -1; \
|
||||
} while (0)
|
||||
|
@ -703,16 +703,17 @@ mymain(void)
|
|||
#define VIR_FLATTEN_2(...) __VA_ARGS__
|
||||
#define VIR_FLATTEN_1(_1) VIR_FLATTEN_2 _1
|
||||
|
||||
#define TEST_CHAIN(id, path, format, chain1, flags1, chain2, flags2) \
|
||||
#define TEST_CHAIN(path, format, chain1, flags1, chain2, flags2) \
|
||||
do { \
|
||||
TEST_ONE_CHAIN(#id "a", path, format, flags1, VIR_FLATTEN_1(chain1)); \
|
||||
TEST_ONE_CHAIN(#id "b", path, format, flags2, VIR_FLATTEN_1(chain2)); \
|
||||
TEST_ONE_CHAIN(path, format, flags1, VIR_FLATTEN_1(chain1)); \
|
||||
TEST_ONE_CHAIN(path, format, flags2, VIR_FLATTEN_1(chain2)); \
|
||||
} while (0)
|
||||
|
||||
/* The actual tests, in several groups. */
|
||||
virtTestCounterReset("Storage backing chain ");
|
||||
|
||||
/* Missing file */
|
||||
TEST_ONE_CHAIN("0", "bogus", VIR_STORAGE_FILE_RAW, EXP_FAIL);
|
||||
TEST_ONE_CHAIN("bogus", VIR_STORAGE_FILE_RAW, EXP_FAIL);
|
||||
|
||||
/* Raw image, whether with right format or no specified format */
|
||||
testFileData raw = {
|
||||
|
@ -720,10 +721,10 @@ mymain(void)
|
|||
.type = VIR_STORAGE_TYPE_FILE,
|
||||
.format = VIR_STORAGE_FILE_RAW,
|
||||
};
|
||||
TEST_CHAIN(1, absraw, VIR_STORAGE_FILE_RAW,
|
||||
TEST_CHAIN(absraw, VIR_STORAGE_FILE_RAW,
|
||||
(&raw), EXP_PASS,
|
||||
(&raw), ALLOW_PROBE | EXP_PASS);
|
||||
TEST_CHAIN(2, absraw, VIR_STORAGE_FILE_AUTO,
|
||||
TEST_CHAIN(absraw, VIR_STORAGE_FILE_AUTO,
|
||||
(&raw), EXP_PASS,
|
||||
(&raw), ALLOW_PROBE | EXP_PASS);
|
||||
|
||||
|
@ -741,10 +742,10 @@ mymain(void)
|
|||
.type = VIR_STORAGE_TYPE_FILE,
|
||||
.format = VIR_STORAGE_FILE_RAW,
|
||||
};
|
||||
TEST_CHAIN(3, absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
TEST_CHAIN(absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
(&qcow2, &raw), EXP_PASS,
|
||||
(&qcow2, &raw), ALLOW_PROBE | EXP_PASS);
|
||||
TEST_CHAIN(4, absqcow2, VIR_STORAGE_FILE_AUTO,
|
||||
TEST_CHAIN(absqcow2, VIR_STORAGE_FILE_AUTO,
|
||||
(&qcow2_as_raw), EXP_PASS,
|
||||
(&qcow2, &raw), ALLOW_PROBE | EXP_PASS);
|
||||
|
||||
|
@ -758,10 +759,10 @@ mymain(void)
|
|||
raw.pathRel = NULL;
|
||||
|
||||
/* Qcow2 file with raw as absolute backing, backing format provided */
|
||||
TEST_CHAIN(5, absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
TEST_CHAIN(absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
(&qcow2, &raw), EXP_PASS,
|
||||
(&qcow2, &raw), ALLOW_PROBE | EXP_PASS);
|
||||
TEST_CHAIN(6, absqcow2, VIR_STORAGE_FILE_AUTO,
|
||||
TEST_CHAIN(absqcow2, VIR_STORAGE_FILE_AUTO,
|
||||
(&qcow2_as_raw), EXP_PASS,
|
||||
(&qcow2, &raw), ALLOW_PROBE | EXP_PASS);
|
||||
|
||||
|
@ -773,7 +774,7 @@ mymain(void)
|
|||
.type = VIR_STORAGE_TYPE_FILE,
|
||||
.format = VIR_STORAGE_FILE_QCOW2,
|
||||
};
|
||||
TEST_CHAIN(7, abswrap, VIR_STORAGE_FILE_QCOW2,
|
||||
TEST_CHAIN(abswrap, VIR_STORAGE_FILE_QCOW2,
|
||||
(&wrap, &qcow2, &raw), EXP_PASS,
|
||||
(&wrap, &qcow2, &raw), ALLOW_PROBE | EXP_PASS);
|
||||
|
||||
|
@ -798,7 +799,7 @@ mymain(void)
|
|||
.type = VIR_STORAGE_TYPE_FILE,
|
||||
.format = VIR_STORAGE_FILE_QCOW2,
|
||||
};
|
||||
TEST_CHAIN(8, abswrap, VIR_STORAGE_FILE_QCOW2,
|
||||
TEST_CHAIN(abswrap, VIR_STORAGE_FILE_QCOW2,
|
||||
(&wrap_as_raw, &qcow2_as_raw), EXP_PASS,
|
||||
(&wrap, &qcow2, &raw), ALLOW_PROBE | EXP_PASS);
|
||||
|
||||
|
@ -812,7 +813,7 @@ mymain(void)
|
|||
qcow2.expBackingStoreRaw = datadir "/bogus";
|
||||
|
||||
/* Qcow2 file with missing backing file but specified type */
|
||||
TEST_CHAIN(9, absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
TEST_CHAIN(absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
(&qcow2), EXP_WARN,
|
||||
(&qcow2), ALLOW_PROBE | EXP_WARN);
|
||||
|
||||
|
@ -824,7 +825,7 @@ mymain(void)
|
|||
ret = -1;
|
||||
|
||||
/* Qcow2 file with missing backing file and no specified type */
|
||||
TEST_CHAIN(10, absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
TEST_CHAIN(absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
(&qcow2), EXP_WARN,
|
||||
(&qcow2), ALLOW_PROBE | EXP_WARN);
|
||||
|
||||
|
@ -845,7 +846,7 @@ mymain(void)
|
|||
.protocol = VIR_STORAGE_NET_PROTOCOL_NBD,
|
||||
.hostname = "example.org",
|
||||
};
|
||||
TEST_CHAIN(11, absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
TEST_CHAIN(absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
(&qcow2, &nbd), EXP_PASS,
|
||||
(&qcow2, &nbd), ALLOW_PROBE | EXP_PASS);
|
||||
|
||||
|
@ -866,7 +867,7 @@ mymain(void)
|
|||
.protocol = VIR_STORAGE_NET_PROTOCOL_NBD,
|
||||
.hostname = "example.org",
|
||||
};
|
||||
TEST_CHAIN(12, absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
TEST_CHAIN(absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
(&qcow2, &nbd2), EXP_PASS,
|
||||
(&qcow2, &nbd2), ALLOW_PROBE | EXP_PASS);
|
||||
|
||||
|
@ -883,7 +884,7 @@ mymain(void)
|
|||
.type = VIR_STORAGE_TYPE_FILE,
|
||||
.format = VIR_STORAGE_FILE_RAW,
|
||||
};
|
||||
TEST_CHAIN(13, absqed, VIR_STORAGE_FILE_AUTO,
|
||||
TEST_CHAIN(absqed, VIR_STORAGE_FILE_AUTO,
|
||||
(&qed_as_raw), EXP_PASS,
|
||||
(&qed, &raw), ALLOW_PROBE | EXP_PASS);
|
||||
|
||||
|
@ -893,10 +894,10 @@ mymain(void)
|
|||
.type = VIR_STORAGE_TYPE_DIR,
|
||||
.format = VIR_STORAGE_FILE_DIR,
|
||||
};
|
||||
TEST_CHAIN(14, absdir, VIR_STORAGE_FILE_AUTO,
|
||||
TEST_CHAIN(absdir, VIR_STORAGE_FILE_AUTO,
|
||||
(&dir), EXP_PASS,
|
||||
(&dir), ALLOW_PROBE | EXP_PASS);
|
||||
TEST_CHAIN(15, absdir, VIR_STORAGE_FILE_DIR,
|
||||
TEST_CHAIN(absdir, VIR_STORAGE_FILE_DIR,
|
||||
(&dir), EXP_PASS,
|
||||
(&dir), ALLOW_PROBE | EXP_PASS);
|
||||
|
||||
|
@ -935,7 +936,7 @@ mymain(void)
|
|||
|
||||
raw.path = datadir "/sub/../sub/../raw";
|
||||
raw.pathRel = "../raw";
|
||||
TEST_CHAIN(16, abslink2, VIR_STORAGE_FILE_QCOW2,
|
||||
TEST_CHAIN(abslink2, VIR_STORAGE_FILE_QCOW2,
|
||||
(&link2, &link1, &raw), EXP_PASS,
|
||||
(&link2, &link1, &raw), ALLOW_PROBE | EXP_PASS);
|
||||
#endif
|
||||
|
@ -949,7 +950,7 @@ mymain(void)
|
|||
qcow2.expBackingStoreRaw = "qcow2";
|
||||
|
||||
/* Behavior of an infinite loop chain */
|
||||
TEST_CHAIN(17, absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
TEST_CHAIN(absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
(&qcow2), EXP_WARN,
|
||||
(&qcow2), ALLOW_PROBE | EXP_WARN);
|
||||
|
||||
|
@ -968,7 +969,7 @@ mymain(void)
|
|||
qcow2.expBackingStoreRaw = "wrap";
|
||||
|
||||
/* Behavior of an infinite loop chain */
|
||||
TEST_CHAIN(18, abswrap, VIR_STORAGE_FILE_QCOW2,
|
||||
TEST_CHAIN(abswrap, VIR_STORAGE_FILE_QCOW2,
|
||||
(&wrap, &qcow2), EXP_WARN,
|
||||
(&wrap, &qcow2), ALLOW_PROBE | EXP_WARN);
|
||||
|
||||
|
@ -988,7 +989,7 @@ mymain(void)
|
|||
.format = VIR_STORAGE_FILE_RAW,
|
||||
.protocol = VIR_STORAGE_NET_PROTOCOL_RBD,
|
||||
};
|
||||
TEST_CHAIN(19, absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
TEST_CHAIN(absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
(&qcow2, &rbd1), EXP_PASS,
|
||||
(&qcow2, &rbd1), ALLOW_PROBE | EXP_PASS);
|
||||
|
||||
|
@ -1010,7 +1011,7 @@ mymain(void)
|
|||
.secret = "asdf",
|
||||
.hostname = "example.com",
|
||||
};
|
||||
TEST_CHAIN(20, absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
TEST_CHAIN(absqcow2, VIR_STORAGE_FILE_QCOW2,
|
||||
(&qcow2, &rbd2), EXP_PASS,
|
||||
(&qcow2, &rbd2), ALLOW_PROBE | EXP_PASS);
|
||||
|
||||
|
|
Loading…
Reference in New Issue