提交 5a45ed9c 编写于 作者: A Andrea Bolognani

tests: testQemuCapsIterate: Pass suffix to callback

Right now users need to hardcode the suffix, which is not a big
deal since they're the ones who passed it to testQemuCapsIterate()
in the first place; however, since we're already passing most of
the information to the callback and we're going to add more later
on, it makes sense to be consistent and pass the suffix too.
Signed-off-by: NAndrea Bolognani <abologna@redhat.com>
Reviewed-by: NJiri Denemark <jdenemar@redhat.com>
上级 51495a4d
...@@ -38,6 +38,7 @@ struct _testQemuData { ...@@ -38,6 +38,7 @@ struct _testQemuData {
const char *inputDir; const char *inputDir;
const char *outputDir; const char *outputDir;
const char *archName; const char *archName;
const char *suffix;
const char *base; const char *base;
int ret; int ret;
}; };
...@@ -77,8 +78,9 @@ testQemuCaps(const void *opaque) ...@@ -77,8 +78,9 @@ testQemuCaps(const void *opaque)
unsigned int fakeMicrocodeVersion = 0; unsigned int fakeMicrocodeVersion = 0;
const char *p; const char *p;
if (virAsprintf(&repliesFile, "%s/%s.%s.replies", if (virAsprintf(&repliesFile, "%s/%s.%s.%s",
data->inputDir, data->base, data->archName) < 0 || data->inputDir, data->base,
data->archName, data->suffix) < 0 ||
virAsprintf(&capsFile, "%s/%s.%s.xml", virAsprintf(&capsFile, "%s/%s.%s.xml",
data->outputDir, data->base, data->archName) < 0) data->outputDir, data->base, data->archName) < 0)
goto cleanup; goto cleanup;
...@@ -182,6 +184,7 @@ static int ...@@ -182,6 +184,7 @@ static int
doCapsTest(const char *inputDir, doCapsTest(const char *inputDir,
const char *base, const char *base,
const char *archName, const char *archName,
const char *suffix,
void *opaque) void *opaque)
{ {
testQemuDataPtr data = (testQemuDataPtr) opaque; testQemuDataPtr data = (testQemuDataPtr) opaque;
...@@ -196,6 +199,7 @@ doCapsTest(const char *inputDir, ...@@ -196,6 +199,7 @@ doCapsTest(const char *inputDir,
data->inputDir = inputDir; data->inputDir = inputDir;
data->base = base; data->base = base;
data->archName = archName; data->archName = archName;
data->suffix = suffix;
if (virTestRun(title, testQemuCaps, data) < 0) if (virTestRun(title, testQemuCaps, data) < 0)
data->ret = -1; data->ret = -1;
......
...@@ -33,6 +33,7 @@ struct _testQemuData { ...@@ -33,6 +33,7 @@ struct _testQemuData {
const char *outputDir; const char *outputDir;
const char *base; const char *base;
const char *archName; const char *archName;
const char *suffix;
int ret; int ret;
}; };
...@@ -145,8 +146,9 @@ testQemuCapsXML(const void *opaque) ...@@ -145,8 +146,9 @@ testQemuCapsXML(const void *opaque)
data->outputDir, data->archName) < 0) data->outputDir, data->archName) < 0)
goto cleanup; goto cleanup;
if (virAsprintf(&capsFile, "%s/%s.%s.xml", if (virAsprintf(&capsFile, "%s/%s.%s.%s",
data->inputDir, data->base, data->archName) < 0) data->inputDir, data->base,
data->archName, data->suffix) < 0)
goto cleanup; goto cleanup;
if (virTestLoadFile(capsFile, &capsData) < 0) if (virTestLoadFile(capsFile, &capsData) < 0)
...@@ -176,6 +178,7 @@ static int ...@@ -176,6 +178,7 @@ static int
doCapsTest(const char *inputDir, doCapsTest(const char *inputDir,
const char *base, const char *base,
const char *archName, const char *archName,
const char *suffix,
void *opaque) void *opaque)
{ {
testQemuDataPtr data = (testQemuDataPtr) opaque; testQemuDataPtr data = (testQemuDataPtr) opaque;
...@@ -187,6 +190,7 @@ doCapsTest(const char *inputDir, ...@@ -187,6 +190,7 @@ doCapsTest(const char *inputDir,
data->inputDir = inputDir; data->inputDir = inputDir;
data->base = base; data->base = base;
data->archName = archName; data->archName = archName;
data->suffix = suffix;
if (virTestRun(title, testQemuCapsXML, data) < 0) if (virTestRun(title, testQemuCapsXML, data) < 0)
data->ret = -1; data->ret = -1;
......
...@@ -936,9 +936,16 @@ testQemuCapsIterate(const char *suffix, ...@@ -936,9 +936,16 @@ testQemuCapsIterate(const char *suffix,
archName[0] = '\0'; archName[0] = '\0';
archName++; archName++;
/* Run the user-provided callback */ /* Run the user-provided callback.
if (callback(TEST_QEMU_CAPS_PATH, base, archName, opaque) < 0) *
* We skip the dot that, as verified earlier, starts the suffix
* to make it nicer to rebuild the original file name from inside
* the callback.
*/
if (callback(TEST_QEMU_CAPS_PATH, base,
archName, suffix + 1, opaque) < 0) {
goto cleanup; goto cleanup;
}
} }
if (rc < 0) if (rc < 0)
......
...@@ -99,6 +99,7 @@ virHashTablePtr testQemuGetLatestCaps(void); ...@@ -99,6 +99,7 @@ virHashTablePtr testQemuGetLatestCaps(void);
typedef int (*testQemuCapsIterateCallback)(const char *inputDir, typedef int (*testQemuCapsIterateCallback)(const char *inputDir,
const char *base, const char *base,
const char *archName, const char *archName,
const char *suffix,
void *opaque); void *opaque);
int testQemuCapsIterate(const char *suffix, int testQemuCapsIterate(const char *suffix,
testQemuCapsIterateCallback callback, testQemuCapsIterateCallback callback,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册