mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-18 21:36:27 +00:00
lib/drmtest: igt_skip when drm_get_card fails
Also add printf support to igt_skip to make sure there's always a reason why we fail a testcase. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
9ad062d0b3
commit
8dbd1fb9d4
@ -181,23 +181,24 @@ int drm_get_card(void)
|
|||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = asprintf(&name, "/dev/dri/card%u", i);
|
ret = asprintf(&name, "/dev/dri/card%u", i);
|
||||||
if (ret == -1)
|
igt_assert(ret != -1);
|
||||||
return -1;
|
|
||||||
fd = open(name, O_RDWR);
|
fd = open(name, O_RDWR);
|
||||||
free(name);
|
free(name);
|
||||||
|
|
||||||
if (fd == -1)
|
if (fd == -1)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (is_intel(fd)) {
|
if (!is_intel(fd))
|
||||||
close(fd);
|
continue;
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
close(fd);
|
close(fd);
|
||||||
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
return i;
|
igt_skip("No intel gpu found\n");
|
||||||
|
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Open the first DRM device we can find, searching up to 16 device nodes */
|
/** Open the first DRM device we can find, searching up to 16 device nodes */
|
||||||
@ -756,10 +757,17 @@ static void exit_subtest(const char *result)
|
|||||||
longjmp(igt_subtest_jmpbuf, 1);
|
longjmp(igt_subtest_jmpbuf, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void igt_skip(void)
|
void igt_skip(const char *f, ...)
|
||||||
{
|
{
|
||||||
|
va_list args;
|
||||||
skipped_one = true;
|
skipped_one = true;
|
||||||
|
|
||||||
|
if (!igt_only_list_subtests()) {
|
||||||
|
va_start(args, f);
|
||||||
|
vprintf(f, args);
|
||||||
|
va_end(args);
|
||||||
|
}
|
||||||
|
|
||||||
if (in_subtest) {
|
if (in_subtest) {
|
||||||
exit_subtest("SKIP");
|
exit_subtest("SKIP");
|
||||||
} else if (test_with_subtests) {
|
} else if (test_with_subtests) {
|
||||||
@ -774,12 +782,9 @@ void igt_skip(void)
|
|||||||
void __igt_skip_check(const char *file, const int line,
|
void __igt_skip_check(const char *file, const int line,
|
||||||
const char *func, const char *check)
|
const char *func, const char *check)
|
||||||
{
|
{
|
||||||
if (!igt_only_list_subtests()) {
|
igt_skip("Test requirement not met in function %s, file %s:%i:\n"
|
||||||
printf("Test requirement not met in function %s, file %s:%i:\n"
|
"Test requirement: (%s)\n",
|
||||||
"Test requirement: (%s)\n",
|
func, file, line, check);
|
||||||
func, file, line, check);
|
|
||||||
}
|
|
||||||
igt_skip();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void igt_success(void)
|
void igt_success(void)
|
||||||
|
@ -132,7 +132,7 @@ const char *igt_subtest_name(void);
|
|||||||
*
|
*
|
||||||
* For normal tests without subtest it will directly exit.
|
* For normal tests without subtest it will directly exit.
|
||||||
*/
|
*/
|
||||||
void igt_skip(void);
|
__attribute__((format(printf, 1, 2))) void igt_skip(const char *f, ...);
|
||||||
void __igt_skip_check(const char *file, const int line,
|
void __igt_skip_check(const char *file, const int line,
|
||||||
const char *func, const char *check);
|
const char *func, const char *check);
|
||||||
/**
|
/**
|
||||||
|
@ -51,9 +51,8 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
ret = drmIoctl(fd, CONTEXT_CREATE_IOCTL, &create);
|
ret = drmIoctl(fd, CONTEXT_CREATE_IOCTL, &create);
|
||||||
if (ret != 0 && (errno == ENODEV || errno == EINVAL)) {
|
if (ret != 0 && (errno == ENODEV || errno == EINVAL)) {
|
||||||
printf("Kernel is too old, or contexts not supported: %s\n",
|
igt_skip("Kernel is too old, or contexts not supported: %s\n",
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
igt_skip();
|
|
||||||
} else if (ret != 0) {
|
} else if (ret != 0) {
|
||||||
fprintf(stderr, "%s\n", strerror(errno));
|
fprintf(stderr, "%s\n", strerror(errno));
|
||||||
igt_fail(1);
|
igt_fail(1);
|
||||||
|
@ -644,7 +644,6 @@ int main(int argc, char **argv)
|
|||||||
parse_options(argc, argv);
|
parse_options(argc, argv);
|
||||||
|
|
||||||
card_index = drm_get_card();
|
card_index = drm_get_card();
|
||||||
igt_assert(card_index != -1);
|
|
||||||
|
|
||||||
srandom(time(NULL));
|
srandom(time(NULL));
|
||||||
|
|
||||||
|
@ -628,8 +628,6 @@ static void hang_gpu(struct test_output *o)
|
|||||||
int fd;
|
int fd;
|
||||||
ssize_t r;
|
ssize_t r;
|
||||||
|
|
||||||
igt_assert(card_index != -1);
|
|
||||||
|
|
||||||
snprintf(fname, FILENAME_MAX, "%s/%i/%s",
|
snprintf(fname, FILENAME_MAX, "%s/%i/%s",
|
||||||
dfs_base, card_index, dfs_entry);
|
dfs_base, card_index, dfs_entry);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user