mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-05-05 13:28:04 +02:00
test: use unique names for all the test suite names
This makes it possible to run multiple test suite simultaneously on the same host without messing up the other runs (provided that all instances use the same udev/hwdb files). Previously, removing the udev rules/hwdb at the end of a test run would cause test case failures in other runs that hadn't completed yet. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
This commit is contained in:
parent
a369b2c208
commit
57d4d7d3b4
1 changed files with 16 additions and 9 deletions
|
|
@ -55,13 +55,13 @@
|
|||
#define UDEV_RULE_PREFIX "99-litest-"
|
||||
#define UDEV_HWDB_D "/etc/udev/hwdb.d"
|
||||
#define UDEV_MODEL_QUIRKS_RULE_FILE UDEV_RULES_D \
|
||||
"/91-litest-model-quirks-REMOVEME.rules"
|
||||
"/91-litest-model-quirks-REMOVEME-XXXXXX.rules"
|
||||
#define UDEV_MODEL_QUIRKS_HWDB_FILE UDEV_HWDB_D \
|
||||
"/91-litest-model-quirks-REMOVEME.hwdb"
|
||||
"/91-litest-model-quirks-REMOVEME-XXXXXX.hwdb"
|
||||
#define UDEV_TEST_DEVICE_RULE_FILE UDEV_RULES_D \
|
||||
"/91-litest-test-device-REMOVEME.rules"
|
||||
"/91-litest-test-device-REMOVEME-XXXXXXX.rules"
|
||||
#define UDEV_DEVICE_GROUPS_FILE UDEV_RULES_D \
|
||||
"/80-libinput-device-groups-litest.rules"
|
||||
"/80-libinput-device-groups-litest-XXXXXX.rules"
|
||||
|
||||
static int jobs = 8;
|
||||
static int in_debugger = -1;
|
||||
|
|
@ -1124,17 +1124,20 @@ litest_copy_file(const char *dest, const char *src, const char *header)
|
|||
{
|
||||
int in, out, length;
|
||||
struct created_file *file;
|
||||
int suffixlen;
|
||||
|
||||
file = zalloc(sizeof(*file));
|
||||
litest_assert(file);
|
||||
file->path = strdup(dest);
|
||||
litest_assert(file->path);
|
||||
|
||||
out = open(dest, O_CREAT|O_WRONLY, 0644);
|
||||
suffixlen = file->path + strlen(file->path) - rindex(file->path, '.');
|
||||
out = mkstemps(file->path, suffixlen);
|
||||
if (out == -1)
|
||||
litest_abort_msg("Failed to write to file %s (%s)\n",
|
||||
dest,
|
||||
file->path,
|
||||
strerror(errno));
|
||||
litest_assert_int_ne(chmod(file->path, 0644), -1);
|
||||
|
||||
if (header) {
|
||||
length = strlen(header);
|
||||
|
|
@ -1227,6 +1230,7 @@ static char *
|
|||
litest_init_device_udev_rules(struct litest_test_device *dev)
|
||||
{
|
||||
int rc;
|
||||
int fd;
|
||||
FILE *f;
|
||||
char *path = NULL;
|
||||
|
||||
|
|
@ -1234,7 +1238,7 @@ litest_init_device_udev_rules(struct litest_test_device *dev)
|
|||
return NULL;
|
||||
|
||||
rc = xasprintf(&path,
|
||||
"%s/%s%s.rules",
|
||||
"%s/%s%s-XXXXXX.rules",
|
||||
UDEV_RULES_D,
|
||||
UDEV_RULE_PREFIX,
|
||||
dev->shortname);
|
||||
|
|
@ -1242,8 +1246,11 @@ litest_init_device_udev_rules(struct litest_test_device *dev)
|
|||
(int)(
|
||||
strlen(UDEV_RULES_D) +
|
||||
strlen(UDEV_RULE_PREFIX) +
|
||||
strlen(dev->shortname) + 7));
|
||||
f = fopen(path, "w");
|
||||
strlen(dev->shortname) + 14));
|
||||
|
||||
fd = mkstemps(path, 6);
|
||||
litest_assert_int_ne(fd, -1);
|
||||
f = fdopen(fd, "w");
|
||||
litest_assert_notnull(f);
|
||||
litest_assert_int_ge(fputs(dev->udev_rule, f), 0);
|
||||
fclose(f);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue