12
static char *progname;
13
static char *abs_srcdir;
19
extern int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr nodeinfo);
21
static int linuxTestCompareFiles(const char *cpuinfofile, const char *outputfile) {
22
char actualData[MAX_FILE];
23
char expectData[MAX_FILE];
24
char *expect = &expectData[0];
28
if (virtTestLoadFile(outputfile, &expect, MAX_FILE) < 0)
31
cpuinfo = fopen(cpuinfofile, "r");
34
if (linuxNodeInfoCPUPopulate(NULL, cpuinfo, &nodeinfo) < 0) {
40
snprintf(actualData, MAX_FILE,
41
"CPUs: %u, MHz: %u, Nodes: %u, Sockets: %u, Cores: %u, Threads: %u\n",
42
nodeinfo.cpus, nodeinfo.mhz, nodeinfo.nodes, nodeinfo.sockets,
43
nodeinfo.cores, nodeinfo.threads);
45
if (STRNEQ(actualData, expectData)) {
46
if (getenv("DEBUG_TESTS")) {
47
printf("Expect %d '%s'\n", (int)strlen(expectData), expectData);
48
printf("Actual %d '%s'\n", (int)strlen(actualData), actualData);
57
static int linuxTestNodeInfo(const void *data) {
58
char cpuinfo[PATH_MAX];
59
char output[PATH_MAX];
60
snprintf(cpuinfo, PATH_MAX, "%s/nodeinfodata/linux-%s.cpuinfo",
61
abs_srcdir, (const char*)data);
62
snprintf(output, PATH_MAX, "%s/nodeinfodata/linux-%s.txt",
63
abs_srcdir, (const char*)data);
64
return linuxTestCompareFiles(cpuinfo, output);
70
mymain(int argc, char **argv)
75
const char *nodeData[] = {
85
abs_srcdir = getenv("abs_srcdir");
87
abs_srcdir = getcwd(cwd, sizeof(cwd));
92
fprintf(stderr, "Usage: %s\n", progname);
98
for (i = 0 ; i < (sizeof(nodeData)/sizeof(nodeData[0])) ; i++)
99
if (virtTestRun(nodeData[i], 1, linuxTestNodeInfo, nodeData[i]) != 0)
103
return(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE);
106
VIRT_TEST_MAIN(mymain)